没有iptables,telnet smtp.gmail.com 465没问题。 随着,没有去。 然而,港口外运开放…?

这里有关于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”这样的工具来检查你的规则集是否真的在做你想做的事情。