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

(2024年最新)Linux(Ubuntu) 中配置静态IP(包含解决每次重启后配置文件失效问题)


Hello! 亲爱的小伙伴们,大家好呀(Smile~)!我是Huazzi,欢迎观看本篇博客,接下来让我们一起来学习一下Ubuntu 中如何配置静态IP吧!祝你有所收获!


提前对Linux有所了解的小伙伴应该知道(没了解过的小伙伴也没关系,继续往下看了就能有所了解了):

在 Linux 操作系统中,Linux 文件系统遵循 FHS (Filesystem Hierarchy Standard),每个目录都有特定的用途,而我们今天的主角/etc 目录主要包含 系统配置文件
想要进一步了解Linux系统各个目录的主要用途的小伙伴,欢迎前往另一篇博客:Linux 文件系统目录结构及其简要介绍


文章目录

    • 操作步骤
      • 前期准备
      • 手动配置静态 IP
        • 报错处理

操作步骤

前期准备

Ubuntu 使用的是 netplan 网络管理工具,所以在正式开始配置静态IP的配置文件前,我们先来检查一下我们/etc/netplan目录下都有哪些东西:
操作命令:

ls /etc/netplan

如果有小伙伴发现有一个50-cloud-init.yaml文件:
在这里插入图片描述
那么就要注意啦!(如果没有的小伙伴可以直接跳过这一步)

这是一个配置文件是 cloud-init 用于配置网络的 YAML 文件:

  • 文件是由 数据源(datasource) 自动生成的,任何更改在重启后将丢失。

在配置静态IP之前,需要先禁用 cloud-init 对网络的配置管理

为什么要禁用 cloud-init?

  • cloud-init 会在系统启动时根据云数据源提供的信息自动配置网络。
  • 如果你手动修改了 /etc/netplan/ 下的网络配置文件,但没有禁用 cloud-init,它可能会在下次重启时重置你的配置。
  • 为了让静态 IP 配置永久生效,禁用 cloud-init 是一个必要步骤

禁用 cloud-init的操作步骤:

  1. 先创建一个禁用网络配置的文件:
   sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
  1. 写入:
network: {config: disabled}
  1. 重启系统:
sudo reboot

注意啦,现在开始正式配置静态IP配置文件~

手动配置静态 IP

我们要将网络配置修改为静态 IP(而不是 DHCP 自动获取),我们需要手动编辑 netplan 配置文件。
操作命令:

sudo vim /etc/netplan/01-netcfg.yaml

dhcp4: true 替换为静态 IP 配置,然后根据自己的需要改一下即可:

network:ethernets:ens33:dhcp4: falseaddresses:- 192.168.1.100/24    # 静态 IP 和子网掩码gateway4: 192.168.1.1   # 默认网关nameservers:addresses:- 8.8.8.8         		# DNS 服务器 1- 114.114.114.114         # DNS 服务器 2version: 2

应用更改:
保存文件后,执行:

sudo netplan apply

此时网络将切换到静态 IP。


报错处理

这时候,小伙伴们可能会遇到报错:
在这里插入图片描述

这是为什么呢?我们一起来看一下
这些警告信息表示两个问题:

  1. 文件权限过于开放/etc/netplan/01-netcfg.yaml 的权限设置不安全。
  2. gateway4 已被弃用:需要使用默认路由的配置方式。

知道了原因不就好解决了嘛
解决方法:

  1. 修复文件权限过于开放的问题
    Netplan 配置文件的权限要求是 600(仅限 root 读写),当前文件权限可能过于开放。

修改文件权限:

想要进一步了解Linux文件权限相关操作的小伙伴欢迎移步Linux文件权限与所有者管理命令

执行以下命令将权限设置为安全值:

sudo chmod 600 /etc/netplan/01-netcfg.yaml

确认文件权限:

ls -l /etc/netplan/01-netcfg.yaml

输出应类似于:

-rw------- 1 root root 123 Jun 20 03:01 /etc/netplan/01-netcfg.yaml

表明已经修改好了


  1. 替换已弃用的 gateway4
    gateway4 已被弃用,需要使用 默认路由 的配置方式。

修改 /etc/netplan/01-netcfg.yaml 文件
找到 gateway4,并将其替换为默认路由配置:

旧配置:

gateway4: 192.168.1.1

新配置:

routes:- to: defaultvia: 192.168.1.1

  1. 更新 Netplan 配置
    修改完成后,保存文件并执行以下命令:
