Ubuntu 和 CentOS 中配置静态 IP

在 Ubuntu 和 CentOS 中配置静态 IP 的方法有所不同,主要因为两者使用的网络管理工具不同。以下是详细步骤:


Ubuntu(18.04 及更新版本,使用 netplan

1. 查看网卡名称

bash 复制代码
ip a

记录网卡名称(如 ens33eth0)。

2. 编辑 netplan 配置文件

bash 复制代码
sudo nano /etc/netplan/00-installer-config.yaml

(文件名可能不同,但位于 /etc/netplan/ 下,格式为 .yaml

3. 配置静态 IP

修改文件内容如下(示例):

yaml 复制代码
network:
  version: 2
  renderer: networkd  # 或 NetworkManager(桌面版)
  ethernets:
    ens33:  # 你的网卡名称
      dhcp4: no
      addresses: [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. 应用配置

bash 复制代码
sudo netplan apply

CentOS 7(使用 ifcfg 文件)

1. 查看网卡名称

bash 复制代码
ip a

记录网卡名称(如 ens33eth0)。

2. 编辑网卡配置文件

bash 复制代码
sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33

修改内容如下:

ini 复制代码
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. 重启网络服务

bash 复制代码
sudo systemctl restart network

CentOS 8/Stream(使用 nmcliifcfg

方法 1:使用 nmcli(推荐)

bash 复制代码
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"

激活配置:

bash 复制代码
sudo nmcli con up "ens33"

方法 2:手动编辑 ifcfg 文件(同 CentOS 7)

配置文件路径仍为 /etc/sysconfig/network-scripts/ifcfg-ens33,但需安装传统网络服务:

bash 复制代码
sudo dnf install network-scripts -y

验证配置

bash 复制代码
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

    bash 复制代码
    sudo systemctl disable --now NetworkManager
    sudo systemctl enable --now network

2. 网关无法访问

  • 确认网关 IP 是否正确(如 ip route show)。

  • 检查防火墙是否拦截:

    bash 复制代码
    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+ nmcliifcfg 同上(需安装 network-scripts sudo nmcli con up <名称>

💡 提示

  • 云服务器(如 AWS/Aliyun)可能需要额外配置云平台网络接口。
  • 无线网卡配置需指定 wifis:(Ubuntu)或 TYPE=WiFi(CentOS)。
相关推荐
blasit3 分钟前
Ubuntu 20.04.6交叉编译得到Ubuntu 16.04.6的可执行文件
linux·运维·ubuntu
墨雨听阁2 小时前
8.26网络编程——Modbus TCP
网络·网络协议·学习·tcp/ip
尘似鹤2 小时前
freeModbus TCP收发数据一段时间后,出现掉线情况(time out问题)
网络·tcp/ip·modbus
满目8283 小时前
【Ubuntu系统实战】一站式部署与管理MySQL、MongoDB、Redis三大数据库
数据库·redis·mysql·mongodb·ubuntu·数据库布置
zzz100665 小时前
CentOS 7 服务器初始化:从 0 到 1 的安全高效配置指南
服务器·安全·centos
一川月白7097 小时前
Linux应用软件编程---网络编程(TCP:[ 其他机制、头部标志位、应用示例 ]、 HTTP:[ 万维网、概念、格式、报文、应用示例 ]
linux·网络·tcp/ip·http·linux应用软件编程
愚润求学8 小时前
【Linux】Socket编程——TCP版
linux·运维·服务器·c++·网络协议·tcp/ip
软件测试大叔8 小时前
ubuntu替换源为阿里源(修改ubuntu.source文件)
linux·运维·ubuntu
勇往直前plus18 小时前
VMware centos磁盘容量扩容教程
linux·运维·centos
政安晨19 小时前
Ubuntu 服务器无法 ping 通网站域名的问题解决备忘 ——通常与网络配置有关(DNS解析)
linux·运维·服务器·ubuntu·ping·esp32编译服务器·dns域名解析