使用 ip route
命令(推荐)
适用场景:现代Linux发行版(CentOS 7+/Ubuntu 18.04+)
步骤:
- 打开终端,执行:
ip route show default
或简写为:
ip r
- 输出解析:
default via 192.168.1.1 dev eth0 proto static metric 100
168.1.1
即默认网关地址dev eth0
表示通过网卡eth0
通信
优势:输出简洁精准,支持新版本系统。
使用 route
命令(传统方式)
适用场景:较旧系统(需安装 net-tools
包)
步骤:
- 安装工具(如未安装):
sudo apt install net-tools # Debian/Ubuntu sudo yum install net-tools # CentOS/RHEL
- 执行命令:
route -n
- 输出解析:
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
- 网关地址在
Gateway
列(目标为0.0.0
的行)
- 网关地址在
注意:-n
参数禁用DNS解析,确保显示IP而非主机名。
通过 nmcli
命令(NetworkManager用户)
适用场景:使用NetworkManager管理网络的系统(如桌面版Ubuntu)
步骤:
nmcli device show eth0 | grep IP4.GATEWAY
输出示例:
IP4.GATEWAY: 192.168.1.1
提示:将 eth0
替换为实际网卡名(通过 ip link
查看)。
查看配置文件(静态配置网关)
适用场景:手动配置静态IP的服务器
- 配置文件路径:
- Debian/Ubuntu:
/etc/network/interfaces
- CentOS/RHEL:
/etc/sysconfig/network-scripts/ifcfg-eth0
- Debian/Ubuntu:
- 查找关键字:
grep "GATEWAY" /etc/sysconfig/network-scripts/ifcfg-eth0
输出示例:
GATEWAY=192.168.1.1
使用 netstat
命令(备用方案)
命令:
netstat -rn
输出解析:
Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
网关地址位于 Gateway
列(目标 0.0.0
的行)。
通过系统日志查询(动态获取网关)
适用场景:DHCP自动分配网关时
journalctl -u NetworkManager | grep "gateway"
或
dmesg | grep "gateway"
输出会包含DHCP分配的网关地址。
总结与建议
- 首选命令:
- 新系统:
ip route show default
- 旧系统:
route -n
- 新系统:
- 常见问题:
- 无网关输出?检查网卡是否启用(
ip link
)。 - 多网卡场景:网关通常仅配置在主网卡上。
- 无网关输出?检查网卡是否启用(
- 操作权限:除查看配置文件外,所有命令均支持普通用户执行。
引用说明: 基于Linux内核文档(kernel.org)、
ip-route
手册页(man ip-route
)及Red Hat/CentOS官方网络配置指南,命令已在Ubuntu 22.04、CentOS 7/8实测验证。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8040.html