在linux系统中,默认网关是主机访问外部网络的关键出口。如果默认网关配置不正确,机器就只能和同网段设备通信,无法连上互联网或其他子网。本文介绍几种常用的linux设置默认网关的方法,包含临时生效与永久生效两种场景。

一、查看当前路由与网关
在修改之前,先确认现有的路由表。可以使用如下命令:
# 查看路由表 route -n # 或者使用 ip 命令 ip route show
输出中 Destination 为 0.0.0.0 的那一行,Gateway 列就是当前默认网关地址。
二、使用命令行临时设置默认网关
1. 通过 route 命令
假设网卡是 eth0,网关地址是 192.168.1.1,添加默认网关命令如下:
# 添加默认网关 route add default gw 192.168.1.1 eth0 # 删除已有默认网关 route del default gw 192.168.1.1
2. 通过 ip 命令
ip 命令更为现代,推荐在新版发行版中使用:
# 添加默认网关 ip route add default via 192.168.1.1 dev eth0 # 删除默认网关 ip route del default via 192.168.1.1
上述方式重启后会失效,仅适合临时调试。
三、永久配置默认网关
1. CentOS 系列
编辑网卡配置文件,例如 /etc/sysconfig/network-scripts/ifcfg-eth0,增加一行:
GATEWAY=192.168.1.1
保存后重启网络服务:
systemctl restart network
2. Ubuntu 系列
在 Ubuntu 18.04 之后使用 netplan,修改 /etc/netplan/01-netcfg.yaml:
network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.1.10/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8]
应用配置:
netplan apply
四、注意事项
- 确保网关 IP 与本机 IP 在同一网段,否则路由无法生效。
- 若使用
route或ip命令时提示权限不足,请在前面加 sudo。 - 配置永久网关前最好备份原文件,避免网络中断后无法远程连接。
当服务器有多块网卡时,要注意默认网关只能有一个,否则会产生路由冲突。
掌握以上 linux 设置默认网关的方法,就能应对大部分网络出口配置需求。遇到不通外网时,优先检查默认网关是否指向正确设备。