Linux上网配置的核心在于管理网络接口、IP地址、路由和DNS,对运维人员而言,掌握命令行配置方式比依赖图形界面更可靠,无论使用静态IP还是DHCP,关键在于理解配置文件的生效机制、网络服务的重启方式,以及故障排查的基本命令。
先确认网络环境与接口名称
在动手配置前,先执行以下命令查看当前网络状态:
ip addr查看所有网络接口及IP地址ip route show查看路由表nmcli device status查看NetworkManager管理的设备状态ping -c 4 223.5.5.5测试外部连通性
现代Linux系统使用一致的接口命名规则,如ens33、enp0s3,而不是传统的eth0,确认接口名称后再修改配置,避免因名称错误导致网络无法启动。
两种主流配置方案
使用NetworkManager(推荐桌面环境)
大多数桌面Linux发行版默认使用NetworkManager,查看连接列表:
nmcli connection show
修改某个连接的IP模式:
nmcli connection modify "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.1.100/24
nmcli connection modify "Wired connection 1" ipv4.gateway 192.168.1.1
nmcli connection modify "Wired connection 1" ipv4.dns "223.5.5.5 119.29.29.29"
nmcli connection up "Wired connection 1"
优点是配置即时生效,且不依赖系统重启,适合频繁变更网络的工作场景。
直接修改配置文件(适合服务器)
服务器环境通常禁用NetworkManager,直接编辑/etc/network/interfaces(Debian/Ubuntu)或/etc/sysconfig/network-scripts/ifcfg-

(CentOS/RHEL)。
Debian/Ubuntu静态IP示例:
auto ens33
iface ens33 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 223.5.5.5 119.29.29.29
CentOS/RHEL静态IP示例:
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=223.5.5.5
DNS2=119.29.29.29
修改后执行systemctl restart networking或systemctl restart network使配置生效。
临时配置(测试用)
如果只想临时改IP而不持久化,直接使用ip命令:
ip addr add 192.168.1.100/24 dev ens33
ip route add default via 192.168.1.1
echo "nameserver 223.5.5.5" > /etc/resolv.conf
重启后失效,但适合快速验证连通性。
DNS与resolv.conf的坑
很多Linux上网故障并非IP错误,而是DNS问题,检查/etc/resolv.conf是否包含有效DNS:
nameserver 223.5.5.5
nameserver 119.29.29.29
注意,systemd-resolved或NetworkManager可能会覆盖该文件,如果发现DNS被自动改写,可以用nmcli设置或直接禁用系统dns处理:
nmcli connection modify "Wired connection 1" ipv4.ignore-auto-dns yes
测试DNS解析:
nslookup example.com
dig example.com
路由配置的关键
默认路由错误会导致能解析域名但无法访问外网,查看当前路由:
ip route show
添加或删除默认路由:
ip route add default via 192.168.1.1 dev ens33
ip route del default
如果需要发送所有流量走特定网关,还可以配置策略路由,但普通场景只有一个默认网关即可。

图形界面与命令行的选择
- 桌面版用户:使用
nm-connection-editor图形工具,直观且不易出错。 - 服务器版用户:坚持使用配置文件,便于自动化管理和版本控制。
- 云服务器用户:通常通过控制台修改安全组和弹性IP,系统内只需确认DHCP获取正确即可。
酷番云经验案例
我们在酷番云上部署一台CentOS 7云服务器时,遇到重启后网络不可用的问题,排查发现,原因是ifcfg-eth0中ONBOOT=no,导致重启后网卡未自动激活,之后我们统一使用酷番云控制台的VNC登录,执行systemctl enable network,并修改ONBOOT=yes,同时将BOOTPROTO=dhcp(云环境默认使用DHCP获取私网IP),问题立即解决。
给用户的建议: 酷番云不同轻量应用服务器和云服务器,系统初始化后都不需要手动配置IP,因为底层通过DHCP自动分配,如果你在酷番云上自定义了静态IP,务必确保IP与VPC网段一致,且不要修改默认网关,否则会导致网络完全不可达,此时只能用VNC(即网页终端)进入系统,执行dhclient重新获取IP,或者恢复原配置文件。
常见故障快速排查流程
ip addr确认网卡有IP,若没有,检查网线/虚拟网络开关。ip route确认默认路由存在。ping 网关,不通则说明二层链路问题。ping 8.8.8.8,通则说明网络直通,问题在DNS。- 检查
和系统防火墙
/etc/resolv.conf
ufw/firewalld是否有拦截。
相关问答
问:Linux配置静态IP后无法上网,但IP和网关看着都对,是为什么?
可能原因是未设置DNS或DNS被覆盖,先检查/etc/resolv.conf里是否有nameserver,如果没有就添加nameserver 223.5.5.5;如果有但无法解析,可能被NetworkManager接管,用nmcli connection modify设置DNS并执行nmcli connection up,确认网关是否可达,比如arping -c 3 网关IP,如果网关不通则检查路由和vlan配置。
问:修改配置文件后,重启网络服务提示失败,怎么处理?
首先执行ip addr查看接口名是否与配置文件中一致,Debian系检查/etc/network/interfaces是否同时使用了auto和allow-hotplug,两者不能混用,CentOS检查ifcfg-文件中的NAME与DEVICE是否一致,且ONBOOT=yes,可使用journalctl -xe或systemctl status network查看具体报错,最直接的测试方法是先备份原文件,然后用dhclient临时恢复网络,再细致修改。
Linux上网配置其实并不复杂,掌握接口、IP、路由、DNS四要素后,任何网络故障都可通过这四个维度逐层排查,建议你从现在开始,用命令行的方式操作网络配置,因为图形界面总有一天会无响应,而命令行的可靠性才是运维的基石,如果你在配置过程中遇到特定报错,欢迎在评论区留下你的问题和系统版本,我会针对具体场景给出更详细的解决步骤。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/706716.html

