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

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

我正在尝试查找一台机器的默认网关,但我看到多个接口。

另外,当我从以下网站查找我的 IP 地址时,它给出了一个不同的 IP 地址。我以为默认网关和外部 IP 会相同吗?如果我错了,请纠正我。

https://www.privateinternetaccess.com/pages/whats-my-ip/
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
$ 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

答案1

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

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

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

答案2

第一种方法:

ip route show或者 ip route或者 ip r

在此处输入图片描述

您将获得一些行,其中显示“默认”的行是提供有关默认路由器 IP 的信息的行。

为了缩小结果范围并仅查找/显示“默认”行,您可以像这样进行过滤。

ip r | grep ^def

在此处输入图片描述

第二种方法:

route -n

在此处输入图片描述

Gateway列下您可以看到您想要的网关 IP。

第三种方法:

netstat -rn

在此处输入图片描述

与上面相同,您可以在Gateway列下找到您的网关ip。

结果:在我的例子中,网关 IP 地址是192.168.0.1

答案3

最简单的方法是下拉网络菜单并选择Connection Information并查看那里的网关地址。

否则,terminal您可以输入netstat -rn,第一行默认就是您会看到网关地址的地方。

相关内容