Iptables 是否阻止传出的 ssh 连接?

Iptables 是否阻止传出的 ssh 连接?

我一直试图从 github 拉取数据,但一直挂起。我的 iptables 规则没有阻止传出流量的规则,但我无法使用 ssh 或 http 连接到 github。我甚至无法通过 localhost 连接到 ssh 服务器。当我禁用防火墙时,这个问题就消失了。我知道 ssh 服务器允许传入,因为我仅通过 ssh 连接到服务器。

这是我的输出iptables -nvL

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
   92  6872 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:9418
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:5000
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3306
    1    44 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 50 packets, 5664 bytes)
 pkts bytes target     prot opt in     out     source               destination 

我不知道这里发生了什么,在我看来应该允许传出数据包?

答案1

您需要接受已建立连接的规则。通常第一条规则应采用这种形式。

-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

您似乎还缺少接受 IP 正常运行所需的 ICMP 数据包的规则。

-A INPUT -p 1 --icmp-type 3/4 -j ACCEPT -m comment --comment "Needed ICMP types"
-A INPUT -p 1 --icmp-type 11 -j ACCEPT -m comment --comment "Needed ICMP types"

答案2

乍一看,你好像丢弃了返回的包。将以下规则添加到你的 iptables 中:

/usr/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

接受退回包裹。

相关内容