我们的服务器通过 LAN (DHCP) 连接到内部网络,并通过 3G(通过 USB 加密狗)连接到互联网。互联网访问不应暴露给内部网络,反之亦然。
为了能够使用 3G 调制解调器,我遵循了以下两个手册:
https://askubuntu.com/questions/143989/3g-usb-modem-not-working-in-12-04
http://forums.gentoo.org/viewtopic-t-766982.html
现在我这样做时wvdial provider_name
连接就建立了。接口已启动,并且已根据以下设置 IP、DNS 等ifconfig
但是,每当我尝试 ping 任何公共互联网服务器时,它仍然尝试使用 LAN 网络而不是 PPP 接口。
我该如何解决它?
附言:我尝试了以下操作 -先auto ppp0 iface ppp0 inet wvdial
输入上述内容,然后现在启动时它会打开 ppp0 接口,然后我从 LAN 上拔下电缆并重新启动,之后它工作正常,但如果我重新启动服务器并插入 LAN 电缆,它仍然默认使用网关!/etc/network/interfaces
auto eth0
eth0
输出来自ip route show
:
default via 192.168.1.1 dev p2p1
10.64.64.64 dev ppp0 proto kernel scope link src 172.30.50.98
192.168.1.0/24 dev p2p1 proto kernel scope link src 192.168.1.109
我知道有一种方法可以使用 route2 在接口之间进行负载平衡,但在所有手册中我都能发现它们使用静态 IP 和 DNS,而在我的 3G 连接情况下却无法做到这一点......
答案1
好的,找到了。设置默认路由接口的命令是:
$ route add default dev %interface_name%
将 PPP 接口设置为默认接口的问题在于,这应该在接口启动后完成,这可能需要一些时间。因此,作为解决方案,我创建了一个 Upstart 任务,该任务在完成所有其他操作后运行并设置默认接口