当前位置: 首页 > news >正文

设置linux静态IP

方法一
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: 2renderer: networkdethernets:ens33:dhcp4: falseaddresses: [192.168.255.139/24]routes:- to: 0.0.0.0/0via: 192.168.255.2nameservers: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: 2renderer: networkd  # 关键:使用networkd而非NetworkManagerethernets:ens33:dhcp4: falsedhcp6: falseaddresses: [192.168.255.139/24]routes:- to: 0.0.0.0/0via: 192.168.255.2nameservers: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仍是dynamicip -4 a show ens33杀死所有 dhclient 进程
NetworkManager残留ps aux | grep NetworkManagersudo 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 驱动日志
http://www.dtcms.com/a/264237.html

相关文章:

  • 创建和连接Vue应用程序实例
  • AI的未来:人类会被取代,还是变得更强大?
  • Go语言的Map
  • 【仿muduo库实现并发服务器】Poller模块
  • Adobe AI高效设计秘籍与创新思维进阶
  • WebSocket扫盲
  • 7 项目立项管理
  • MYSQL-JAVAweb1
  • 华为设备 QoS 流分类与流标记深度解析及实验脚本
  • Ubuntu+Nginx+php+SQLite3+typecho手动搭建个人博客
  • 什么是消息队列?
  • 21.合并两个有序链表
  • android RecyclerView隐藏整个Item后,该Item还占位留白问题
  • 变幻莫测:CoreData 中 Transformable 类型面面俱到(七)
  • IDE全家桶专用快捷键----------个人独家分享!!
  • 计算机网络(三)传输层TCP
  • 630,百度文心大模型4.5系列开源!真香
  • Spring Boot 启动加载执行链路分析
  • Spring Boot 集成 Dufs 通过 WebDAV 实现文件管理
  • (第二篇)HMTL+CSS+JS-新手小白循序渐进案例入门
  • C++ 网络编程(13) asio多线程模型IOServicePool
  • Y-Combinator推导的Golang描述
  • 复现一个nanoGPT——model.py
  • postman入门篇
  • 用Fiddler中文版抓包工具掌控微服务架构中的接口调试:联合Postman与Charles的高效实践
  • 2.2.4 Linux 系统日志管理
  • (LeetCode 面试经典 150 题) 42. 接雨水 (单调栈)
  • 【C++】std::vector 全面指南
  • Excel 如何从一个大表里,根据姓名查找到对应的手机号?
  • 【1.5 漫画TiDB分布式数据库】