Linux配置静态IP核心是配对参数、写对位置、生效验证:先用ip a查网卡名,再按发行版选Netplan(Ubuntu)、nmcli(RHEL8+)或ifcfg文件(CentOS7),最后逐层验证IP、路由、网关、DNS。

服务器安装完成后配置静态 IP 和网关,核心是让系统脱离 DHCP、固定通信身份,并明确数据发往哪里。关键不在于“装完立刻配”,而在于“配对参数、写对位置、生效验证”。不同发行版工具和路径差异大,但逻辑一致:先确认网卡名和当前网络环境,再修改对应配置,最后激活。
先查清基础信息再动手
别跳过这步——很多连不通的问题都出在这里。
- 用 ip a 或 ip link show 查真实网卡名(如 ens160、enp0s3,不再是老式的 eth0)
- 在宿主机或路由器后台查清楚:你打算分配的 IP 是否空闲、子网掩码(常用 /24 即 255.255.255.0)、网关地址(如 192.168.1.1)、DNS(如 8.8.8.8 和 114.114.114.114)
- 确认虚拟机网络模式:桥接(需与宿主机同网段)或 NAT(需匹配虚拟网络编辑器里的子网,如 192.168.137.0/24)
按发行版选对配置方式
Ubuntu 20.04+、22.04 等新版本默认用 Netplan;RHEL/CentOS 7/8/9 主流用 NetworkManager;老旧 CentOS 6 或 Debian 10 及以前可能仍用传统接口文件。
-
Ubuntu(Netplan):编辑 /etc/netplan/*.yaml,确保缩进严格(空格不能用 Tab),示例:
network: version: 2 renderer: networkd ethernets: ens160: addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 114.114.114.114]保存后运行 sudo netplan apply -
RHEL/CentOS 8+(nmcli):用 nmcli con show 看连接名(如 'Wired connection 1'),然后一次性改全:
sudo nmcli con mod "Wired connection 1" ipv4.addresses 192.168.1.100/24<br>sudo nmcli con mod "Wired connection 1" ipv4.gateway 192.168.1.1<br>sudo nmcli con mod "Wired connection 1" ipv4.dns "8.8.8.8,114.114.114.114"<br>sudo nmcli con mod "Wired connection 1" ipv4.method manual<br>sudo nmcli con down "Wired connection 1" && sudo nmcli con up "Wired connection 1"
-
CentOS 7 / RHEL 7(传统脚本):编辑 /etc/sysconfig/network-scripts/ifcfg-ens160,确保含以下几行:
BOOTPROTO=static<br>IPADDR=192.168.1.100<br>NETMASK=255.255.255.0<br>GATEWAY=192.168.1.1<br>DNS1=8.8.8.8<br>DNS2=114.114.114.114<br>ONBOOT=yes
改完执行 sudo systemctl restart network
配完必须验证是否真通
重启网络服务不等于网络就通了,得逐层验证:
- 用 ip a 确认新 IP 已出现在对应网卡上
- 用 ip route show 看是否有默认路由(default via 192.168.1.1 dev ens160)
- 用 ping -c 3 192.168.1.1 测试网关可达性
- 用 ping -c 3 8.8.8.8 测试外网连通性(绕过 DNS)
- 用 nslookup google.com 或 dig google.com 验证 DNS 解析是否正常
常见连不通的三个坑
不是配置错,就是掉进了这些细节里:
- 网卡名写错:ifcfg-eth0 文件存在,但实际设备是 ens160,改了文件也白搭
- 网关不在同一子网:IP 设 192.168.10.100/24,网关却填 10.0.0.1 —— 路由表直接拒收
- 防火墙拦截 ICMP:ping 不通不等于没通,用 curl -I http://192.168.1.1(如果网关是 Web 管理页)或 telnet 测试端口更可靠











