Ubuntu系统更改IP,保姆级教程

原理概述

本篇文章所用工具:
Xshell:点击下载
VMware Workstation Pro:点击下载
密钥需要自行搜索所下载的VMware对应版本密钥。

IP 地址

IP 地址(Internet Protocol Address)是分配给每个连接到计算机网络的设备的唯一标识符,用于在网络中标识并进行通信。IP 地址遵循严格的分配规则,特别是在网络规划、子网划分和网关配置等方面。IP 地址可以分为私有地址和公共地址:

私有 IP 地址: 用于局域网(LAN)内部,不能直接通过互联网访问。常见的私有 IP 地址范围包括:

10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255

在这些范围内,你可以自由地定义和分配 IP 地址给你的局域网设备,但必须确保同一网络内没有 IP 地址冲突,否则可能导致通信失败或网络不稳定。

公共 IP 地址: 由互联网服务提供商(ISP)分配,用于全球范围内的网络设备通信。公共 IP 地址必须是唯一的,以避免网络冲突。

子网掩码

子网掩码(Subnet Mask)是一个 32 位的数字,用于划分 IP 地址中的网络部分和主机部分。它与 IP 地址一起使用,用来确定一个 IP 地址属于哪个子网。

子网掩码的结构: 与 IPv4 地址相似,子网掩码由四个八位二进制数(每个八位称为一个八位字节)组成,例如:255.255.255.0。在二进制表示中,子网掩码通常由连续的 1 和连续的 0 组成,1 的部分表示网络地址,0 的部分表示主机地址。例如,255.255.255.0 在二进制中表示为 11111111.11111111.11111111.00000000,其中前 24 位(1 的部分)表示网络部分,后 8 位(0 的部分)表示主机部分。

子网掩码的作用: 子网掩码的主要作用是帮助网络设备区分网络部分和主机部分。例如,在一个 192.168.1.0/24 的网络中,子网掩码 255.255.255.0 会告诉设备前 24 位是网络地址,最后 8 位用于标识同一网络中的主机。

同时一般多表示为255.255.255.0

网关

网关(Gateway)是一个网络节点,用于连接两个不同网络的通信设备。它充当网络与网络之间的中介,负责将数据从一个网络传输到另一个网络,通常用于连接本地网络(如家庭或企业内部网络)和外部网络(如互联网)。

默认网关: 默认网关是指网络设备在无法找到目标网络时,将数据包发送到的默认 IP 地址。这个地址通常是路由器或其他网络设备的 IP 地址。网关负责将本地网络的数据包转发到外部网络或其他子网。

网关配置示例: 如果你的本地网络使用 192.168.1.x 地址段,并且网关的 IP 地址是 192.168.1.1,那么当你尝试访问不在 192.168.1.x 网段内的 IP 地址(例如访问互联网时),你的设备会将数据包发送到 192.168.1.1。网关会根据目标地址的不同,将数据包转发到适当的网络。重点是,网关 IP 地址的前三个八位字节(192.168.1)必须与设备的 IP 地址保持一致,以确保在同一子网内正常通信。

比如IP是192.168.11.xxx那么网关就必须为192.168.11.1否则无法正常访问网络。

开始操作

首先,先查看当前虚拟的的网络配置文件

sudo ls /etc/netplan/

运行会得到一个以.yaml结尾的文件这就是我们的网络配置文件

采用vim编辑器打开文件
sudo nano /etc/netplan/01-netcfg.yaml
在这里插入图片描述
在这里插入图片描述
可以看到我的配置文件是由系统的网络配置由NetworkManager 管理,而不是通过 netplan 直接配置。这样做的好处是可以通过NetworkManager 提供的图形界面或命令行工具来方便地管理网络配置。

NetworkManager 形式

如果和我一样就需要通过两种方式更改IP

  1. GUI: 在桌面环境下,可以通过网络图标或者 Settings -> Network 界面来管理。

  2. 命令行工具: 使用 nmcli 来配置网络。
    我是用的第二种直接通过命令行来实现先通过nmcli con show获取网络连接的名称。

我的是Wired connection 1

在这里插入图片描述

再运行下方命令分别是
改IP

sudo nmcli con mod "Wired connection 1" ipv4.addresses "192.168.1.100/24"

改网关

sudo nmcli con mod "Wired connection 1" ipv4.gateway "192.168.1.1"

设置DNS 服务器地址

sudo nmcli con mod "Wired connection 1" ipv4.dns "8.8.8.8"

将IPv4 地址配置模式设置为“手动”

