CentOs 6 作为防火墙,将流量从 eth1 转发到 eth0 -> 禁止目标主机
CentOs 6 as Firewall, forward traffic from eth1 to eth0 -> destination host prohibited
我正在使用 CentOs 6.0 设置防火墙进行测试。我在两个虚拟机上执行此操作。
第一个 VM(防火墙)有 2 个接口:
eth0 - 使用 10.0.2.10 连接到 NAT,访问互联网
eth1 - 使用 20.0.0.1
连接到本地 vm 网络
第二个虚拟机(服务器)有 1 个接口:
eth0 - 使用 20.0.0.2 连接到本地 vm 网络,网关 20.0.0.1.
他们都有静态 ip 和 dns。我想要做的是让服务器通过防火墙 VM 进行 inet 访问,为此我已经完成了这些配置:
VM1-防火墙:
/etc/sysctl.conf net.ipv4.ip_forward 1
iptables -t nat -A POSTROUTING --out-interface eth0 -j 化装舞会
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 但它应该与此配置有关,不是吗?
非常感谢!
由于默认拒绝防火墙策略,您应该使用
iptables -t nat -I POSTROUTING --out-interface eth0 -j MASQUERADE
iptables -I FORWARD --in-interface eth1 -j ACCEPT
-一个选项在 iptables 链的 end 附加规则。默认丢弃策略将首先丢弃数据包并忽略进一步的匹配规则。
我正在使用 CentOs 6.0 设置防火墙进行测试。我在两个虚拟机上执行此操作。
第一个 VM(防火墙)有 2 个接口: eth0 - 使用 10.0.2.10 连接到 NAT,访问互联网 eth1 - 使用 20.0.0.1
连接到本地 vm 网络第二个虚拟机(服务器)有 1 个接口: eth0 - 使用 20.0.0.2 连接到本地 vm 网络,网关 20.0.0.1.
他们都有静态 ip 和 dns。我想要做的是让服务器通过防火墙 VM 进行 inet 访问,为此我已经完成了这些配置:
VM1-防火墙: /etc/sysctl.conf net.ipv4.ip_forward 1 iptables -t nat -A POSTROUTING --out-interface eth0 -j 化装舞会 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 但它应该与此配置有关,不是吗?
非常感谢!
由于默认拒绝防火墙策略,您应该使用
iptables -t nat -I POSTROUTING --out-interface eth0 -j MASQUERADE
iptables -I FORWARD --in-interface eth1 -j ACCEPT
-一个选项在 iptables 链的 end 附加规则。默认丢弃策略将首先丢弃数据包并忽略进一步的匹配规则。