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

Ubuntu中配置内网固定IP

文章目录

    • 背景
    • 一、配置步骤
      • (一)首先确认网卡名称
      • (二)确认网关
      • (三)备份配置文件
      • (四)编辑配置文件
      • (五)应用配置
      • (六)验证配置
    • 二、注意事项
    • 结尾

欢迎来到 全干工程师的运维之路 系列专栏。
无论是前/后端的开发者,若是团队不大,运维方面的技术就成了必须要接触的知识。更多知识请关注本专栏哦

背景

在日常使用Ubuntu系统的过程中,可能需要为某个机器配置一个固定的内网IP地址,这样可以避免动态IP分配带来的不稳定性。配置固定IP不仅可以确保设备的网络连接稳定,还能为网络管理提供更多的控制。本文将详细介绍如何在Ubuntu中设置固定IP地址,并提供一些常见问题的解决方法。

一、配置步骤

(一)首先确认网卡名称

我们首先需要确定机器的网卡名称,以便在后续配置中进行修改。执行以下命令来查看网络接口信息:

ip addr

执行后你将看到类似下面的输出,其中eno1是网卡名称,记住它。

网卡名称截图

(二)确认网关

接下来,我们需要查看当前网络的网关地址,执行以下命令:

route -n

在输出结果中,Gateway字段会显示当前使用的网关地址。记下这个网关地址,它将在配置固定IP时使用。

网关截图

(三)备份配置文件

在修改系统配置文件之前,强烈建议备份原始配置文件,以防配置错误导致网络不可用。执行以下命令备份配置文件:

sudo cp /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml-back-up

提示: 备份文件非常重要,如果配置过程中出现问题,你可以随时恢复到原来的状态。

(四)编辑配置文件

现在,我们来编辑网络配置文件。打开配置文件:

sudo vim /etc/netplan/01-network-manager-all.yaml

在文件中添加或修改以下内容:

network:ethernets:eno1:                                   # 这里的 eno1 替换为实际网卡名称addresses: [172.16.0.94/24]            # 设置固定的 IP 地址gateway4: 172.16.0.1                   # 配置网关地址dhcp4: no                              # 禁用 DHCP 自动获取 IPoptional: true                         # 设置为可选,避免系统启动时网卡不存在时报错nameservers:addresses: [114.114.114.114, 8.8.8.8] # 配置 DNS 服务器地址version: 2renderer: NetworkManager                   # 使用 NetworkManager 来管理网络

在这里:

  • eno1 是你的网卡名称(记得替换成你实际的网卡名称)。
  • 172.16.0.94/24 是你为设备分配的固定IP地址,你可以根据网络环境修改。
  • gateway4 是你的网关地址,记得填入上一步查看到的网关地址。
  • nameservers 可以根据你的需求更改,常见的DNS地址有 114.114.114.114(国内DNS)和 8.8.8.8(Google的公共DNS)。

(五)应用配置

配置文件修改完成后,保存并退出编辑器。然后,应用新的网络配置:

sudo netplan apply

此命令会使新的网络设置立即生效。

(六)验证配置

配置完成后,使用以下命令来检查是否成功应用固定IP配置:

ip addr
ping 172.16.0.1

使用 ip addr 查看当前IP地址,确保它与配置的固定IP一致。使用 ping 命令测试网络是否可以连接到网关。

二、注意事项

在配置固定IP时,请注意以下几点:

  1. 网卡名称:确保配置文件中网卡名称(如 eno1)与你实际系统中的网卡名称一致。
  2. IP地址格式:IP地址的格式为 IP地址/子网掩码位数,例如 172.16.0.94/24,其中 /24 表示子网掩码 255.255.255.0
  3. 网关和IP在同一网段:确保你的固定IP和网关在同一个子网内,否则网络无法正常通信。
  4. DNS服务器:DNS服务器可以根据需要修改。国内常用的DNS是 114.114.114.114,而Google的DNS是 8.8.8.8
  5. 备份配置文件:在修改配置之前一定要备份原始文件,避免配置错误导致无法恢复网络连接。

结尾

通过以上步骤,你已经成功在Ubuntu中配置了固定IP。无论是用于开发环境还是生产环境,固定IP地址的配置能够帮助你更好地管理网络,避免动态IP带来的变化和不稳定。如果在过程中遇到问题,可以随时恢复备份的配置文件,确保系统的稳定运行。

相关文章:

Ubuntu中配置内网固定IP

文章目录 背景一、配置步骤(一)首先确认网卡名称(二)确认网关(三)备份配置文件(四)编辑配置文件(五)应用配置(六)验证配置 二、注意事…...

ExcelVBA编程输出ColorIndex与对应颜色色谱

标题 ExcelVBA编程输出ColorIndex与对应颜色色谱 正文 解决问题编程输出ColorIndex与对应色谱共56,打算分4纵列输出,标题是ColorIndex,Color,Name 1. 解释VBA中的ColorIndex属性 在VBA(Visual Basic for Applications)中&#xff…...

