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)。
相关推荐
树码小子18 小时前
Java网络编程:(socket API编程:TCP协议的 socket API -- 回显程序的服务器端程序的编写)
java·网络·tcp/ip
绿箭柠檬茶20 小时前
Ubuntu 服务器配置转发网络访问
服务器·网络·ubuntu
风_峰20 小时前
Ubuntu Linux SD卡分区操作
嵌入式硬件·ubuntu·fpga开发
hashiqimiya20 小时前
centos配置环境变量jdk
linux·运维·centos
百锦再20 小时前
[特殊字符] Python在CentOS系统执行深度指南
开发语言·python·plotly·django·centos·virtualenv·pygame
路由侠内网穿透21 小时前
本地部署 GPS 跟踪系统 Traccar 并实现外部访问
运维·服务器·网络·windows·tcp/ip
太空的旅行者1 天前
告别双系统——WSL2+UBUNTU在WIN上畅游LINUX
linux·运维·ubuntu
人工智能训练师1 天前
Ubuntu22.04如何安装新版本的Node.js和npm
linux·运维·前端·人工智能·ubuntu·npm·node.js
酷飞飞1 天前
Python网络与多任务编程:TCP/UDP实战指南
网络·python·tcp/ip
xqlily1 天前
Linux操作系统之Ubuntu
linux·运维·ubuntu