在 Ubuntu 和 CentOS 中配置静态 IP 的方法有所不同,主要因为两者使用的网络管理工具不同。以下是详细步骤:
Ubuntu(18.04 及更新版本,使用 netplan)
1. 查看网卡名称
ip a
记录网卡名称(如 ens33、eth0)。
2. 编辑 netplan 配置文件
sudo nano /etc/netplan/00-installer-config.yaml
(文件名可能不同,但位于 /etc/netplan/ 下,格式为 .yaml)
3. 配置静态 IP
修改文件内容如下(示例):
network:version: 2renderer: networkd # 或 NetworkManager(桌面版)ethernets:ens33: # 你的网卡名称dhcp4: noaddresses: [192.168.1.100/24] # IP/子网掩码gateway4: 192.168.1.1 # 网关nameservers:addresses: [8.8.8.8, 1.1.1.1] # DNS
📌 注意:
gateway4在较新版本中可能已弃用,改用routes(如 Ubuntu 22.04+)。- 桌面版建议使用
renderer: NetworkManager。
4. 应用配置
sudo netplan apply
CentOS 7(使用 ifcfg 文件)
1. 查看网卡名称
ip a
记录网卡名称(如 ens33、eth0)。
2. 编辑网卡配置文件
sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33
修改内容如下:
DEVICE=ens33
BOOTPROTO=none # 静态 IP
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0 # 或 PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=1.1.1.1
TYPE=Ethernet
3. 重启网络服务
sudo systemctl restart network
CentOS 8/Stream(使用 nmcli 或 ifcfg)
方法 1:使用 nmcli(推荐)
sudo nmcli con modify "ens33" \ipv4.method manual \ipv4.addresses "192.168.1.100/24" \ipv4.gateway "192.168.1.1" \ipv4.dns "8.8.8.8,1.1.1.1"
激活配置:
sudo nmcli con up "ens33"
方法 2:手动编辑 ifcfg 文件(同 CentOS 7)
配置文件路径仍为 /etc/sysconfig/network-scripts/ifcfg-ens33,但需安装传统网络服务:
sudo dnf install network-scripts -y
验证配置
ip a show ens33 # 检查 IP
ping 8.8.8.8 # 测试网络连通性
nslookup google.com # 测试 DNS
常见问题
1. 网络服务重启失败
- Ubuntu:检查
netplan文件缩进(YAML 对格式敏感)。 - CentOS 7:确保
ONBOOT=yes。 - CentOS 8+:如果使用
network-scripts,需禁用NetworkManager:sudo systemctl disable --now NetworkManager sudo systemctl enable --now network
2. 网关无法访问
- 确认网关 IP 是否正确(如
ip route show)。 - 检查防火墙是否拦截:
sudo systemctl stop firewalld # 临时关闭(CentOS) sudo ufw disable # Ubuntu
总结对比
| 系统 | 配置工具 | 配置文件路径 | 生效命令 |
|---|---|---|---|
| Ubuntu | netplan | /etc/netplan/*.yaml | sudo netplan apply |
| CentOS 7 | ifcfg | /etc/sysconfig/network-scripts/ifcfg-* | sudo systemctl restart network |
| CentOS 8+ | nmcli 或 ifcfg | 同上(需安装 network-scripts) | sudo nmcli con up <名称> |
💡 提示:
- 云服务器(如 AWS/Aliyun)可能需要额外配置云平台网络接口。
- 无线网卡配置需指定
wifis:(Ubuntu)或TYPE=WiFi(CentOS)。