我有这种情况,一个运行多个网卡的 Debian 盒子:
- eth0 - 通过本地路由器的 Internet 连接(172.20.1.x,255.255.255.0)
- ppp0 - 拨号到没有互联网的网络 (10.xxx , 255.255.255.255)
- tun0 - 虚拟 OpenVPN Tun 接口 (172.50.1.x, 255.255.255.255)
我的目标是允许客户端通过 ppp0 连接到 VPN 并将他们的互联网流量转发到 eth0。
目前,客户端可以连接到 VPN,并且可以访问 eth0 172.20.1.1 上的路由器,但无法访问 google 或 Internet 上的其他任何地方。(不,这不是 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 我的机器。
谢谢!