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

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

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

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

答案1

仅打印出默认的 gw IP:

route -n | grep 'UG[ \t]' | awk '{print $2}'

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

route -n

或者

netstat -rn

答案2

ip route show 0.0.0.0/0 dev eth0 | cut -d\  -f3

是我的参赛作品:)

答案3

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

答案4

从 iproute2 4.14.1 开始,您还可以为许多命令输出 JSON。

因此这将起作用:

ip -j route show 0.0.0.0/0 dev <interface> | jq -r '.[0].gateway'

就你的情况而言:

ip -j route show 0.0.0.0/0 dev eth0 | jq -r '.[0].gateway'

请注意,你需要杰奇为此,但取决于您的环境可能已经可用 - 我知道在我的情况下是这样。

相关内容