微信扫一扫 分享朋友圈

已有 166 人浏览分享

开启左侧

ubuntu20.04如何把IP地址设置成静态

[复制链接]
166 0
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
image.png
image.png
image.png
至此大家对network-manager有没有印象了?
继续。
    通过修改/etc/network/interfaces 配置静态IP
接下来咱们通过修改``/etc/network/interfaces来配置ubuntu20.04`的静态IP地址。
先来查看一下修改之前的IP地址。

image.png
在文件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地址,你会发现并没有改变。

image.png
我们再重启一下networking服务吧。
systemctl restart networking

image.png
已经显示修改后的IP了。
如果通过systemctl restart networking也无法正常显示修改后的IP的话,可以重启一下系统。不知此处是不是ubuntu的bug
再用ip a查看一下

image.png
联通性测试
ping baidu.com

image.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之间用空格分开。

image.png
重启系统再测试也没问题。
至此通过修改/etc/network/interfaces 文件的方式来配置静态IP的工作完成。
但是通过上述方法修改的静态IP你会发现在桌面右上角的网络图标上有一个"?".

image.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

桌面右上角的网络图标又出现了,点击它。
image.png

image.png
image.png
image.png
image.png
image.png
image.png
image.png
通过ip a命令检验。
ip a
image.png

解决方案三(推荐):使用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]

完成后的文件是下面这个样子。
# Let NetworkManager manage all devices on this system
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

联通性测试。

image.png
大家可以在修改一下配置文件中的IP地址,通过netplan apply命令,地址可以立即生效。
免责声明:
1,海欣资源网所发布的资源由网友上传和分享,不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
2,海欣资源网的资源来源于网友分享,仅限用于学习交流和测试研究目的,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
3,海欣资源网所发布的资源由网友上传和分享,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。
4,如果您喜欢,请支持正版,购买正版,得到更好的正版服务,如有侵权,请联系我们删除并予以真诚的道歉,联系方式邮箱 haixinst@qq.com
海欣资源-企业信息化分享平台。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

0

粉丝

40

主题
热度排行
回复排行
最新贴子

Archiver|手机版|海欣资源 ( 湘ICP备2021008090号-1 )|网站地图

GMT+8, 2022-11-27 23:34 , Gzip On, Redis On.

免责声明:本站所发布的资源和文章均来自网络,仅限用于学习交流和测试研究目的,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 如果您喜欢,请支持正版,购买正版,得到更好的正版服务,如有侵权,请联系我们删除并予以真诚的道歉。