0


ubuntu22.04配置静态ip问题

本博客是本人本人在配置ubuntu静态ip地址踩到的坑。
有一天,本人想通过FinalShell这个工具来访问我的虚拟机中的ubuntu,也为到时候来访问树莓派内的ubuntu系统做准备。

  • 问题1:gateway4 报错
  • 问题2:网络配置文件01-network-manager-all.yaml are too open…报错

一、查看当前ip信息

在ubuntu中,我们可以通过ifconfig命令查看当前的ip地址

输入:

robot@robot-virtual-machine:~/桌面$ ifconfig

输出结果:

robot@robot-virtual-machine:~/桌面$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.142.129  netmask 255.255.255.0  broadcast 192.168.142.255
        inet6 fe80::20c:29ff:fe94:97ce  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:94:97:ce  txqueuelen 1000(以太网)
        RX packets 643  bytes 451130(451.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 954  bytes 122923(122.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 19  base 0x2000

我们会在终端中打印出当前的ip地址为192.168.142.129,还有自己的网卡名称ens33。

接着我们在命令行中输入route -n

输入:

robot@robot-virtual-machine:~/桌面$ route -n

输出结果:

robot@robot-virtual-machine:~/桌面$ route -n
内核 IP 路由表
目标            网关            子网掩码        标志  跃点   引用  使用 接口
0.0.0.0192.168.142.20.0.0.0         UG    10000 ens33
169.254.0.00.0.0.0255.255.0.0     U     100000 ens33
192.168.142.00.0.0.0255.255.255.0   U     10000 ens33

这个地方也可以看到你的网络接口,即网卡号,即ens33,还有当前的网关 192.168.142.2 这个信息要记住,待会要用。

现在这个ip地址是DHCP自动分配的,我们每次打开虚拟机后,可能被分配的地址就会发生变化,就会让我们在通过shell工具访问ubuntu时,会极其不方便,故我们现在来将它设置为静态地址。

二、修改为静态ip地址

首先:进入到带有网络配置文件的目录下

robot@robot-virtual-machine:~/桌面$ cd /etc/netplan/

正常来说你会找到这个文件,这个文件的命名随你的版本来找,反正只要是有network,然后有yaml结尾的就行。

01-network-manager-all.yaml

接着:阅读该文件

robot@robot-virtual-machine:/etc/netplan$ sudo cat 01-network-manager-all.yaml 

当我们去打开这个文件时,当一个没有对网络进行配置的新系统,会出现以下的文本。

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

最后的renderer: NetworkManager 可能会因为你是桌面版和无桌面版有所不一样,无桌面版应该是 networkd。接下来就要对这个文件进行修改配置了。

在现在很多的教程中,大部分人给你的方案可能是以下这样
将以下内容替换到你的 01-network-manager-all.yaml文件里面

#Let NetworkManager manage all devices on this system
network: # 网络
  version:2 # 版本
  renderer: NetworkManager # 渲染器
  ethernets: # 以太网
    ens33: # 这里的ens33,就是但是用route -n 看到最右边的那个
      addresses:[192.168.142.129/24] # ip地址跟一开始的那个ifconfig看到那个ip地址一样就行
      dhcp4: false # 关闭自动分配
      dhcp6: false # 关闭自动分配
      gateway4:192.168.142.2 # 网关  # 这个网关根据自己的route -n查到的来填写
      nameservers: # 域名服务器
        addresses:[8.8.8.8,114.114.114.114]

但是本人用这个是跑不通的,尝尝会报错:

`gateway4` has been deprecated, use default routes instead. See the 'Default...

解决方法:

#Let NetworkManager manage all devices on this system
network:                   # 网络
  version:2               # 版本
  renderer: NetworkManager # 渲染器
  ethernets:               # 以太网
    ens33:
      addresses:[192.168.142.129/24]
      dhcp4: false
      dhcp6: false
      routes:- to:default
          via:192.168.142.2 # 默认网关
      nameservers:               # 域名服务器
        addresses:[8.8.8.8,114.114.114.114]

我这里将gateway4 替换成了 routes 这个网关也要记得跟着一开始gateway4后面改,就好了。
然后在编写该文件时,是通过

robot@robot-virtual-machine:/etc/netplan$ sudo vim 01-network-manager-all.yaml 

具体vim的操作,可以自行去查阅了解,这里就不再做讲解。
需要注意的是,这个文件中 不允许出现tab键,只能允许空格来实现对齐,这里推荐两个空格。具体要求可以去看看 yaml编写标准 。这里也不在赘述。

三、更新配置信息

当我们修改完网络配置信息后。
输入:sudo netplan apply

robot@robot-virtual-machine:/etc/netplan$ sudo netplan apply

这里有一个坑,可能会报错:

Permissions for/etc/netplan/01-network-manager-all.yaml  are too open. Netplan configuration should NOT be accessible by others.

这是由于你开放权限太高导致的。
我们可以通过进入root,然后查看权限信息。

robot@robot-virtual-machine:/etc/netplan$ su
密码: 
root@robot-virtual-machine:/etc/netplan# 

会输出以下内容:

robot@robot-virtual-machine:/etc/netplan# ll
total 12
drwxr-xr-x  2 root root 4096 Aug  406:37./
drwxr-xr-x 99 root root 4096 Aug  409:07../-rw-r--r--1 root root  118 Aug  309:5701-network-manager-all.yaml

这时,我们就需要通过chmod命令来修改当前文件的权限了。

root@robot-virtual-machine:/etc/netplan# chmod 060001-network-manager-all.yaml 

修改后,再次运行 network apply 。就可以运行成功不会报错了。

root@robot-virtual-machine:/etc/netplan# network apply 

最后再ifconfig,就能看到ip地址已经变成你写在文件内addresses 中的地址了,此时的地址为静态地址。你也可以通过再次修改yaml文件中的ip地址,更改最后一个小数点后的数,数值范围为0-255,你设置完,再netplan apply一下,再用ifconfig看,就会再次变化了。
最后记得通过su [你的用户名,我这里是robot]
即su robot 来退出root用户

四、结语

至此,配置虚拟ip地址结束。感谢你的收看,如果对你有帮助的话,可以点个关注加点赞,希望你们能少走一点弯路。

标签: tcp/ip ubuntu linux

本文转载自: https://blog.csdn.net/coward__123/article/details/134285762
版权归原作者 手lu代码哥 所有, 如有侵权,请联系我们删除。

“ubuntu22.04配置静态ip问题”的评论:

还没有评论