我有一台 Debian 机器,其网络情况如下:
- eth0- 通过本地路由器 (172.20.1.x) 连接互联网
- 点对点0- 拨号上网(无互联网)(10.xxx)
我已经设置了 pppd,因此它不会向我的路由表添加任何默认路由,并且启动系统后我的路由表如下所示:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.20.1.1 0.0.0.0 UG 0 0 0 eth0
10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.20.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
通过此配置,我可以ping google.com但是我无法访问任何 IP 为 10.0.0.1 或 10.0.0.2 等的机器……
为了修复这个问题(凭借我贫乏的知识),我将/etc/network/interfaces
文件修改为:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto ppp0
iface ppp0 inet ppp
pre-up sleep 5
provider vfp
post-up /sbin/route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.64.64.64
pre-down /sbin/route del -net 10.0.0.0 netmask 255.0.0.0 gw 10.64.64.64
但显然应该添加路由以使其工作的命令post-up /sbin/route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.64.64.64
没有生效 - 路由表上没有任何变化。
我遗漏了什么?/我该如何解决这个问题?谢谢 ;)
附言:如果我route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.64.64.64
在系统启动后运行,我就能够从系统 ping google.com 和 10.0.0.1。
答案1
要添加或删除连接路由,ppp
我不使用interfaces
文件。我分别在/etc/ppp/ip-up.d
和中添加脚本。您只需使用命令将脚本放在那里即可。/etc/ppp/ip-down.d
route