此设置的Linux nat/iptables配置

此设置的Linux nat/iptables配置,linux,routing,iptables,nat,Linux,Routing,Iptables,Nat,我有一个4台linux(CentOS)机器的实验设置: 所有4台机器都使用不同的网络进行内部连接,并且可以通过直接连接的接口相互ping。然而,只有PC4可以访问互联网 我正在尝试设置iptable规则,允许PC1通过PC4访问internet,但我不知道如何做到这一点 我尝试在PC2、PC3和PC4上的传出接口添加NAT: iptables -t nat -F POSTROUTING iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

我有一个4台linux(CentOS)机器的实验设置:

所有4台机器都使用不同的网络进行内部连接,并且可以通过直接连接的接口相互ping。然而,只有PC4可以访问互联网

我正在尝试设置iptable规则,允许PC1通过PC4访问internet,但我不知道如何做到这一点

我尝试在PC2、PC3和PC4上的传出接口添加NAT:

iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
但是,这不起作用,您能告诉我如何在这样的设置中使PC1访问10.0.0.1网络???

启用IP转发吗

echo 1 > /proc/sys/net/ipv4/ip_forward
永久设置编辑
/etc/sysctl.conf
并将
0
设置为
1

net.ipv4.ip_forward = 1
要启用在sysctl.conf中所做的更改,需要运行以下命令

sysctl -p /etc/sysctl.conf
NAT的Iptables规则

# /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# /sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
# /sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

谢谢,但每次我收到目标主机禁止的错误,可能是什么原因?我检查了,例如,我从PC1(1.1.1.1)ping到PC3(2.1.1.2),但没有从PC2外部接口进一步传输数据包,似乎有问题,或者只是ping?好的,我得到了,令人惊讶的是,我只需要在最后一台PC上使用NAT,而对于其余部分,我只需要启用ip转发,并且必须删除转发链G中的默认拒绝规则,使用iptables-D FORWARD 1,它正在工作。您应该将此标记为正确答案