Ubuntu修改静态IP、网关和DNS的方法总结
Ubuntu修改静态IP、网关和DNS的方法总结
ubuntu系统(其他debian的衍生版本好像也可以)修改静态IP有以下几种方法。(搜索总结,可能也不太对)
/etc/netplan (use)
Ubuntu 18.04开始可以使用netplan配置网络,其也是默认安装的。配置文件位于/etc/netplan/xxx.yaml中,netplan默认是使用NetworkManager来配置网卡信息的。

old: -- (Ubuntu 20.04.及以前版本使用)
# 可以将其修改为如下格式,来修改网卡信息
# 需要注意缩进关系,不然就会报错
network:version: 2ethernets:ens33:dhcp4: noaddresses: [192.168.16.136/24]gateway4: 192.168.16.2nameservers:addresses: [192.168.16.2][网卡2的设备名称]: dhcp4: noaddresses: [192.168.16.145/24]gateway4: 192.168.16.2nameservers:addresses: [192.168.16.2]# 然后运行,即可生效
sudo netplan apply
new: -- (Ubuntu 20.04.之后版本使用)
root@my-ubuntu-vm1:~# vi /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:ethernets:ens33:#dhcp4: truedhcp4: falseaddresses: [192.168.31.85/24]optional: trueroutes:- to: defaultvia: 192.168.31.1nameservers:addresses: [114.114.114.114]version: 2# 然后运行,即可生效
sudo netplan apply
- ethernets: 网卡数组-------------第二层
- ens33: 网卡名字-------------第三层
- dhcp4: 表示通过dhcp获取ip还是配置静态ip-------------第四层
- addresses:配置ip地址与子网掩码-------------第四层
- gateway4: 网关-------------第四层
- nameservers: dns服务器-------------第四层
- addresses:dns服务器的地址列表-------------第五层
这种方法修改也比较方便。
NetworkManager
Ubuntu等带有界面的linux操作系统默认安装了NetworkManager,正常可以直接通过 系统设置 操作NetworkManager的图形化界面修改网卡的静态IP、网关和DNS。如下为ubuntu的操作界面。

同时NetworkManager一般还提供nmcil和nmtui的命令,可以通过终端来修改。
- nmcil的基本操作流程
# 显示网卡连接信息
nmcli connection show
# 短格式
nmcli con show
# 例如会返回如下信息
NAME UUID TYPE DEVICE
有线连接 1 ee4dce9e-bf8f-3c4b-85d5-dd5a4ac0a2f1 ethernet ens33 # 显示网卡的具体信息
# NAME有中文的时候需要加''
# nmcli con show '有线连接 1'
nmcli con show [NAME]|[UUID]# 修改都需要 sudo 权限
# 修改对应网卡的信息
# 修改网卡的模式,自动/手动
nmcli con modify [NAME]|[UUID] ipv4.method auto|manual
# 设置为自动获取IP
nmcli con modify '有线连接 1' ipv4.method auto
# 修改IP地址
nmcli con modify [NAME]|[UUID] ipv4.addresses [ip/mask]
# 修改网关
nmcli con modify [NAME]|[UUID] ipv4.gateway [gateway]
# 修改DNS
nmcli con modify [NAME]|[UUID] ipv4.dns [dns]# 上述修改后需要重启开启网卡才能生效
nmcli con down [NAME]|[UUID]
nmcli con up [NAME]|[UUID]
# 未生效还可以尝试重启NetworkManager服务或者系统重启
sudo service network-manager restart# 完整示例
# 设置‘有线网卡 1’的IP地址为192.168.16.140,子网掩码为 255.255.255.0,网关为 192.168.16.2,DNS为 192.168.16.2
sudo nmcli con modify '有线网卡 1' ipv4.method manual
sudo nmcli con modify '有线网卡 1' ipv4.addresses 192.168.16.140/24
sudo nmcli con modify '有线网卡 1' ipv4.gateway 192.168.16.2
sudo nmcli con modify '有线网卡 1' ipv4.dns 192.168.16.2
sudo nmcli con down '有线网卡 1'
sudo nmcli con up '有线网卡 1'
- nmtui的基本操作流程
在终端中输入nmtui就会进入修改网卡信息的终端ui界面中,根据操作提示修改即可,注意修改后,需要重启网卡,启用连接 -> [选择对应的网卡] -> 禁用 -> 启用,修改才会生效。修改失败的话,就sudo nmtui再试试



通过图形化界面、nmcli指令和nmtui指令操作,最终的配置信息都保存在/etc/NetworkManager文件夹中,网卡的配置文件在/etc/NetworkManager/system-connections文件夹中,也可以直接修改网卡配置文件来修改IP等,注意修改前最好备份一下配置文件。

