删除特定接口的默认路由的正确语法?

删除特定接口的默认路由的正确语法?

概括:

me@client:~$ sudo route del default ppp0
SIOCDELRT: No such process
me@client:~$ sudo route del default dev ppp0
SIOCDELRT: No such process
me@client:~$ sudo route del -net default dev ppp0
SIOCDELRT: No such process
me@client:~$ sudo route del -net default gw 10.144.15.234 dev ppp0
SIOCDELRT: No such process
me@client:~$ sudo route del -net default netmask 128.0.0.0 gw 10.144.15.234 dev ppp0
SIOCDELRT: No such process
me@client:~$ sudo route del -net default gw 0.0.0.0 dev ppp0
SIOCDELRT: No such process
me@client:~$ sudo route del -net default netmask 255.255.255.255 gw 0.0.0.0 dev ppp0
SIOCDELRT: No such process

细节:

我正在尝试在正在运行的笔记本电脑(称为“客户端”)上调试与 VPN 相关的错误配置

me@client:~$ cat /etc/debian_version
jessie/sid
me@client:~$ uname -rv
3.11-2-amd64 #1 SMP Debian 3.11.8-1 (2013-11-13)
me@client:~$ gcc --version | head -n 1
gcc (Debian 4.8.2-1) 4.8.2
me@client:~$ sudo route --version
[sudo] password for tlroche: 
net-tools 1.60
route 1.98 (2001-04-15)
+NEW_ADDRT +RTF_IRTT +RTF_REJECT +I18N
AF: (inet) +UNIX +INET +INET6 +IPX +AX25 +NETROM +X25 +ATALK +ECONET +ROSE 
HW:  +ETHER +ARC +SLIP +PPP +TUNNEL -TR +AX25 +NETROM +X25 +FR +ROSE +ASH +SIT +FDDI +HIPPI +HDLC/LAPB +EUI64 

在此客户端上,我启动了一个 OpenVPN 客户端(之前在云中启动了 OpenVPN 服务器之后),登录到远程访问网站,并使用该网站的 Web UI 连接到(专有的)F5 SSL VPN(我想要通过 OpenVPN 建立隧道)。 (更多关于设计目标的细节这里以及问题配置这里.) 这会产生

me@client:~$ date ; sudo ifconfig
Thu Jan 22 11:48:43 EST 2015
eth0      Link encap:Ethernet  HWaddr <omitted/>
          inet addr:192.168.1.142  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: <omitted/>
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10224715 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6011530 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12886933501 (12.0 GiB)  TX bytes:677423768 (646.0 MiB)
          Interrupt:20 Memory:f2600000-f2620000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:497 errors:0 dropped:0 overruns:0 frame:0
          TX packets:497 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:51273 (50.0 KiB)  TX bytes:51273 (50.0 KiB)

# Note I get slightly different IP#s for interface=ppp0 each time I run this scenario.

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:10.144.15.234  P-t-P:10.144.0.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:56 (56.0 B)  TX bytes:2418 (2.3 KiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.6  P-t-P:10.8.0.5  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:304 (304.0 B)  TX bytes:304 (304.0 B)

me@client:~$ date ; sudo route -n
Thu Jan 22 11:48:48 EST 2015
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.144.15.100   128.0.0.0       UG    1      0        0 ppp0
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
10.144.0.1      0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
128.0.0.0       10.144.15.100   128.0.0.0       UG    1      0        0 ppp0
134.67.15.30    10.8.0.5        255.255.255.255 UGH   1      0        0 tun0

一旦到了这一点,我就会被指示 (IIUC) 删除 F5VPN 设置的默认路由(在 interface= 上ppp0,用于调试。此外,我需要快速执行此操作,因为(这就是当前错误配置的问题) )错误配置导致 OpenVPN 隧道快速失败,这打破了我想要调试的情况。

因此,令人非常恼火的是,我似乎找不到正确的route语法来执行此操作:

me@client:~$ sudo route del default ppp0
SIOCDELRT: No such process

me@client:~$ sudo route del default dev ppp0
SIOCDELRT: No such process

me@client:~$ sudo route del -net default dev ppp0
SIOCDELRT: No such process

me@client:~$ sudo route del -net default gw 10.144.15.234 dev ppp0
SIOCDELRT: No such process

me@client:~$ sudo route del -net default netmask 128.0.0.0 gw 10.144.15.234 dev ppp0
SIOCDELRT: No such process

me@client:~$ sudo route del -net default gw 0.0.0.0 dev ppp0
SIOCDELRT: No such process

me@client:~$ sudo route del -net default netmask 255.255.255.255 gw 0.0.0.0 dev ppp0
SIOCDELRT: No such process

info route没有帮助,我的网络搜索也没有找到有用的文档。 (这两种情况可能是由于我缺乏网络经验。)我做错了什么?

答案1

根据您问题中包含的路由表,您没有指向 的默认路由ppp0,因此您无法删除它。 (“没有这样的过程”这里的意思是“没有这样的路线”)。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.144.15.100   128.0.0.0       UG    1      0        0 ppp0
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

这是一条指向 0.0.0.0/1 的路由(不是默认路由,默认路由是 0.0.0.0/0),指向 10.144.15.100,使用ppp0,加上一条指向 192.168.1.1 的默认路由,该路由出去eth0

顺便说一下,在 Linux 上,您应该使用该ip命令而不是ifconfigroute、 等命令。使用的语法和输出格式ip更加直观且易于理解和使用。

您应该能够ip route分别使用 和 来查看上述两条路线(以及所有其他路线):

ip route del 0.0.0.0/1 via 10.144.15.100
ip route del default via 192.168.1.1

相关内容