我正在使用CentOs 6.0设置防火墙进行测试。我在两个虚拟机上做这个。
第一个VM(防火墙)有2个接口: eth0 - 使用10.0.2.10连接到NAT,访问Internet eth1 - 使用20.0.0.1
连接到本地虚拟机网络第二个VM(服务器)有1个接口: eth0 - 使用20.0.0.2,GATEWAY 20.0.0.1连接到本地虚拟网络。
他们都有静态ip和dns。我想要做的是服务器无法通过防火墙VM访问,为此我已经完成了这些配置:
VM1-防火墙: /etc/sysctl.conf net.ipv4.ip_forward 1 iptables -t nat -A POSTROUTING --out-interface eth0 -j MASQUERADE iptables -A FORWARD --in-interface eth1 -j ACCEPT
VM2-服务器: 只需设置网关是防火墙20.0.0.1,DNS是8.8.8.8
当我尝试ping时,例如,8.8.8.8它表示目的地主机被禁止。
有谁能告诉我我做错了什么?我认为这是iptables不会将流量从eth1重定向到eth0,但它应该使用此配置,不是吗?
非常感谢!
答案 0 :(得分:0)
由于默认拒绝防火墙策略,您应该使用
iptables -t nat -I POSTROUTING --out-interface eth0 -j MASQUERADE
iptables -I FORWARD --in-interface eth1 -j ACCEPT
-A选项将规则附加到iptables链的 end 。默认丢弃策略将首先丢弃数据包并忽略进一步的匹配规则。