如何查看Linux的默认网关?
参考回答
在 Linux 中,可以使用以下命令查看默认网关:
1. 使用 ip route
(推荐方式)
或者更简洁:
示例输出:
default via 192.168.1.1 dev eth0 proto dhcp metric 100
其中:
– default via 192.168.1.1
表示默认网关是 192.168.1.1
。
– dev eth0
表示该网关对应的网卡是 eth0
。
2. 使用 route
命令(传统方式)
示例输出:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
其中:
– 0.0.0.0
代表默认路由。
– Gateway
列显示 192.168.1.1
,即默认网关。
3. 使用 netstat
(已废弃但仍可能可用)
这个命令的输出格式与 route -n
类似,显示路由表信息。
详细讲解与拓展
1. ip route show default
解析
ip route
是 ip
命令的子命令,用于管理路由表,它比 route
更现代,适用于所有较新的 Linux 发行版。
它的输出:
default via 192.168.1.1 dev eth0 proto dhcp metric 100
各字段解释:
– default
:表示默认路由,即所有未明确指定去向的流量都经过这个网关。
– via 192.168.1.1
:表示数据包通过 192.168.1.1
这个网关转发。
– dev eth0
:表示该网关绑定的网络接口是 eth0
。
– proto dhcp
:表示该路由是由 DHCP 分配的。
– metric 100
:表示该路由的优先级,数值越小优先级越高。
2. route -n
解析
route -n
直接显示 IP 地址,不进行 DNS 解析,输出类似:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
关键字段:
– Destination
:目的地址,0.0.0.0
代表默认路由。
– Gateway
:网关地址,192.168.1.1
。
– Iface
:网络接口,eth0
。
– Flags
:U
表示路由可用,G
表示它是一个网关。
3. netstat -rn
(已过时,不推荐)
netstat -rn
结果与 route -n
相似,但 netstat
命令本身已被 ss
替代,不推荐使用。
拓展知识
1. 获取特定网卡的默认网关
如果有多个网卡(如 eth0
和 wlan0
),可以查看某个特定网卡的默认网关:
2. 查看所有网关
除了默认网关,还可以列出所有路由信息:
示例:
default via 192.168.1.1 dev eth0 proto dhcp metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100
这里:
– 192.168.1.0/24
代表本地网络。
– src 192.168.1.100
是当前网卡的 IP 地址。
3. 如何修改默认网关?
如果想手动修改默认网关,可以使用:
如果要删除原来的默认网关:
总结
- 推荐使用
ip route show default
方式查看默认网关,更现代、适用所有新版本 Linux。 route -n
仍然可用,但逐渐被淘汰。netstat -rn
已过时,不建议使用。ip route show
可以查看完整的路由表,适用于多网卡场景。- 如果需要修改默认网关,可以用
ip route add default via <网关IP> dev <网卡>
。
掌握这些命令,能帮助你快速查找、理解和管理 Linux 网络路由信息。