ubuntu20.04 默认使用动态IP设置,但有时我们需要为其设置静态IP。本文将带着大家彻底搞清楚ubuntu20.04的IP设置方法。
如果你是在虚拟机中使用ubuntu20.04
,并对虚拟机的网络设置有疑问的话请看本人的拙作第3章 vmware虚拟机的三种网络设置.
networking 和 network-manager
在开始之前先弄清楚networking
服务和network-manager
服务的区别。
networking
是控制系统网络设置的,如果你修改了相关的网络配置需要重启此服务。
而network-manager
是管理networking
服务的一个图形化管理工具的后台服务程序。
为了继续下面的操作,需要大家安装一下net-tools
,以及ifupdown
,并重启一下系统。
sudo apt install -y ifupdown net-tools
init 6
![在这里插入图片描述](https://img-blog.csdnimg.cn/b9a942c8020249e0a3eb1bc99689996e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_20,color_FFFFFF,t_70,g_se,x_16)
联通性测试。
![在这里插入图片描述](https://img-blog.csdnimg.cn/b6f41d29c41e4f7c8d42fcaad867900e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_20,color_FFFFFF,t_70,g_se,x_16)
一切正常。
![在这里插入图片描述](https://img-blog.csdnimg.cn/6e460b3d7be946f8bdf98fc70469e04d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_20,color_FFFFFF,t_70,g_se,x_16)
至此大家对network-manager
有没有印象了?
继续。
通过修改/etc/network/interfaces
配置静态IP
接下来咱们通过修改``/etc/network/interfaces来配置
ubuntu20.04`的静态IP地址。
先来查看一下修改之前的IP地址。
![在这里插入图片描述](https://img-blog.csdnimg.cn/de3a4ad4db594946be8d4ded4e4233c2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_20,color_FFFFFF,t_70,g_se,x_16)
vim /etc/network/interfaces
在文件interfaces
中添加如下内容。
auto lo
iface lo inet loopback
auto ens33
iface ens33 inet static
address 192.168.2.117
netmask 255.255.255.0
gateway 192.168.2.1
📓 此处的address修改成了’192.168.2.117’
我先重启一下network-manager
再查看一下系统的IP地址,你会发现并没有改变。
![在这里插入图片描述](https://img-blog.csdnimg.cn/af7afc16ef68429eb9e2594cbe6f7fbb.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_20,color_FFFFFF,t_70,g_se,x_16)
我们再重启一下networking
服务吧。
systemctl restart networking
![在这里插入图片描述](https://img-blog.csdnimg.cn/ef9f0fb077ea4f548c767a86a3c3d48b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_20,color_FFFFFF,t_70,g_se,x_16)
已经显示修改后的IP了。
📓 如果通过systemctl restart networking
也无法正常显示修改后的IP的话,可以重启一下系统。❓ 不知此处是不是ubuntu的bug🐛
再用ip a
查看一下
![在这里插入图片描述](https://img-blog.csdnimg.cn/121ebf24e7d94fc0af1d1ae7d02f8192.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_20,color_FFFFFF,t_70,g_se,x_16)
联通性测试
ping baidu.com
![在这里插入图片描述](https://img-blog.csdnimg.cn/a9d4629f2f924e59b89404bc26079da0.png)
网络不通,上述信息提示是因为没有设置DNS
。
📓 修改/etc/systemd/resolved.conf
而不是修改/etc/resolved.conf
,如果修改/etc/resolved.conf
,重启系统DNS会失效。
su
echo "DNS=192.168.2.1 8.8.8.8" >> /etc/systemd/resolved.conf
systemctl restart systemd-resolved
📓 多个DNS之间用空格分开。
![在这里插入图片描述](https://img-blog.csdnimg.cn/40a1d1f217b54801bfb072d6b5b9e978.png)
重启系统再测试也没问题。
至此通过修改/etc/network/interfaces
文件的方式来配置静态IP的工作完成。
但是通过上述方法修改的静态IP你会发现在桌面右上角的网络图标上有一个"?".
![在这里插入图片描述](https://img-blog.csdnimg.cn/139d565a707148f2b393442323ec330e.png)
对于有强迫症的人来说,会感觉非常得不爽。
解决方案一:妥协的解决方法–眼不见为净
systemctl stop network-manager
systemctl disable networ-manager
解决方案二:通过图形化界面network-manager
设置静态IP
继续上面的步骤:先开启network-manager
(系统默认是开启的,上步中眼不见为净的解决方案把它关闭了。)
sudo systemctl enable network-manager
sudo systemctl start network-manager
清空前面我们的interfaces
文件中的配置内容。
cat /dev/null > /etc/network/interfaces
重启系统。
init 6
桌面右上角的网络图标又出现了,点击它。
![在这里插入图片描述](https://img-blog.csdnimg.cn/0018d4fbf4014f38a31773064eba935d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/36a86c0d81284ceea7c5bcaac4f25790.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_14,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/63713e9bee2c470cb4af7bfcbde61680.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_13,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/49cf62bbebf94e2b91b65d921544e045.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/bf9502db007b4a64896de5ee1671de8c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/906d4a4e6e8540d5904f4a4f4a5773c8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/cb87eb84648348ecacfaadbdcc5daafb.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2635301e289e4c40aaac3fb67793a376.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_20,color_FFFFFF,t_70,g_se,x_16)
通过ip a
命令检验。
ip a
![在这里插入图片描述](https://img-blog.csdnimg.cn/0acdc37d19e4493180172251c99be0b5.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Im-55Ge5oOc5pe2,size_20,color_FFFFFF,t_70,g_se,x_16)
解决方案三(推荐):使用netplan 命令
设置静态IP
ubuntu20.04
推荐使用netplan
命令设置静态IP地址。
netplan
使用yaml
格式的配置文件来配置网络地址。
vim /etc/netplan/01-network-manager-all.yaml
在01-network-manager-all.yaml
文件中renderer
那一行后面添加以下内容。
ethernets:
ens33:
addresses: [192.168.2.116/24]
gateway4: 192.168.2.1
nameservers:
addresses: [192.168.2.1,8.8.8.8]
完成后的文件是下面这个样子。
network:
version: 2
renderer: NetworkManager
ethernets:
ens33:
addresses: [192.168.2.116/24]
gateway4: 192.168.2.1
nameservers:
addresses: [192.168.2.1,8.8.8.8]
📓 注意yaml
文件是通过缩进来控制上下层级关系的,你的缩进可以是一个空格也可以是N个空格,但要在整个配置文件中要保持一致,并要注意在冒号的后面加一个空格。
让配置文件生效。
netplan apply
联通性测试。
![在这里插入图片描述](https://img-blog.csdnimg.cn/552a4df24e5049419922311939dfadd3.png)
OK
大家可以在修改一下配置文件中的IP地址,通过netplan apply
命令,地址可以立即生效。
🇵🇸 设置网络常用的几个命令
sudo ifdown ens33
ifdown: unknown interface ens33
报错的解决方法,使用命令
sudo ip link set ens33 down
sudo ifconfig ens33 down
sudo ifup ens33
ubuntu20.04
中ifup: unknown interface ens33
报错的解决方法,使用命令
ubuntu20.04
中ifup: unknown interface ens33
报错的解决方法,使用命令
sudo ip link set ens33 up
sudo ifconfig ens33 up
An error occurred: 'NetplanApply' object has no attribute 'state'
报错的解决方法。使用命令
netplan try --state /etc/netplan
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)