Linux确认默认网关有四种主流方法:一、ip -4 route | awk '/default/ {print $3}'直接提取IPv4网关IP;二、route -n查0.0.0.0行的Gateway列;三、nmcli -t -f ipv4.gateway connection show --active读NetworkManager配置;四、netstat -rn找Flags含G的0.0.0.0行的Gateway值。

在Linux系统中确认当前生效的默认网关地址,是排查网络不通、配置代理或调试路由问题的第一步。网关地址错误会导致所有跨子网流量无法发出,哪怕本机IP和DNS都正确也上不了网。
用ip route命令直接提取网关IP
这是现代Linux发行版最推荐的方式,不依赖额外包,输出稳定,且能准确反映内核当前使用的IPv4默认路由。
打开终端,执行:ip -4 route | grep default
若输出为 default via 192.168.1.1 dev eth0 proto dhcp metric 100,则网关就是第3个字段的值——【192.168.1.1】。
想跳过人工识别,直接拿到纯IP:运行 ip -4 route | awk '/default/ {print $3}'。这条命令会忽略所有非default行,只打印第三列,零误差。
用route -n命令查0.0.0.0对应行
适用于较老系统或已习惯传统输出格式的用户;但注意部分新发行版(如Ubuntu 22.04+最小安装)默认不带net-tools,需先运行 sudo apt install net-tools(Debian/Ubuntu)或 sudo dnf install net-tools(RHEL/Fedora)。
执行:route -n
在输出中定位 Destination 列为 0.0.0.0、且 Gateway 列不是 * 的那一行。
该行 Gateway 列的IP即为默认网关。例如:0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 → 网关是 【192.168.1.1】。
用nmcli读取NetworkManager管理的活动连接
当系统使用NetworkManager(桌面环境常见,如GNOME、KDE)且网络由它动态管理时,nmcli能绕过内核路由表,直接从连接配置中拉取网关值,尤其适合DHCP刚获取地址后尚未刷新路由表的短暂窗口期。
方法一:快速查看所有活动连接的网关
运行:nmcli -t -f ipv4.gateway connection show --active
输出形如 ipv4.gateway:192.168.1.1,冒号后即为结果。
方法二:针对指定连接精确定位
先查活动连接名:nmcli connection show --active | head -n1 | awk '{print $1}'
再查其网关:nmcli connection show "Wired connection 1" | grep ipv4.gateway
注意:如果输出为空或显示 ipv4.gateway: --,说明该连接未配置网关(比如仅本地链路),此时应切换回 ip route 查内核实际路由。
用netstat -rn过滤出默认路由
netstat提供更底层的路由缓存视图,适合需要同时比对连接状态的场景;但输出冗长,必须配合过滤才实用。
第一步:执行 netstat -rn
第二步:找 Flags 含 G 且 Destination 为 0.0.0.0 的行
第三步:取该行 Gateway 列的值。例如:0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 → 网关是 【192.168.1.1】。
这一步不能跳过 -n 参数,否则主机名解析可能卡住几秒,还可能把网关IP错显示成路由器主机名(如 www.routerlogin)。


