sudo nmcli con mod "Wired connection 1" ipv4.method manual

激活连接

sudo nmcli con up "Wired connection 1"

查看设置的IP是否应用

ip addr show

一般来说到这一本基本都能正常使用新的IP来进行操作了,但是也有特殊情况由于我使用的是VMware Workstation Pro来打开的虚拟机且我非要将原有的IP192.168.62.xxx改为192.168.1.xxx的形式就导致ping不通无法远程连接联网等
在这里插入图片描述
这时候我们就要打开VM的虚拟网络设置选择VMnet8再将子网IP改为192.168.1.0然后点击NAT设置将网关也对应上改为192.168.1.1这时候打开cmd ping一下IP地址发现ping通再次尝试远程连接发现连接上,这时候问题就解决啦。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

netplan 形式

由于我不是这种类型以下是建议可以进行尝试不成功求放过 (。ω。)
如果成功欢迎私信投稿助我完善本部分

首先先获取网络接口ifconfig -a后面会用到,接着就是回到.yaml文件将配置安装下方文件修改。

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:  # 替换为你的网络接口名称
      dhcp4: no
      addresses:
        - 192.168.1.100/24  # 设置 IP 地址和子网掩码
      gateway4: 192.168.1.1  # 设置网关
      nameservers:
        addresses:
          - 8.8.8.8  # 设置 DNS 服务器
          - 8.8.4.4

在上面的配置中:

192.168.1.100/24表示 IP 地址为 192.168.1.100,子网掩码为 255.255.255.0/24表示前 24 位是网络部分,剩余的 8 位是主机部分。
常见子网掩码表示法与 CIDR 对照表

/8 对应子网掩码 255.0.0.0
/16 对应子网掩码 255.255.0.0
/24 对应子网掩码 255.255.255.0
/32 对应子网掩码 255.255.255.255

编辑完配置文件后,保存并退出编辑器。然后使用sudo netplan apply命令应用更改,使用ip addr show ens33验证是否更改完成。

通过以上步骤基本就能完成 netplan形式的IP更改,欢迎补充留言。希望本篇文章能对你有所帮助,如果可以点个??吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/957480.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IO进程----进程

进程 什么是进程 进程和程序的区别 概念: 程序:编译好的可执行文件 存放在磁盘上的指令和数据的有序集合(文件) 程序是静态的,没有任何执行的概念 进程:一个独立的可调度的任务 执行一个程序分配资…

使用插件SlideVerify实现滑块验证

作者gitee地址:https://gitee.com/monoplasty/vue-monoplasty-slide-verify 使用步骤: 1、安装插件 npm install --save vue-monoplasty-slide-verify 2、在main.js中进行配置 import SlideVerify from vue-monoplasty-slide-verify; Vue.use(SlideV…

初探——【Linux】程序的翻译与动静态链接

