如何在 Linux 中查找网关 IP 地址

J. *_*fer 11 scripting linux tcpip shell gateway

在 Linux 中可以使用什么命令来查找 eth0 的网关 IP 地址(即家庭路由器地址)?

我需要从命令行应用程序获取 IP 地址以在 shell 脚本中使用。

l0c*_*b0x 23

仅打印出默认的网关 IP:

route -n | grep 'UG[ \t]' | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)

打印所有接口的路由信息​​:

route -n
Run Code Online (Sandbox Code Playgroud)

或者

netstat -rn
Run Code Online (Sandbox Code Playgroud)

  • 你可以保存自己的 grep,awk 也可以过滤:`route -n | awk '{if($4=="UG")print $2}'` (2认同)

Mik*_*eyB 13

ip route show 0.0.0.0/0 dev eth0 | cut -d\  -f3
Run Code Online (Sandbox Code Playgroud)

是我的条目:)


Kam*_*iel 5

您可以从netstat -r或的输出中获取系统的默认网关route


wzz*_*zrd 5

$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.199.0   0.0.0.0         255.255.255.240 U         0 0          0 virbr1
192.168.200.0   0.0.0.0         255.255.255.240 U         0 0          0 virbr2
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0
0.0.0.0         192.168.1.254   0.0.0.0         UG        0 0          0 wlan0
Run Code Online (Sandbox Code Playgroud)

0.0.0.0是你的默认网关,指向我这里的192.168.1.254。