sudo netplan apply

  1. 验证配置是否生效
  • 查看 IP 地址和路由信息:

    ip addr
    ip route
    
  • 确保默认路由已生效,输出应类似于:

    default via 192.168.1.1 dev ens33 proto static
    

最后,给个完整示例配置

修改后的 /etc/netplan/01-netcfg.yaml 应类似以下内容:

network:version: 2ethernets:ens33:dhcp4: falseaddresses:- 192.168.1.100/24   # 静态 IP 和子网掩码routes:- to: defaultvia: 192.168.1.1   # 默认路由nameservers:addresses:- 8.8.8.8         		# DNS 服务器 1- 114.114.114.114         # DNS 服务器 2

完成后,所有警告都将消失,并且静态 IP 配置将正常生效。


到此,我们的任务就完成啦!
如果小伙伴们还遇到其他的什么问题,欢迎在评论区一起讨论!!!
祝小伙伴们收获满满!!

相关文章:

(2024年最新)Linux(Ubuntu) 中配置静态IP(包含解决每次重启后配置文件失效问题)

Hello! 亲爱的小伙伴们,大家好呀(Smile~)!我是Huazzi,欢迎观看本篇博客,接下来让我们一起来学习一下Ubuntu 中如何配置静态IP吧!祝你有所收获! 提前对Linux有所了解的小伙伴应该知道…...

DPDK用户态协议栈-TCP Posix API 2