经过测试,修改后需要重启NetworkManager服务后,再重启网卡,修改才能生效。
# 修改配置文件
sudo vim /etc/NetworkManager/system-connections/[网卡NAME]# 重启NetworkManager服务
sudo service network-manager restart
# 重启网卡
sudo nmcli con down [NAME]|[UUID]
sudo nmcli con up [NAME]|[UUID]
/etc/network/interface
可以通过修改/etc/network/interface来配置网络,由于我们默认是通过NetworkManager修改网卡信息的,所以一开始interface文件中没有其他网卡的信息。

可以在文件后面添加需要修改的网卡信息。
# /etc/network/interface文件后添加
auto [网卡名称] #要设置的网卡设备名称,如 auto ens33
iface [网卡名称] inet static #设置静态IP;如果是使用自动IP用 dhcp
address xxx.xxx.xxx.xxx #IP地址
netmask xxx.xxx.xxx.xxx #子网掩码
gateway xxx.xxx.xxx.xxx #网关# 修改完成后,重启网络服务
service networking restart
经过测试,有时候重启服务和重启网卡并不能生效,需要系统重启后生效,同时这个时候系统设置中的NetworkManager 就不太正常了。

这种方法不能一起修改DNS,需要修改另外一个配置文件/etc/resolv.conf,具体详见这个博客ubuntu修改ip。但是我的ubuntu18.04的虚拟机中已经没有resolvconf这个服务了。具体见这个博客Ubuntu 手动配置DNS。
目前还不太会通过/etc/resolv.conf修改DNS,不建议使用这种方法修改DNS。
ifconfig临时修改IP
# 需要sudo权限
# 临时修改ip
ifconfig [网卡设备名称] [ip地址] netmask [子网掩码]
# ifcogfin ens33 192.168.16.139 netmask 255.255.255.0# 启用\关闭网卡
ifconfig [网卡名称] up
ifconfig [网卡名称] down
设置网关使用其他的命令
# 设置网关,未测试
sudo route add default gw 192.168.2.254
设置DNS详见3。
总结
- NetworkManager: NetworkManager是一个用于管理网络连接的守护进程。它在现代Linux发行版中广泛使用,并提供图形用户界面和命令行工具来管理网络设置。它可以动态管理网络配置,包括有线、无线和VPN连接等。Ubuntu系统是默认使用NetworkManager。
- /etc/netplan/: 这是Ubuntu 18.04及更高版本中使用的网络配置工具。Netplan允许您使用YAML格式定义网络配置,包括IP地址、网关、DNS等。Netplan会将配置转换为其他配置文件(如NetworkManager或systemd-networkd),从而应用新的网络设置。
- /etc/network/interfaces: 这是Debian和Ubuntu等一些Linux发行版中用于配置网络接口的文件。它定义了网络接口的基本设置,例如IP地址、网关和子网掩码等。
- ifconfig 命令通过调用系统调用以及与内核的交互来实时获取网络接口的信息。它获取到的信息是当前内核中网络接口的实时状态,而不是从配置文件中读取的静态配置信息。在Ubuntu中,使用ifconfig命令修改网卡的IP地址是临时的,不会修改任何配置文件。ifconfig命令用于动态地配置网络接口,所做的更改只会在下次系统重启时失效。
前两个都操作起来更方便。第三个修改DNS还不太会,如果单纯修改IP地址和网关还行。第四个是临时修改。
对于前三者的优先级,在配置了/etc/netplan和/etc/network/interfaces的时候,系统重启后,NetworkManager好像就直接挂掉了,IP和网关是由/etc/network/interfaces设置决定,如果我再运行sudo netplan apply,/etc/netplan中的配置就会生效;但系统重启后还是由/etc/network/interfaces决定。
相关文章:
Ubuntu修改静态IP、网关和DNS的方法总结
Ubuntu修改静态IP、网关和DNS的方法总结 ubuntu系统(其他debian的衍生版本好像也可以)修改静态IP有以下几种方法。(搜索总结,可能也不太对) /etc/netplan (use) Ubuntu 18.04开始可以使用netplan配置网络࿰…...
Eureka服务器注册
一。Eureka服务器注册 1.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://mav…...
Windows安装GPU版本的pytorch详细教程
文章目录 chatGLM2-6B安装教程正式安装 chatGLM2-6B ChatGLM2-6B版本要装pytorch2.0,而且要2.0.1 ,因此CUDA不能用12.0 ,也不能用10.0,只能用11.x 版本。 安装教程 pip install直接下载安装 官网: https://pytorch.…...
理解Kruskal算法的前提----深入理解并查集【超简单~】
并查集的实现思路 并查集主要分为两个部分:第一部分就是需要找到点对应的祖宗节点,第二部分,是要将属于同一个集合节点的祖宗节点进行统一,也就是结合操作。 Find函数实现 // parent数组用来存储下标值所对应的父节点值 // 比如…...
Jenkins+Gitee+Docker+Ruoyi项目前后端分离部署
前言 描述:本文主要是用来记录 如何用标题上的技术,部署到云服务器上通过ip正常访问。 一、总览 1.1、Docker做的事 拉取 mysql 镜像拉取 redis 镜像拉取 jdk 镜像拉取 nginx 镜像 解释说明:前端项目的打包文件放在 nginx容器运行。后端…...
笙默考试管理系统-MyExamTest----codemirror(23)
笙默考试管理系统-MyExamTest----codemirror(23) 目录 笙默考试管理系统-MyExamTest----codemirror(23) 一、 笙默考试管理系统-MyExamTest 二、 笙默考试管理系统-MyExamTest 三、 笙默考试管理系统-MyExamTest 四、 笙…...
重学Java (一) 泛型
1. 前言 泛型编程自从 Java 5.0 中引入后已经超过15个年头了。对于现在的 Java 码农来说熟练使用泛型编程已经是家常便饭的事情了。所以本文就在不对泛型的基础使用在做说明了。 如果你还不会使用泛型的话,可以参考下面两个链接 Java 泛型详解The Java™ Tutorial…...
Docker 部署 Redis 服务
拉取最新版本的 Redis 镜像: $ sudo docker pull redis:latest在本地预先创建好 data 目录和 conf/redis.conf 文件。 使用以下命令来运行 Redis 容器: $ sudo docker run -itd --name redis --privilegedtrue -p 6379:6379 -v /home/ubuntu/docker/redis/data:/data -v /ho…...
阿里云产品试用系列-负载均衡 SLB
阿里云负载均衡(Server Load Balancer,简称SLB)是云原生时代应用高可用的基本要素。通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,消除单点故障并提升应用系统的可用性。阿里云SLB包含面向4层的网络型负载均衡NLB…...
drf 对象级权限
drf 对象级权限 Django REST Framework(DRF)提供了对象级别权限(Object-level permissions)来控制特定对象的访问权限。 简单来说:通过视图类中的self.get_object(pk)得到一个obj对象(视图对象),在与requ…...
八大排序(二)--------冒泡排序
本专栏内容为:八大排序汇总 通过本专栏的深入学习,你可以了解并掌握八大排序以及相关的排序算法。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:八大排序汇总 🚚代码仓库:小小unicorn的代码仓库…...
SmartSQL 一款开源的数据库文档管理工具
建议直接蓝奏云下载安装 蓝奏云下载:https://wwoc.lanzoum.com/b04dpvcxe 蓝奏云密码:123 项目介绍 SmartSQL 是一款方便、快捷的数据库文档查询、导出工具!从最初仅支持 数据库、CHM文档格式开始,通过不断地探索开发、集思广…...
代码随想录算法训练营第56天 | ● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 动态规划之编辑距离总结篇
文章目录 前言一、583. 两个字符串的删除操作二、72. 编辑距离三、动态规划之编辑距离总结篇总结 前言 一、583. 两个字符串的删除操作 两种思路:1.直接动态规划,求两个字符串需要删除的最小次数 2.采用子序列的和-最长公共子序列。思路一分析如下&#…...
矩阵 m * M = c
文章目录 题1题2 题1 (2023江苏领航杯-prng) 题目来源:https://dexterjie.github.io/2023/09/12/%E8%B5%9B%E9%A2%98%E5%A4%8D%E7%8E%B0/2023%E9%A2%86%E8%88%AA%E6%9D%AF/ 题目描述: (没有原数据,自己生成的数据) from Crypto.Util.number…...
Linux——IO
✅<1>主页::我的代码爱吃辣 📃<2>知识讲解:Linux——文件系统 ☂️<3>开发环境:Centos7 💬<4>前言:是不是只有C/C有文件操作呢?python,java&…...
svn(乌龟svn)和SVN-VS2022插件(visualsvn) 下载
下载地址: https://www.visualsvn.com/visualsvn/download/...
开源日报 0824 | 构建UI组件和页面的前端工作坊
Storybook 是一个用于构建 UI 组件和页面的前端工作坊,支持多种主流框架,提供丰富的插件,具有可配置性强和扩展性好的特点。 storybookjs/storybook Stars: 79.9k License: MIT Storybook 是一个用于构建 UI 组件和页面的前端工作坊&#x…...
福建三明大型工程机械3D扫描工程零件三维建模逆向抄数-CASAIM中科广电
高精度3D扫描技术已经在大型工件制造领域发挥着重要作用,可以高精度高效率实现全尺寸三维测量,本期,我们要分享的应用是大型工程机械3D扫描案例。 铣轮是深基础施工领域内工法先进、技术复杂程度高、高附加值的地连墙设备,具有成…...
使用香橙派学习 Linux的守护进程
Q:什么是守护进程 A:Linux Daemon(守护进程)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行 某种任务或等待处理某些发生的事件。它不需要用户输入就能运行而且提供某种服务,不是对整个系统就是对某个…...
数据治理-数据仓库和商务智能
数据仓库的作用 减少数据冗余,提高信息一致性,让企业能够利用数据做出更优决策的方法,数据仓库是企业数据管理的核心。 业务驱动因素 运营支持职能、合规需求(历史数据响应)和商务智能活动(主因࿱…...
OpenRGB:统一多品牌设备控制的开源RGB解决方案
OpenRGB:统一多品牌设备控制的开源RGB解决方案 【免费下载链接】OpenRGB Open source RGB lighting control that doesnt depend on manufacturer software. Supports Windows, Linux, MacOS. Mirror of https://gitlab.com/CalcProgrammer1/OpenRGB. Releases can …...
ChatBI 开源产品实战解析:从语义层到Agent,如何选择你的AI数据助手?
1. 为什么企业需要AI数据助手? 想象一下这个场景:市场部的小王需要统计上季度各区域的销售数据,他对着Excel表格里密密麻麻的数字发愁,不得不找IT部门帮忙写SQL查询。三天后拿到数据时,业务窗口期已经错过——这是很多…...
5个强力优化步骤:Win11Debloat让Windows系统性能提升显著
5个强力优化步骤:Win11Debloat让Windows系统性能提升显著 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化…...
如何在Mac上免费本地运行Stable Diffusion:Mochi Diffusion终极指南
如何在Mac上免费本地运行Stable Diffusion:Mochi Diffusion终极指南 【免费下载链接】MochiDiffusion Run Stable Diffusion on Mac natively 项目地址: https://gitcode.com/gh_mirrors/mo/MochiDiffusion 还在寻找能在Mac上完美运行Stable Diffusion的免费…...
如何快速打造微信风格视频编辑功能?推荐开源神器WeiXinRecordedDemo
如何快速打造微信风格视频编辑功能?推荐开源神器WeiXinRecordedDemo 【免费下载链接】WeiXinRecordedDemo 仿微信视频拍摄UI, 基于ffmpeg的视频录制编辑 项目地址: https://gitcode.com/gh_mirrors/we/WeiXinRecordedDemo WeiXinRecordedDemo是一款基于FFmpe…...
Fortran开发环境配置2024实践指南
Fortran开发环境配置2024实践指南 【免费下载链接】vscode-fortran-support Fortran language support for Visual Studio Code 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-fortran-support 在科学计算与工程领域,Fortran语言依然保持着不可替代的…...
绿色低碳+高效交付:中集模块化数据中心用实力印证中国方案全球竞争力
随着人工智能与绿色转型成为全球经济增长核心引擎,高算力需求正推动数据中心建设向预制化、高效能方向加速演进。中集集团(000039.SZ/2039.HK)凭借工业化制造与全球交付优势,2025年在模块化数据中心(AIDC)领…...
统信系统下如何管理Mysql?
背景 看到标题很多朋友会打趣的问我:“你不是一直用麒麟操作系统做讲解吗?”,其实DBCS和DESK的兼容性太强了,什么操作系统都行,Windows上最容易了,所以我一般不用Windows,下次我用Ubuntu给大家…...
AsyncSerial:嵌入式非阻塞串口通信实现
1. AsyncSerial 库深度解析:面向嵌入式实时系统的非阻塞串口通信实现 在嵌入式系统开发中,串口(UART/USART)通信因其硬件资源占用少、协议简单、调试便捷等优势,始终是固件层最基础且高频使用的外设接口。然而…...
DHTesp库详解:ESP32/ESP8266高可靠温湿度驱动与环境参数计算
1. DHTesp 库深度解析:面向 ESP32/ESP8266 的高可靠性温湿度传感驱动1.1 库的诞生背景与工程必要性DHTesp 并非简单的 Arduino 兼容库移植,而是在特定硬件约束下催生的工程化解决方案。其核心驱动力源于 ESP32 多核架构对传统单线协议(1-Wire…...
