这里有关于iptables的问题。
我的端口465和587在输出链中为我的iptables打开。 然而,试图从我的Fedora Core 10服务器做telnet smtp.gmail.com 465或telnet smtp.gmail.com 587,没有运气,超时。
然而,当我在没有运行iptables的情况下尝试相同的telnet序列时,我立即连接上了。
无论如何,如果有人能够帮助,谢谢。 1.2.3.4是我到服务器的静态主页ip(当然改变了)。
链接INPUT(策略ACCEPT 1375包,161K字节)
pkts字节目标人选退出源目的地
210 17483接受所有 - 任何1.2.3.4任何地方的状态新的,相关的,build立的
0 0 ACCEPT tcp - 任何地方任何地方serverA.myserver.com tcp dpt:smtps
0 0 ACCEPT tcp - 任何1.2.3.4 serverA.myserver.com tcp dpt:mysql
0 0 ACCEPT tcp - 任何任何1.2.3.4 serverA.myserver.com tcp dpt:ndmp
0 0 ACCEPT tcp - 任何地方任何localhost.localdomain tcp dpt:mysql
0 0接受udp - 任何任何localhost.localdomain任何地方udp dpt:mysql
29 3442接受所有 - 任何任何hostingco.ipsubnet / 24 serverA.myserver.com
36 2052 ACCEPT tcp - 任何地方的任何地方serverA.myserver.com tcp dpt:http
0 0 ACCEPT tcp - 任何地方任何地方serverA.myserver.com tcp dpt:https
0 0 ACCEPT icmp - 任何地方的任何serverA.myserver.com
152 7920拒绝所有 - 任何地方serverA.myserver.com拒绝 - 与icmp-port-unreachable
0 0 ACCEPT tcp - any任何1.2.3.4任何地方tcp dpt:mysql状态NEW,ESTABLISHED
链FORWARD(策略接受0包,0字节)
pkts字节目标人选退出源目的地
链OUTPUT(策略ACCEPT 4包,392字节)
pkts字节目标人选退出源目的地
29 2490接受udp - 任何地方的任何地方udp dpt:domain
0 0 ACCEPT tcp - 任何地方的任何地方tcp dpt:domain
2 120 ACCEPT tcp - 任何地方的任何地方tcp dpt:smtp
0 0 ACCEPT tcp - 任何地方的任何地方tcp dpt:pop3
0 0 ACCEPT tcp - 任何地方的任何地方tcp dpt:smtps
0 0 ACCEPT tcp - 任何地方的任何地方tcp dpt:https
0 0 ACCEPT tcp - 任何地方的任何地方tcp dpt:提交
0 0 ACCEPT tcp - 任何地方的任何地方tcp dpt:http
0 0 ACCEPT tcp - 任何地方的任何地方tcp dpt:ftp-data
320 33300接受所有 - 任何地方任何地方状态RELATED,ESTABLISHED
0 0接受tcp - 任何地方的任何地方tcp dpt:telnet
0 0 ACCEPT tcp - 任何地方任何地方的任何eth0 tcp spt:smtps dpt:smtps
是否可以接受传出的数据包:
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A OUTPUT -p tcp --dport 465 -j ACCEPT iptables -A OUTPUT -p tcp --dport 587 -j ACCEPT
但是你的input策略是DROP,你不接受对你的查询作出回应的数据包? 确保你的input链包含[性能优势 – 作为第一条指令]:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
?
尝试将日志添加到输出队列规则:
-A OUTPUT -j LOG --log-prefix "BLOCK_OUT: " --log-level info -A OUTPUT -j REJECT
你将能够看到/ var / log / messages(grep for BLOCK_OUT)来查看哪些iptables正在丢失。
如果您正在使用:
telnet smtp.gmail.com 465
(nslookup /挖smtp.gmail.com也会失败)
那么我怀疑你最终会需要至less一些规则来传递DNS:
-A OUTPUT -p tcp --dport 53 -j ACCEPT -A OUTPUT -p udp --dport 53 -j ACCEPT
使用像“nmap”这样的工具来检查你的规则集是否真的在做你想做的事情。