从内部到外部networking的转发不起作用

我有一个带有两个NIC的Ubuntu 14.04 LTS服务器。 一个连接到内部networking (eth0,192.168.4.0/24),另一个连接到具有Internet访问权限路由器 (eth1,networking192.168.2.0/24)。

我想实现的是给192.168.4.0/24networking上网的客户端。 所以我跑了下面的命令:

$ echo 1 > /proc/sys/net/ipv4/ip_forward $ iptables -A FORWARD -i eth0 -j ACCEPT $ iptables -A FORWARD -o eth0 -j ACCEPT 

据我所知,客户现在应该能够到达路由器,但它不起作用:

 $ ping 192.168.2.1 Request timeout for icmp_seq 0 

并使NAT作为最后一步不起作用

 $ iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE 

你能告诉我我的错误在哪里吗?

你有没有检查你的路线,例如默认网关? 检查路线-n。

否则,您可以尝试设置规则来路由从build立的连接的数据包。

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