我有一台装有两张以太网卡的 PC,我试图配置我的 eth1,但当我输入 时$ iptables -F INPUT
,eth0 上的互联网断线了。有人知道如何恢复我的互联网连接吗?我试过了,$iptables-restore /etc/sysconfig/iptables
但没有用。
我的操作系统是 fedora 17,x32 版本。
更新 1
重启后没有任何变化;我已连接到网络,但没有互联网连接
注:p4p1=eth0 注:p3p1=eth1
$iptables -nL | grep Chain
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
0 0 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:67
646 57716 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
646 39724 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
1826 153K REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
0 0 all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 0
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443
0 0 ACCEPT tcp -- p4p1 * 0.0.0.0/0 0.0.0.0/0 multiport sports 80,443 state RELATED,ESTABLISHED
0 0 ACCEPT tcp -- p4p1 * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443
0 0 ACCEPT tcp -- p4p1 * 0.0.0.0/0 0.0.0.0/0 multiport sports 80,443 state RELATED,ESTABLISHED
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 0
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 0
0 0 ACCEPT udp -- p4p1 * 0.0.0.0/0 0.0.0.0/0 udp spt:53
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4
0 0 ACCEPT tcp -- p4p1 * 0.0.0.0/0 0.0.0.0/0 multiport sports 80,443 state RELATED,ESTABLISHED
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * virbr0 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED
0 0 ACCEPT all -- virbr0 * 192.168.122.0/24 0.0.0.0/0
0 0 ACCEPT all -- virbr0 virbr0 0.0.0.0/0 0.0.0.0/0
0 0 REJECT all -- * virbr0 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
0 0 REJECT all -- virbr0 * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT 250 packets, 20540 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8
0 0 ACCEPT tcp -- * p4p1 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8
0 0 ACCEPT udp -- * p4p1 0.0.0.0/0 0.0.0.0/0 udp dpt:53
0 0 ACCEPT tcp -- * p4p1 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443
- 结尾 -
答案1
重启可能会解决问题。如果你不想重启,可以尝试以下方法:
假设 Fedora 的配置与 RHEL 类似,那么有一个名为“RH-Firewall-1-INPUT”或类似的链,用于包含由 Red Hat 防火墙配置器管理的规则,并且 INPUT 链配置了默认 DROP 策略和将流量推送到 Red Hat 表的规则。
您可以使用
iptables -nL | grep Chain
列出所有链;如果有一个名为“RH-Firewall-1-INPUT”或类似的链,那么
iptables -A INPUT -j RH-Firewall-1-INPUT
(使用防火墙链的名称作为 -j 的参数,如果它实际上不是“RH-Firewall-1-INPUT”)应该可以解决问题 - 这会向 INPUT 链添加一条规则,将所有传入流量推送到 Red Hat 防火墙链,该链(除非它也已被刷新)应正确配置为处理传入流量。
如果这不能恢复您的连接,请在受影响的机器上发布一条带有“iptables -nvL”输出的评论,我会看看能为您做些什么。
更新: 哇。
好的,我首先要删除 INPUT 规则 #9,因为它看起来会阻止任何东西通过 INPUT 链:
iptables -D INPUT 9
请注意,即使这样做有效,您也无法获得任何真正的防火墙保护,因为 INPUT 链上有一个默认的 ACCEPT 策略。如果这样做有效,我建议从头开始重建 INPUT 链。
话虽如此,但我认为它不会起作用;如果在空的 INPUT 链上使用默认的 ACCEPT 策略,您应该可以毫无问题地接受流量,而且听起来刷新 INPUT 表 (iptables -F INPUT) 才是导致问题的根本原因。这让我觉得您的接口设置方式有些不明显,而且我这里确实没有足够的信息来判断发生了什么。
如果您在问题中添加受影响机器上的“ifconfig -a”输出,这可能会有所帮助?除此之外,我真的不知道该建议什么......