MySQL中in和exists的使用场景

在MySQL中,IN 和 EXISTS 是用于子查询的两种常见方法,它们在不同的场景下有不同的表现和适用性。下面我将详细介绍这两种方法的使用场景、优劣,并通过实验来说明问题。 IN 子查询 使用场景: 当子查询返回的结果集较小且不包含 …...

【多线程2】start 和 run 区别,终止线程,等待线程

Thread 类使用 start 方法,启动一个线程,对于同一个 Thread 对象来说,start 只能调用一次!!! 不怕名字起的长,就怕含义不清楚! 想要启动更多线程,就是得创建新的对象&am…...

富途证券C++面试题及参考答案

C++ 中堆和栈的区别 在 C++ 中,堆和栈是两种不同的内存区域,它们有许多区别。 从内存分配方式来看,栈是由编译器自动分配和释放的内存区域。当一个函数被调用时,函数内的局部变量、函数参数等会被压入栈中,这些变量的内存空间在函数执行结束后会自动被释放。例如,在下面的…...

Go使用sqlx操作MySQL完整指南

# Go使用sqlx操作MySQL完整指南## 1. 安装依赖bash go get github.com/go-sql-driver/mysql go get github.com/jmoiron/sqlx2. 数据库基础操作 package mainimport ("fmt"_ "github.com/go-sql-driver/mysql""github.com/jmoiron/sqlx" )// 定…...

Python 爬取网页文字并保存为 txt 文件教程

引言 在网络数据获取的过程中,我们常常需要从网页中提取有用的文字信息。Python 提供了强大的库来帮助我们实现这一目标。本教程将以https://theory.gmw.cn/2023 - 08/31/content_36801268.htm为例,介绍如何使用requests库和BeautifulSoup库爬取网页文字…...

时间序列预测论文阅读和相关代码库

时间序列预测论文阅读和相关代码库列表 MLP-based的时间序列预测资料DLinearUnetTSFPDMLPLightTS 代码库以及论文库:Time-Series-LibraryUnetTSFLightTS MLP-based的时间序列预测资料 我会定期把我的所有时间序列预测论文有关的资料链接全部同步到这个文章中&#…...

Mamba安装环境和使用,anaconda环境打包

什么是mamba Mamba是一个极速版本的conda,它是conda的C重新实现,使用多线程并行处理来加速包和依赖项的下载。 Mamba旨在提高安装、更新和卸载Python包的速度,同时保持与conda相同的兼容性和命令行接口。 Mamba的核心部分使用C实现&#xff…...

SSH连接成功,但VSCode连接不成功

环境 在实验室PC上连接服务器234 解决方案:在VSCode中重新添加远程主机 删除旧的VSCode Server 在远程主机上,VSCode会安装一个‘vscode-server’服务来支持远程开发,有时旧的‘vscode-server’文件可能会导致问题,删除旧的&am…...

springboot结合AES和国密SM4进行接口加密

