我有一个带有两个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