原理概述
本篇文章所用工具:
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
-
GUI: 在桌面环境下,可以通过网络图标或者 Settings -> Network 界面来管理。
-
命令行工具: 使用 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更改,欢迎补充留言。希望本篇文章能对你有所帮助,如果可以点个👍
吧。