puk*_*puk 0 routing iptables ubuntu-14.04
我已经将本地 linux (14.0.4 Ubuntu) 机器设置为路由器,可以执行以下操作:
但我无法 ping google 或 8.8.8.8。我收到以下错误:
ping: unknown host www.google.com
connect: network is unreachable
Run Code Online (Sandbox Code Playgroud)
但是我可以在服务器/路由器上发出这两个命令,没有问题,这让我相信这是一个iptables
相关的问题。有人可以看看下面的代码,我用它来初始化 iptables,并告诉我是否有任何明显的错误。
#!/bin/bash
ethInternal=eth1
ethExternal=eth0
sudo iptables --flush
sudo iptables --table nat --flush
sudo iptables --delete-chain
sudo iptables --table nat --delete-chain
sudo iptables -t nat -A POSTROUTING -o $ethExternal -j MASQUERADE
sudo iptables -A FORWARD -i $ethExternal -o $ethInternal -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i $ethInternal -o $ethExternal -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
编辑 1
client: netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
192.168.66.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Run Code Online (Sandbox Code Playgroud)
编辑 2
client: route add -net default gw 192.168.66.254
client: netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.66.254 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
192.168.66.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Run Code Online (Sandbox Code Playgroud)
编辑 3
SV-01: vi /var/log/kern.log
Run Code Online (Sandbox Code Playgroud)
可以在此处找到日志文件的相关部分。
客户端没有通过您的路由器盒的默认路由。尝试
route add -net default gw a.b.c.d
Run Code Online (Sandbox Code Playgroud)
在客户端上,a.b.c.d
防火墙面向客户端的地址在哪里。