我的 iptables 遇到问题。我的虚拟机无法 ping 通 8.8.8.8,但可以 ping 通默认网关。我尝试删除转发和输入链中拒绝 ICMP 的规则,但仍然存在问题。
我的虚拟机 iptables 规则:
# Generated by iptables-save v1.4.21 on Mon Feb 19 11:20:36 2018
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [34:5269]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 192.168.56.0/24 -p icmp -m icmp --icmp-type 8 -m state --state
NEW,RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 192.168.56.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
COMMIT
# Completed on Mon Feb 19 11:20:36 2018
我的主机配置了以下规则:
# Generated by iptables-save v1.4.21 on Mon Feb 19 16:01:15 2018
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [8:752]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Mon Feb 19 16:01:15 2018
答案1
我不确定你的问题到底是什么。您需要进一步定义虚拟机和主机上的接口以及虚拟机网络的设置。您是否对出站流量进行 NAT 处理?您的主机可以 ping 通 8.8.8.8 吗?
要排除数据包过滤器的问题,请禁用两侧的 iptables 限制:
iptables -P INPUT ACCEPT; iptables -P FORWARD ACCEPT; iptables -P OUTPUT ACCEPT
iptables -F INPUT; iptables -F FORWARD; iptables -F OUTPUT
然后,当一切开始工作时,您可以根据需要开始限制流量。
您的虚拟机的 iptables 看起来可以正常通过 ICMP 流量,但通常不需要将 FORWARD 的策略设置为 DROP,除非您启用了 ip_forward。
在主机上...这取决于设置。