如何在 Linux 上查找默认网关
在 TCP/IP 网络中,默认网关为主机提供默认路由以将流量发送到远程网络。这里的“默认”意味着主机将始终依赖此网关来发送流量,除非它知道如何路由流量。
要找出 Linux 上使用的默认网关,您可以参考本地路由表。
ip
命令显示本地路由表。
$ ip route show
default via 192.168.1.1 dev wlan0 proto static
169.254.0.0/16 dev wlan0 scope link metric 1000
172.16.199.0/24 dev vmnet1 proto kernel scope link src 172.16.199.1
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.4 metric 9
192.168.233.0/24 dev vmnet8 proto kernel scope link src 192.168.233.1
在路由表中,以“default via
”开头的行显示有关 Linux 系统上配置的默认路由的信息。该信息包括默认网关的 IP 地址以及可到达该网关的网络接口。
在此示例中,192.168.1.1
是默认网关,可通过 wlan0
网络接口访问。
如果您正在编写需要以编程方式获取默认网关的 IP 地址的 shell 脚本,则以下命令可能会很有用。它将打印出默认网关的IP地址。
$ ip route show | grep 'default' | awk '{print $3}'
192.168.1.1
因此,在您的脚本中,您可以轻松地将默认网关的 IP 地址存储到变量中,如下所示。
#!/bin/sh
default_gateway_ip=`ip route show | grep 'default' | awk '{print $3}'`