我就是这个场景,一个运行多个网卡的Debian盒子:
我的目标是允许客户端通过ppp0连接到VPN并将其互联网流量转发到eth0。
现在,客户端可以连接到VPN,他们可以通过eth0 172.20.1.1到达路由器,但他们无法访问谷歌或互联网上的任何其他地方。 (不,这不是DNS问题。我尝试过IP)
如何设置iptables / route以允许此操作?
我认为这个问题与路由有关,因为在debian机器上我可以ping并访问路由器(172.20.1.1),但我没有上网功能。
root@shv1:~# ping 172.20.1.1
PING 172.20.1.1 (172.20.1.1) 56(84) bytes of data.
64 bytes from 172.20.1.1: icmp_req=1 ttl=64 time=0.416 ms
64 bytes from 172.20.1.1: icmp_req=2 ttl=64 time=0.428 ms
^C
--- 172.20.1.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.416/0.422/0.428/0.006 ms
root@shv1:~# ping google.com
PING google.com (173.194.34.197) 56(84) bytes of data.
^C
--- google.com ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3003ms
root@shv1:~# ping 173.194.34.197
PING 173.194.34.197 (173.194.34.197) 56(84) bytes of data.
^C
--- 173.194.34.197 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2004ms
我还尝试使用以下命令将默认网关更改为路由器IP(172.20.1.1):
route add default gw 172.20.1.1 eth0
现在我可以访问互联网,但客户端无法通过拨号连接(ppp0)连接或ping我的机器。
谢谢!
答案 0 :(得分:0)
所以......我设法解决了这个问题:
route add default gw 172.20.1.1 eth0
route add -net 10.0.0.0 netmask 255.0.0.0 ppp0
这会在eth0及其路由器上设置我的默认网关,并为10.x.x.x网络添加新路由。
这样我就可以通过ppp0拨号进入互联网了。