api接口加密 1.为什么需要api接口加密呢? 1.防止爬虫 2.防止数据被串改 3.确保数据安全 2.如何实现接口加密呢? 3.我们可以使用哪些加密算法来加密呢? AES 密码学中的高级加密标准(Advanced Encryption Standard,…...

iOS在项目中设置 Dev、Staging 和 Prod 三个不同的环境

在 Objective-C 项目中设置 Dev、Staging 和 Prod 三个不同的环境,并为每个环境使用不同的 Bundle ID,可以通过以下步骤实现: 步骤 1: 创建不同的 Build Configuration 打开项目: 启动 Xcode 并打开你的项目。 选择项目文件&…...

openeuler24.09 系统无需配置 docker 源即可安装 docker 和 docker-composer

准备工作 1、准备一台刚刚创建的 openeuler24.09 lxc 虚拟机 2、使用 dnf 更新到最新,安装常用 工具 dnf update -y dnf install vim net-tools wget3、设置 ssh 由于ssh 与通常网上教程大同小异,在此我们就略过。 从下图我们可以看到 openeuler24.09 已经远程连接上。 …...

Flask入门:打造简易投票系统

目录 准备工作 创建项目结构 编写HTML模板 编写Flask应用 代码解读 进一步优化 结语 Flask,这个轻量级的Python Web框架,因其简洁和易用性,成为很多开发者入门Web开发的首选。今天,我们就用Flask来做一个简单的投票系统,让你快速上手Web开发,同时理解Flask的核心概…...

日常思考笔记

技术管理, 团队管理,人才培养,梯队建设 项目管理,项目全生命周期,项目进度 考核规范, AQS 是CountDownLatch,ReentrantLock,Semaphore,ReentrantReadWriteLock的基础 vo…...

【JAVA】后台管理系统密码复杂度和修改密码处理

一、后台管理系统密码要求 后台管理系统密码要求 口令有效期:90天 口令长度8位及8位以上 口令复杂度要求,至少包含以下四类字符中的三类字符: 英文大写字母(A 到 Z)、英文小写字母(a 到 z)、10个基本数字(0 到 9)、特殊字符(例如 !、$、#、%、、^、&a…...

微服务SpringCloud链路追踪之Micrometer+Zipkin

视频教程: https://www.bilibili.com/video/BV12LBFYjEvR 效果演示 当我们发送一个请求给 Gateway 的时候,由 Micrometer trace 进行链路追踪和数据收集,由 Zipkin 进行数据展示。可以清楚的看到微服务的调用过程,以及每个微服务…...

Quartz(2-Trigger)

相关文章链接 定时任务工具类(Cron Util)SpringBoot TaskQuartz(1-Job)Quartz(2-Trigger) Trigger 方法 优先级(priority) 如果你的 trigger 很多(或者 Quartz 线程…...

【微信小程序开发 - 3】:项目组成介绍

文章目录 项目组成介绍项目的基本组成结构小程序页面的组成部分JSON配置文件的作用app.json文件project.config.json文件sitemap.json文件页面的 .json 配置文件新建小程序页面修改项目首页 XWML模板XWML 和 HTML 的区别 WXSS样式WXSS 和 CSS 的区别 .js文件 项目组成介绍 项目…...

Leetcode 三角形最小路径和

算法思想与代码详解 这段代码采用的是**动态规划(Dynamic Programming)**的思想,用来解决“120. 三角形最小路径和”问题。动态规划通过将问题分解成更小的子问题,并通过保存子问题的解来避免重复计算,从而提高效率。…...

DataOps驱动数据集成创新:Apache DolphinScheduler SeaTunnel on Amazon Web Services

引言 在数字化转型的浪潮中,数据已成为企业最宝贵的资产之一。DataOps作为一种文化、流程和实践的集合,旨在提高数据管道的质量和效率,从而加速数据从源头到消费的过程。白鲸开源科技,作为DataOps领域的领先开源原生公司&#xf…...

Android Studio的笔记--BusyBox相关

BusyBox 相关 BusyBoxandroid上安装busybox和使用示例一、下载二、移动三、安装和设置环境变量四、使用 busybox源码下载和查看 BusyBox BUSYBOX BUSYBOX链接https://busybox.net/ 点击链接后如图 点击左边菜单栏的Get BusyBix中的Download Source 跳转到busybox 的下载源码…...

MySQL 存储过程与函数:增强数据库功能

一、MySQL 存储过程与函数概述 (一)存储过程的定义与特点 存储过程是一组预编译的 SQL 语句集合,它们被存储在数据库中,可根据需要被重复调用。例如,在一个电商系统中,经常需要查询某个时间段内的订单数据…...

网络安全(3)_安全套接字层SSL

4. 安全套接字层 4.1 安全套接字层(SSL)和传输层安全(TLS) (1)SSL/TLS提供的安全服务 ①SSL服务器鉴别,允许用户证实服务器的身份。支持SSL的客户端通过验证来自服务器的证书,来鉴别…...

Git 快速入门

Git 是什么? Git 是一个分布式版本控制系统四大区域: 工作区:项目文件的当前状态,即本地目录。暂存区:保存将要提交的文件快照,是一个中间层,使用git add将文件添加到暂存区。本地仓库&#xf…...

AI学习记录 - 依据 minimind 项目入门

想学习AI,还是需要从头到尾跑一边流程,最近看到这个项目 minimind, 我也记录下学习到的东西,需要结合项目的readme看。 1、github链接 https://github.com/jingyaogong/minimind?tabreadme-ov-file 2、硬件环境:英伟达4070ti …...

数据结构----链表头插中插尾插

一、链表的基本概念 链表是一种线性数据结构,它由一系列节点组成。每个节点包含两个主要部分: 数据域:用于存储数据元素,可以是任何类型的数据,如整数、字符、结构体等。指针域:用于存储下一个节点&#…...

设计模式-读书笔记

确认好: 模式名称 问题:在何时使用模式,包含设计中存在的问题以及问题存在的原因 解决方案:设计模式的组成部分,以及这些组成部分之间的相互关系,各自的职责和协作方式,用uml类图和核心代码描…...

c语言----选择结构

基本概念 选择结构是C语言中用于根据条件判断来执行不同代码块的结构。它允许程序在不同的条件下执行不同的操作,使程序具有决策能力。 if语句 单分支if语句 语法格式: if (条件表达式) { 执行语句块; } 功能: 当条件表达式的值为真&#…...

KS曲线python实现

目录 实战 实战 # 导入第三方模块 import pandas as pd import numpy as np import matplotlib.pyplot as plt# 自定义绘制ks曲线的函数 def plot_ks(y_test, y_score, positive_flag):# 对y_test重新设置索引y_test.index np.arange(len(y_test))# 构建目标数据集target_dat…...