我们所写的C/C程序计算机是看不懂的,它只认识0101这样的机器码。所以我们就需要借助编译器对这些源代码进行翻译,使之成为计算机能够执行的二进制指令。这个过程通常分为几个关键步骤:预处理、编译、汇编和链接。 一.预处理(Prep…

亲测有效!如何快速实现 PostgreSQL 数据迁移到 时序数据库TDengine

小T导读:本篇文章是“2024,我想和 TDengine 谈谈”征文活动的优秀投稿之一,作者从数据库运维的角度出发,分享了利用 TDengine Cloud 提供的迁移工具,从 PostgreSQL 数据库到 TDengine 进行数据迁移的完整实践过程。文章…

matlab实现数据极坐标显示

%% % 读取文件数据 filename E:\ProjectWorkspace\866\866data\665hangji.txt;%代码 距离 方位相对正北 时间 地址 横滚角度 TRK importdata(filename); filename1 E:\ProjectWorkspace\866\866data\665dianji.txt;%代码 距离 方位相对正北 时间 地址 横滚角度 PLOT …

Jenkins 启动

废话 这一阵子感觉空虚,心里空捞捞的,总想找点事情做,即使这是一件微小的事情,空余时间除了骑车、打球,偶尔朋友聚会 … 还能干什么呢? 当独自一人时,究竟可以做点什么,填补这空虚…

人工智能之深度学习_[4]-神经网络入门

文章目录 神经网络基础1 神经网络1.1 神经网络概念1.1.1 什么是神经网络1.1.2 如何构建神经网络1.1.3 神经网络内部状态值和激活值 1.2 激活函数1.2.1 网络非线性因素理解1.2.2 常见激活函数1.2.2.1 Sigmoid 激活函数1.2.2.2 Tanh 激活函数1.2.2.3 ReLU 激活函数1.2.2.4 SoftMa…

卸载和安装Git小乌龟、git基本命令

卸载 Git 打开控制面板: 按 Win R 打开运行对话框,输入 control 并按回车键。或直接在功能搜索里搜索“控制面板”。在控制面板中,选择“程序”或“程序和功能”。 查找并卸载 Git: 在程序列表中找到“Git”或“Git for Windows…

群论学习笔记

什么是对称? 对称是一个保持对象结构不变的变换,对称是一个过程,而不是一个具体的事物,伽罗瓦的对称是对方程根的置换,而一个置换就是对一系列事物的重排方式,严格的说,它也并不是这个重排本身…

C语言自定义类型:结构体

结构体简介: c语言里int 、float、double、等等类型来表示一个对象,但有时也有未能表达的对象,比如表示一个人的类型,这个类型里有人的身高、体重、年龄等等,这就需要很多个类型来拼凑,这就很不方便。于是…

【整体介绍】

ODO:汽车总行驶里程 Chime: 例如安全带没系的报警声音 多屏交互就是中控屏的信息会同步到主驾驶的仪表盘上 面试问题:蓝牙电话协议HFP 音乐协议A2DP 三方通话测试的逻辑

线性规划:机器学习中的优化利器

一、线性规划的基本概念 线性规划(Linear Programming, LP)是运筹学中数学规划的一个重要分支,用于在一组线性不等式的约束条件下,找到线性目标函数的最大值或最小值。其问题可以表述为: 在一组线性约束条件 s.t.&am…

SurgiTrack:外科手术视频中的细粒度多类别多工具跟踪|文献速递-视觉大模型医疗图像应用|文献速递-视觉大模型医疗图像应用

Title 题目 SurgiTrack: Fine-grained multi-class multi-tool tracking in surgical videos SurgiTrack:外科手术视频中的细粒度多类别多工具跟踪 01 文献速递介绍 手术器械跟踪在计算机辅助手术系统中发挥着至关重要的作用,可为一系列应用提供有价…

亚博microros小车-原生ubuntu支持系列:1 键盘控制

背景:电脑配置不太行,我在ubuntu再运行vmware,里面运行亚博官方的虚拟机镜像ubuntu,系统很卡。基本上8G内存给打满了。还是想把亚博官方的代码迁移出来,之前售后就说除了官方镜像虚拟机,需要自己摸索迁移。…

总结5..

#include<stdio.h> struct nb {//结构体列队 int x, y;//x为横坐标&#xff0c;y为纵坐标 int s, f;//s为步数&#xff0c;//f为方向 }link[850100]; int n, m, x, y, p, q, f; int hard 1, tail 1; int a[52][52], b[52][52], book[52][52][91]; int main() { …

鸿蒙系统 将工程HarmonyOS变成OpenHarmony

DevEco Studio软件创建工程后需要修改两个地方&#xff1a; 修改第二个build-profile.json5文件 将原先内容&#xff1a; {"app": {"signingConfigs": [],"products": [{"name": "default","signingConfig": &q…

什么样的问题适合用递归

递归是一种通过函数调用自身来解决问题的方法。递归适用于那些可以被分解为相似子问题的问题&#xff0c;即原问题可以通过解决一个或多个更小规模的同类问题来解决。递归通常需要满足以下两个条件&#xff1a; 递归基&#xff08;Base Case&#xff09;&#xff1a;问题的最简…

C# 网络协议第三方库Protobuf的使用

为什么要使用二进制数据 通常我们写一个简单的网络通讯软件可能使用的最多的是字符串类型&#xff0c;比较简单&#xff0c;例如发送格式为(head)19|Msg:Heart|100,x,y,z…&#xff0c;在接收端会解析收到的socket数据。 这样通常是完全可行的&#xff0c;但是随着数据量变大&…

认识BOM

BOM 弹出层 可视窗口尺寸 屏幕宽高 浏览器内核和其操作系统的版本 剪贴板 是否允许使用cookie 语言 是否在线

国产编辑器EverEdit - 大纲视图

1 大纲视图 1.1 应用场景 在编辑较长代码文件时&#xff0c;使用大纲视图可以方便的检视当前文件的变量、函数等信息&#xff0c;方便在不同函数间跳转&#xff0c;对整个文档的全貌了然于胸。   在编辑XML文档时&#xff0c;通过展示XML文件的层次结构、节点布局&#xff0…