Ubuntu固定IP地址作用
首先,查看IP地址的命令是:
ip addr show
要注意子网掩码是21还是24.比如说172.17.23.45/21这里的21。
21 是 CIDR(Classless Inter-Domain Routing)表示法中的子网掩码位数,它指示了 IP 地址中网络部分和主机部分的分界线。
在这种情况下,172.17.23.45/21 表示 IP 地址 172.17.23.45,其中前面的 21 位(即前三个字节和第四个字节的前 5 位)表示网络部分,后面的 11 位(即第四个字节的后 3 位)表示主机部分。换句话说,这意味着这个 IP 地址是在一个使用子网掩码 255.255.248.0 的 /21 网络中。这个网络中可以容纳 2^(32-21) - 2 = 2046 个主机。
在 netplan 中,使用 CIDR 表示法来指定 IP 地址和子网掩码的组合,这样更加简洁和方便。例如,/21 子网掩码可以表示为 255.255.248.0。
在Ubuntu中,为无线网卡固定IP地址可以实现以下作用:
- 确保无线网卡的IP地址不会随机变化,使得其他设备可以通过该IP地址访问该设备。
- 确保无线网卡的IP地址与其他设备的IP地址不会冲突,避免网络出现问题。
Ubuntu固定IP地址的解决途径
为无线网卡固定IP地址的解决途径如下:
在 /etc/netplan/ 目录下创建一个YAML格式的配置文件,例如 01-network-manager-all.yaml,然后将以下内容添加到该文件中:
network:
version: 2
renderer: NetworkManager
wifis:
wlx90de80a1d942:
dhcp4: no
addresses: [172.17.23.45/24] # 将“192.168.0.10”修改为需要设置的IP地址
gateway4: 172.17.16.1 # 将“192.168.0.1”修改为本地路由器的IP地址
nameservers:
addresses: [8.8.8.8, 8.8.4.4] # 根据需要修改DNS服务器的地址
access-points:
"your_SSID":
password: "your_password"
保存文件后,执行以下命令使配置生效:
sudo netplan apply
注意事项
renderer: NetworkManager这句话是指在 Linux 系统中使用 NetworkManager 作为网络渲染器(renderer),除了networkmanager还有如下渲染器:
- systemd-networkd:systemd-networkd 是由 systemd 守护进程提供的网络管理服务。它可以自动检测和配置网络接口、连接到无线网络、管理 VLAN 和 PPP 连接等。
- ifupdown:ifupdown 是一个传统的网络管理工具,可以在 Debian 和 Ubuntu 等 Linux 发行版中使用。它通过读取和解释
/etc/network/interfaces
文件来管理网络连接。 - Connman:Connman 是一个轻量级的网络管理器,适用于嵌入式系统和移动设备上。它支持无线和有线网络,以及 PPP 和 VPN 连接。
选择哪种网络渲染器取决于应用程序的具体需求和所在的 Linux 发行版。例如,对于桌面 Linux 发行版,NetworkManager 是最常见的网络管理器之一,而在嵌入式系统中,Connman 可能更适合,因为它具有较小的内存占用和更快的启动速度。
如果使用的是 systemd-based 的 Linux 发行版(如 Ubuntu、Debian、CentOS、Fedora 等),可以使用以下命令检查正在使用的网络渲染器类型:
$ systemctl status systemd-networkd
如果输出中显示 systemd-networkd.service
,则表示正在使用 systemd-networkd 渲染器。如果没有显示该服务,则可能使用其他网络渲染器(如 NetworkManager 或 ifupdown)或者根本没有启用网络渲染器。
这里的wlx90de80a1d942是无线网卡的接口名称,根据实际情况可能需要修改。
DNS服务器的地址是用于解析域名的服务器地址,可以根据实际需要进行配置。在上面的示例中,我使用了 Google 的公共 DNS 服务器地址 8.8.8.8 和 8.8.4.4,你可以根据自己的需求修改成其他 DNS 服务器的地址。
本地路由器的IP地址是指连接到你本地网络的路由器的IP地址。一般情况下,你可以在路由器的管理界面中查看该地址。如果你不确定本地路由器的IP地址是什么,可以在命令行中输入以下命令,查看你的计算机的默认路由器的IP地址:
ip route | grep default
ip route 命令的输出结果中,以 default 开头的一行就是你的计算机的默认路由器的IP地址。
输出结果如下:
default via 172.17.16.1 dev wlx90de80a1d942 proto dhcp metric 600
proto dhcp 表示该IP地址是通过 DHCP 协议获取的,metric 600 表示该IP地址的优先级为 600。
或者使用如下命令也可以查看默认路由器的IP地址:
nmcli device show wlx90de80a1d942 | grep IP4.GATEWAY
输出如下:
IP4.GATEWAY: 172.17.16.1
或者使用如下命令,也可以查看默认路由器的IP地址:
route -n
route,-n表示不解析域名,输出结果如下:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.17.16.1 0.0.0.0 UG 600 0 0 wlx90de80a761a3
172.17.16.0 0.0.0.0 255.255.248.0 U 600 0 0 wlx90de80a761a3
如果使用的是静态IP地址,而且没有设置 DNS 服务器地址,那么你可能会遇到无法解析域名的问题。因此,建议在配置静态IP地址时,至少设置一个可用的 DNS 服务器地址。
/24 是子网掩码的一种表示方法,也叫做 CIDR 表示法。CIDR 表示法用于指定网络地址的长度,表示子网掩码中前面的连续的1的个数,如 /24 表示子网掩码中前24位是1,后8位是0。
对于这段代码,addresses 指定了无线网卡的IP地址和子网掩码。172.17.19.231/24 表示该IP地址的前24位是网络地址,后8位是主机地址,即该IP地址属于一个子网,子网掩码是 255.255.255.0,可以容纳256个主机。
因此,这里的 /24 表示子网掩码的前24位是1,后8位是0,即子网掩码是 255.255.255.0。
查看修改是否生效
执行以下命令查看无线网卡的IP地址是否已经修改为
ip addr show wlx90de80a1d942