如何找到机器的默认网关?

use*_*619 12 networking

我试图找到一台机器的默认网关,但我看到了多个接口。

另外,当我从下面的网站找到我的 IP 地址时,它给了我一个不同的 IP 地址。我以为默认网关和外部 IP 是一样的?如果我错了纠正我。

https://www.privateinternetaccess.com/pages/whats-my-ip/
Run Code Online (Sandbox Code Playgroud)
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.2.0.0        192.168.255.9   255.255.255.0   UG    0      0        0 tun0
192.168.33.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.255.1   192.168.255.9   255.255.255.255 UGH   0      0        0 tun0
192.168.255.5   0.0.0.0         255.255.255.255 UH    0      0        0 tun4
192.168.255.5   0.0.0.0         255.255.255.255 UH    0      0        0 tun6
192.168.255.5   0.0.0.0         255.255.255.255 UH    0      0        0 tun5
192.168.255.5   0.0.0.0         255.255.255.255 UH    0      0        0 tun2
192.168.255.9   0.0.0.0         255.255.255.255 UH    0      0        0 tun0
192.168.255.13  0.0.0.0         255.255.255.255 UH    0      0        0 tun3
192.168.255.13  0.0.0.0         255.255.255.255 UH    0      0        0 tun1
Run Code Online (Sandbox Code Playgroud)
$ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         10.0.2.2        0.0.0.0         UG        0 0          0 eth0
10.0.2.0        *               255.255.255.0   U         0 0          0 eth0
10.2.0.0        192.168.255.5   255.255.255.0   UG        0 0          0 tun6
192.168.33.0    *               255.255.255.0   U         0 0          0 eth1
192.168.255.1   192.168.255.5   255.255.255.255 UGH       0 0          0 tun6
192.168.255.5   *               255.255.255.255 UH        0 0          0 tun6
192.168.255.5   *               255.255.255.255 UH        0 0          0 tun3
192.168.255.5   *               255.255.255.255 UH        0 0          0 tun2
192.168.255.5   *               255.255.255.255 UH        0 0          0 tun4
192.168.255.9   *               255.255.255.255 UH        0 0          0 tun5
192.168.255.13  *               255.255.255.255 UH        0 0          0 tun0
192.168.255.13  *               255.255.255.255 UH        0 0          0 tun1
Run Code Online (Sandbox Code Playgroud)

Rav*_*ina 17

destination 0.0.0.0genmask 0.0.0.0匹配路由表中未定义的任何其他数据包(最后出路),因此您的默认网关是:10.0.2.2

您还可以使用:

$ ip r | grep ^def
default via 192.168.1.1 dev enp3s0  proto static  metric 100
Run Code Online (Sandbox Code Playgroud)

我认为默认网关和外部 ip 将是相同的。

不正确,例如,您可以使用内部 IP 地址将流量转发到路由器,但您的路由器将使用其自己的公共 IP (NAT) 替换源地址。

  • 或者只获取 IP:`ip route | awk '/default/ {打印 $3; 退出}'` (3认同)