让服务器访问外网的关键是配置默认网关:临时用ip route replace default via x dev y立即生效,永久则依发行版修改netplan(ubuntu/debian)、nmcli或ifcfg文件(centos/rhel),须确保网关与网卡同网段并验证可达性。

让服务器能访问外网,关键就是告诉它“往外发的数据该交给谁”——这个“谁”,就是默认网关。配置本身不难,但得区分临时调试和永久生效,还要确保网关地址和本机网卡在同一个子网里。
先确认网卡和网关是否匹配
运行 ip -br addr show 查看启用的网卡(比如 eth0 或 ens33)及其 IPv4 地址(如 192.168.1.10/24)。再核对你要设的网关 IP(比如 192.168.1.1)是否落在同一网段——子网掩码是 /24,那网关必须是 192.168.1.x,不能是 10.0.0.1 或 192.168.2.1。
用 ip route 临时配好,马上验证
这是最安全的起步方式,命令一敲就生效,适合快速测试网关连通性:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- 替换当前默认路由(避免重复):
sudo ip route replace default via 192.168.1.1 dev eth0 - 删掉旧的默认路由(如有):
sudo ip route del default - 检查结果:
ip route show | grep default—— 输出应只有一行,且via和dev都正确 - 立刻验证:
ping -c 3 192.168.1.1(通网关),再ping -c 3 8.8.8.8(通外网)
按系统类型写进配置,实现开机自动
临时配置重启就丢,永久生效得改配置文件,不同发行版写法不同:
-
Ubuntu / Debian(Netplan):编辑
/etc/netplan/*.yaml,在对应网卡下加gateway4: 192.168.1.1,然后运行sudo netplan apply -
CentOS / RHEL(NetworkManager):用命令
sudo nmcli connection modify "System eth0" ipv4.gateway 192.168.1.1,再sudo nmcli connection down "System eth0" && sudo nmcli connection up "System eth0" -
CentOS / RHEL(传统脚本):编辑
/etc/sysconfig/network-scripts/ifcfg-eth0,添加一行GATEWAY=192.168.1.1,重启网络服务sudo systemctl restart NetworkManager
常见问题顺手排查
配完还是上不了网?别急着重装,先盯这几个点:
- 执行
ip route show看 default 行是否存在、是否唯一、via 地址是否正确 - 确认没有多个 default 路由——重复会导致转发混乱
- 检查 DNS 是否可用:
cat /etc/resolv.conf,至少有一行nameserver 8.8.8.8或内网 DNS - 如果服务器本身要当网关(转发其他设备上网),还需开启
net.ipv4.ip_forward=1并配 iptables masquerade 规则










