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)。
相关推荐
IT 小阿姨(数据库)4 分钟前
PostgreSQL pg_stat_bgwriter 视图各个字段详解
linux·数据库·sql·postgresql·centos
Thexhy1 小时前
在centos 7上配置FIP服务器的详细教程!!!
linux·运维·centos
fyakm2 小时前
Linux网络接口配置:静态IP与动态IP设置(附代码示例)
linux·运维·tcp/ip
嵌入式小羊子4 小时前
TCP/IP是什么?OSI又是什么?
网络·tcp/ip
biubiubiu07066 小时前
Ubuntu学习笔记
笔记·学习·ubuntu
卷卷的小趴菜学编程7 小时前
Linux系统之----UDP、TCP详解
网络·tcp/ip·udp·滑动窗口·流量控制·拥塞避免·超时重传快重传
Eternal-Student9 小时前
【ubuntu】在Linux系统上安装Microsoft Edge浏览器
linux·ubuntu·microsoft
研來如此9 小时前
公网ip与内网ip
网络·tcp/ip
爱奥尼欧10 小时前
【Linux笔记】网络部分——传输层协议TCP(2)
linux·网络·笔记·tcp/ip