设置linux静态IP

发布于:2025-07-02 ⋅ 阅读:(30) ⋅ 点赞:(0)

方法一
Ubuntu 18.04采用netplan来管理网络配置计划,在/etc/netplan/目录下有一个以yaml结尾的文件,例如00-installer-config.yaml,不同版本的系统这个文件名可能会有些差异,但是不影响,以实际为准。

步骤1:

先ifconfig查看电脑的网卡信息:
在这里插入图片描述

找到物理网卡的名称,我这里是ens33,其他几个是虚拟网卡和本地回环,不用管。

步骤2:

输入route -n命令,打印路由表,这里主要是为了查看网关地址,后续会用到
在这里插入图片描述
我这里网关地址是192.168.255.0

步骤3:

输入

sudo nano /etc/netplan/00-installer-config.yaml

,编辑yaml文件,注意这里需要sudo权限。
在这里插入图片描述

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: false
      addresses: [192.168.255.139/24]
      routes:
        - to: 0.0.0.0/0
          via: 192.168.255.2
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

Ctrl + O → 按 Enter 保存
Ctrl + X → 退出

根据实际需要依次设置ens33网卡的静态IP地址、网关、DNS,dhcp4设置为false,最后一行添加:renderer: networkd。注意缩进对齐,并且每个冒号后面要跟一个空格,否则会有问题。设置好后保存退出。

步骤4:

输入命令

sudo netplan apply

使改动生效,然后reboot重启系统,就配置好了。

测试



在这里插入图片描述

结果用

 ip -4 a show ens33

验证发现:输出的里面含dynamice
说明动态IP仍然存在
NetworkManager 正在运行
dhclient 进程由 NetworkManager 启动(参数中包含 nm-dhcp-helper)
这正是导致你的静态 IP 被覆盖为 dynamic 的原因

解决方案(逐步操作)

1. 立即停止 NetworkManager 和 dhclient
sudo systemctl stop NetworkManager
sudo pkill dhclient
2. 永久禁用 NetworkManager
sudo systemctl disable NetworkManager
sudo apt purge network-manager  # 可选:彻底移除(适合服务器)
3. 清除所有 DHCP 租约文件
sudo rm /var/lib/NetworkManager/dhclient-*.lease
sudo rm /var/lib/dhcp/dhclient.*
4. 强制应用静态配置
sudo ip addr flush dev ens33
sudo ip addr add 192.168.255.139/24 dev ens33
sudo ip route add default via 192.168.255.2
5. 验证 NetworkManager 完全停止
ps aux | grep -E 'NetworkManager|dhclient'

预期输出:应只有 grep 进程自身
在这里插入图片描述

6. 检查 IP 状态
ip -4 a show ens33

在这里插入图片描述

配置成功!!!!

持久化配置

1. 确认 Netplan 配置
sudo cat /etc/netplan/00-installer-config.yaml

确保内容为:

network:
  version: 2
  renderer: networkd  # 关键:使用networkd而非NetworkManager
  ethernets:
    ens33:
      dhcp4: false
      dhcp6: false
      addresses: [192.168.255.139/24]
      routes:
        - to: 0.0.0.0/0
          via: 192.168.255.2
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
2. 应用配置
sudo netplan --debug apply

途中如果遇到问题可复制黏贴给deepseek

3. 设置开机自启脚本(可选)
sudo nano /etc/rc.local

exit 0 前添加:

ip addr add 192.168.255.139/24 dev ens33 || true

然后:

sudo chmod +x /etc/rc.local

故障排查表

现象 检查命令 解决方案
IP仍是dynamic ip -4 a show ens33 杀死所有 dhclient 进程
NetworkManager残留 ps aux | grep NetworkManager sudo apt purge network-manager
路由丢失 ip route show 手动添加 ip route add default via 192.168.255.2

最终验证

  1. 重启测试
    sudo reboot
    
  2. 重启后检查
    ip -4 a show ens33
    systemctl status NetworkManager  # 应显示"inactive"
    

如果严格按照以上步骤操作,你的静态 IP 将永久生效。如果仍有问题,可能是系统镜像或硬件驱动层面的问题,建议提供:

  1. lsb_release -a 系统版本信息
  2. dmesg | grep ens33 驱动日志