网关的作用
网关(Gateway)是连接本地网络与其他网络(如互联网)的设备,通常是路由器的IP地址,未正确设置网关将导致无法访问外部网络。
临时设置网关(重启失效)
方法1:使用 ip route 命令
sudo ip route add default via 192.168.1.1 dev eth0
168.1.1:替换为你的网关IPeth0:替换为你的网卡名称(通过ip link show查看)
方法2:使用 route 命令(旧版系统)
sudo route add default gw 192.168.1.1 eth0
永久设置网关(重启生效)
方法1:修改配置文件(推荐)
-
编辑网卡配置文件
根据系统选择路径:- Debian/Ubuntu:
/etc/network/interfaces - CentOS/RHEL:
/etc/sysconfig/network-scripts/ifcfg-eth0(eth0为网卡名) - 新版本系统(如Ubuntu 18.04+):使用NetPlan(配置文件在
/etc/netplan/*.yaml)
- Debian/Ubuntu:
-
配置文件示例
Debian/Ubuntu(传统方式):sudo nano /etc/network/interfaces
auto eth0 iface eth0 inet static address 192.168.1.100 # 本机IP netmask 255.255.255.0 gateway 192.168.1.1 # 网关IP
CentOS/RHEL:
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
修改或添加:
BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1
NetPlan(Ubuntu 18.04+):
sudo nano /etc/netplan/01-netcfg.yaml
network: version: 2 ethernets: eth0: addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1] -
应用配置
- Debian/Ubuntu(传统):
sudo systemctl restart networking - CentOS/RHEL:
sudo systemctl restart network - NetPlan:
sudo netplan apply
- Debian/Ubuntu(传统):
方法2:通过 nmcli(NetworkManager工具)
sudo nmcli con mod "有线连接1" ipv4.gateway "192.168.1.1" sudo nmcli con up "有线连接1" # 激活连接
- 通过
nmcli con show查看连接名称。
验证网关设置
-
检查当前网关
ip route show | grep default # 或 route -n
输出应显示:
default via 192.168.1.1 dev eth0 -
测试网络连通性
ping 8.8.8.8 # 测试访问公网IP ping www.google.com # 测试DNS解析(需确保DNS已配置)
常见问题排查
-
网关设置未生效
- 检查配置文件语法(如YAML缩进、分号缺失)。
- 重启网络服务:
sudo systemctl restart NetworkManager或对应服务。
-
能ping通网关但无法上网
- 检查DNS配置:在
/etc/resolv.conf中添加nameserver 8.8.8.8。 - 防火墙拦截:临时关闭测试
sudo iptables -F。
- 检查DNS配置:在
-
网关IP错误
- 确认网关IP:在路由器后台查看或使用
ip route观察其他设备。
- 确认网关IP:在路由器后台查看或使用
- 临时调整:用
ip route或route命令快速测试。 - 永久配置:通过系统配置文件或
nmcli固化设置。 - 关键验证:始终通过
ip route和ping双重确认。 - 安全建议:修改配置前备份原文件(如
cp ifcfg-eth0 ifcfg-eth0.bak)。
引用说明基于Linux官方文档(kernel.org)及主流发行版实践指南(Ubuntu/CentOS Wiki),确保方法通用且经过验证,命令行操作需root权限,请谨慎执行。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/10132.html