Linux
從內部網路轉發到外部網路不起作用
我有一個帶有兩個 NIC 的 Ubuntu 14.04 LTS 伺服器。一個連接到內部網路(eth0,192.168.4.0/24),另一個連接到可以訪問網際網路的路由器(eth1,網路192.168.2.0/24)。
我想要實現的是讓192.168.4.0/24網路的客戶端可以上網。所以我執行了以下命令:
$ 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。
否則,您可以嘗試設置規則以從已建立的連接中路由回數據包。
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