tcp posix api send发送 ssize_t nsend(int sockfd, const void *buf, size_t len, __attribute__((unused))int flags) {ssize_t length 0;void* hostinfo get_host_fromfd(sockfd);if (hostinfo NULL) {return -1;}struct ln_tcp_stream* stream (struct ln_tcp_stream…...

[IT项目管理]项目时间管理(本章节3w字爆肝)

七.项目时间管理 7.1 项目进度的重要性 为什么要重视项目进度:在项目进行的过程之中会遇到变故。但是不论项目中发生了什么,时间总是在流逝,就可能会导致项目不可以在规定的时间完成。 7.2可能影响项目进度的因素 有员工离职个人的工作方…...

【python因果库实战5】使用银行营销数据集研究营销决策的效果5

目录 接触次数的效应 重新定义治疗变量和潜在混杂因素 更深入地审视干预情景 逆概率加权 标准化 总结及与非因果分析的比较 接触次数的效应 我们现在转而研究当前营销活动中接触次数的数量(campaign)对积极结果发生率的影响。具体来说,…...

【Qt】QWidget中的常见属性及其功能(二)

目录 六、windowOpacity 例子: 七、cursor 例子: 八、font 九、toolTip 例子: 十、focusPolicy 例子: 十一、styleSheet 计算机中的颜色表示 例子: 六、windowOpacity opacity是不透明度的意思。 用于设…...

9 OOM和JVM退出。OOM后JVM一定会退出吗?

首先我们把两个概念讲清楚 OOM是线程在申请堆内存,发现堆内存空间不足时候抛出的异常。 JVM退出的条件如下: java虚拟机在没有守护线程的时候会退出。守护线程是启动JVM的线程,服务于用户线程。 我们简单说下守护线程的功能: 1.日志的记录…...

学习笔记070——Java中【泛型】和【枚举】

文章目录 1、泛型1.1、为什么要使用泛型?1.2、泛型的应用1.3、泛型通配符1.4、泛型上限和下限1.5、泛型接口 2、枚举 1、泛型 Generics 是指在定义类的时候不指定类中某个信息(属性/方法返回值)的具体数据类型,而是用一个标识符来…...

【工具变量】碳排放市场交易数据(2013-2023年)

一、时间范围:2013年8月5日到2023年1月13日 二、具体指标: 交易日期 城市名称 交易品种 开盘价 最高价 最低价 成交均价 收盘价 前收盘价 涨跌幅 总成交量 总成交额 …...

【视频生成模型】——Hunyuan-video 论文及代码讲解和实操

🔮混元文生视频官网 | 🌟Github代码仓库 | 🎬 Demo 体验 | 📝技术报告 | 😍Hugging Face 文章目录 论文详解基础介绍数据预处理 (Data Pre-processing)数据过滤 (Data Filtering)数据标注 (Data…...

基线检查:Windows安全基线.【手动 || 自动】

基线定义 基线通常指配置和管理系统的详细描述,或者说是最低的安全要求,它包括服务和应用程序设置、操作系统组件的配置、权限和权利分配、管理规则等。 基线检查内容 主要包括账号配置安全、口令配置安全、授权配置、日志配置、IP通信配置等方面内容&…...

uniapp跨端适配—条件编译

在uniapp中,跨端适配是通过条件编译实现的。条件编译允许开发者根据不同的平台(如iOS、Android、微信小程序、百度小程序等)编写不同的代码。这样可以确保每个平台上的应用都能得到最优的性能和用户体验。 以下是uniapp中条件编译的基本语法…...

【Java基础面试题013】Java中静态方法和实例方法的区别是是么?

回答重点 静态方法 使用static关键字修修饰的方法属于类随着类的加载而加载,随着类的卸载而消失可以通过类名直接调用,也可以通过对象调用,但是这种方式不推荐,会混淆意义,也不利于后期维护与扩展 class Example {st…...

C语言入门(一):A + B _ 基础输入输出

前言 本专栏记录C语言入门100例,这是第(一)例。 目录 一、【例题1】 1、题目描述 2、代码详解 二、【例题2】 1、题目描述 2、代码详解 三、【例题3】 1、题目描述 2、代码详解 四、【例题4】 1、题目描述 2、代码详解 一、【例…...

Vue日历组件FullCalendar使用方法

FullCalendar &#xff08;全日历&#xff09;Vue组件的使用 FullCalendar官方文档地址 FullCalendar日历组件支持Vue React Angular Javascript Vue2的框架示例&#xff1a; npm install --save fullcalendar/core fullcalendar/vue<template><div class"cal…...

TinyML在OBD-II边缘设备上燃油类型分类的实现与优化

论文标题&#xff1a;TinyML Implementation and Optimization for Fuel Type Classification on OBD-II Edge Device&#xff08;TinyML在OBD-II边缘设备上燃油类型分类的实现与优化&#xff09; 作者信息&#xff1a;Miguel Amaral, Morsinaldo Medeiros, Matheus Andrade, …...

vue3 中 defineProps 声明示例

1、直接声明 // 1、直接使用 defineProps(["tableData", "acceptType"]); 2、运行时声明方式不使用TypeScript类型注解&#xff0c;而是使用JavaScript对象&#xff0c;使用 type 来定义props // 2、运行时声明方式不使用TypeScript类型注解&#xff0c;…...

SpringBoot整合MybatisPlus报错Bean不存在:NoSuchBeanDefinitionException

报错信息&#xff1a; Exception in thread “main” org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘com.feng.mybatisplusdemo.dao.UserMapper’ available 解决办法&#xff1a; 将原来引入的MybatisPlus依赖&#xff1a…...

异步电机的控制是否还有研究的必要,是不是已经非常成熟了?

随着工业现代化和自动化进程的加快&#xff0c;异步电机作为最为常见的电动机之一&#xff0c;广泛应用于各类机械设备和工业自动化系统中。异步电机因其结构简单、成本低廉、维护方便等优点而备受青睐。 异步电机的基本原理与应用 异步电机&#xff0c;又称感应电机&#xf…...

【Android】解决 ADB 中 SELinux 设置与 `Failed transaction (2147483646)` 错误

解决 ADB 中 SELinux 设置与 Failed transaction (2147483646) 错误 在使用 ADB 进行开发和调试时&#xff0c;经常会遇到由于 Android 系统安全策略&#xff08;SELinux&#xff09;引起的权限问题&#xff0c;尤其是在执行某些操作时&#xff0c;可能会遇到类似 cmd: Failur…...

企业车辆管理系统(源码+数据库+报告)

一、项目介绍 352.基于SpringBoot的企业车辆管理系统&#xff0c;系统包含两种角色&#xff1a;管理员、用户,系统分为前台和后台两大模块 二、项目技术 编程语言&#xff1a;Java 数据库&#xff1a;MySQL 项目管理工具&#xff1a;Maven 前端技术&#xff1a;Vue 后端技术&a…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...

Linux基础开发工具——vim工具

文章目录 vim工具什么是vimvim的多模式和使用vim的基础模式vim的三种基础模式三种模式的初步了解 常用模式的详细讲解插入模式命令模式模式转化光标的移动文本的编辑 底行模式替换模式视图模式总结 使用vim的小技巧vim的配置(了解) vim工具 本文章仍然是继续讲解Linux系统下的…...