0

我有这种情况,一个运行多个网卡的 Debian 盒子:

  1. eth0 - 通过本地路由器的 Internet 连接(172.20.1.x,255.255.255.0)
  2. ppp0 - 拨号到没有互联网的网络 (10.xxx , 255.255.255.255)
  3. 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 我的机器。

谢谢!

4

1 回答 1

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.xxx 网络添加一条新路由。

这样我就可以访问互联网,并且仍然可以通过 ppp0 拨号访问。

于 2012-07-28T15:26:56.723 回答