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)。
相关推荐
科技块儿1 小时前
【方法】IP66.net:如何查到自己的IP?
网络·网络协议·tcp/ip
派大鑫wink2 小时前
网络工程师入门学习第二篇:TCP/IP协议与路由协议深入
网络·学习·tcp/ip
Better Bench2 小时前
ThinkStation PGX Ubuntu aarch64架构上使用Docker 配置amd64架构镜像的深度学习环境并使用Vscode开发
ubuntu·docker·架构
天天进步20153 小时前
CentOS 实战:如何查看和分析信号量 (Semaphore) 的值
linux·运维·centos
2501_938810113 小时前
共享IP的弊端
服务器·网络·tcp/ip
weixin_449290013 小时前
Ubuntu 系统上安装和配置 Go 语言运行环境
linux·ubuntu·golang
沟通qq 19226384 小时前
五层电梯PLC仿真实战】用博途V16玩转电梯调度算法
tcp/ip
txzz88884 小时前
CentOS-Stream-10 系统安装与登录
linux·运维·服务器·centos
yuxuan66994 小时前
【Docker】使用docker启动禅道出现mysql.sock 文件已经存在的bug
mysql·docker·centos·bug
车载测试工程师4 小时前
CAPL学习-SOME/IP交互层-服务发现类函数
tcp/ip·以太网·capl·canoe