Ubuntu22.04Server虚拟机网络配置

一、遇到问题并排错的过程

遇到的问题:更改配置文件后,提示没有找到ens33这个网卡。重启之后配置文件又恢复为原来的样子。

因为网络没配好,启动的时候是下面这样:要等他超时之后(大概要等2分钟)才进入到系统。

IP add的结果,网卡名称为ens33,。

接下来是解决过程。

1、尝试修改配置文件

进入到这个目录。

shell 复制代码
cd /etc/netplan/

里面只有一个文件,就是网卡配置文件。

shell 复制代码
# 注意,要加sudo,不然权限不够,打开的时一个空文件(新建文件)
sudo vim 50-cloud-init.yaml 

初始内容如下:

好的,修改文件后,遇到第一个错误,IP地址格式不对。

文件内容如下:

报错如下:

我是按照这篇博客来配置的。

后话:配置成功后,我回过来看,发现上面之所以报错,是因为少了renderer: networkd守护进程这一行。

好吧,刚才看了官方文档,试了一下,配置了个临时地址,已经可以用xshell连接了。看来接下来是不会再出错了,就按照官方文档的介绍来配置。

2、尝试配置临时IP(暂时能用)

官方文档地址:配置网络 - Ubuntu Server documentation

进行下面的配置,设置临时IP后,可以用xshell连接。

shell 复制代码
# 配置临时IP地址,这里的ens33是我前面IP add命令查看到的网卡名称
sudo ip addr add 192.168.123.55/24 dev ens33
# 开启链接
ip link set dev ens33 up
# 配置网关
sudo ip route add default via 192.168.123.254

完成上面的配置就可以用xshell连接了。查看网卡IP和路由信息如下:

3、根据官方文档修改配置文件

下面是我修改后的网卡配置文件(虽然DNS没改过来,但是与后面的报错没关系)。

shell 复制代码
# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      addresses:
        - 192.168.123.55/24
      routes:
        - to: default
          via: 192.168.123.254
      nameservers:
          search: [mydomain, otherdomain]
          addresses: [10.10.10.1, 1.1.1.1]

修改配置文件后,运行sudo netplan try提示如下:

Ctrl+C取消后,执行下面的命令,使配置生效。

复制代码
sudo netplan apply

又报错了,查看了一下ovsdb-server.service服务的状态,直接没这个服务,后来有查看了一下,Open vSwitch也没安装,现在又连不了网,也装不了。

复制代码
# 报错信息
WARNING:root:Cannot call Open vSwitch: ovsdb-server.service is not running.

又用ip add看了一下,网络配置还是没有改过来。

看了一篇博客(这篇博客写的还挺好的),他的遇到的问题和我差不多(如下图),但是他的网络能正确配置。我就试着重启了一下。

重启之后,配置文件又恢复原样了。重来!@!

二、禁用cloud-init后,再次修改配置,成功

我注意到网卡配置文件中的一段话(其实在我写这篇文章之前,我好像就问过ai,它好像说过要修改一下这个文件来着,不过我没有注意),如下

复制代码
# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}

# 翻译如下:
该文件由数据源提供的信息生成。对它的更改不会在实例重新启动后持续。要禁用cloud-init的网络配置功能,请使用以下内容编写文件/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
network: {config: disabled}

就是说在/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg文件下添加内容network: {config: disabled},从而禁用cloud-init。

我尝试了一下,如下图。

修改之后,再次修改网卡配置文件,内容如下:

复制代码
# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    version: 2
    renderer: networkd
    ethernets:
      ens33:
        addresses:
          - 192.168.123.55/24
        routes:
          - to: default
            via: 192.168.123.254
        nameservers:
          search: [mydomain, otherdomain]
          addresses: [192.168.123.254,8.8.8.8]

修改完成后,执行sudo netplan try,直接回车确认更改配置。

虽然还是有警告,但是查看IP,配置已经更改成功了。

此时我试了一下,ping 百度,能解析出百度IP,但是无法ping通。xshell可以连接了。那就先重启一下试试。

重启后,没有出现A start job is running for wait for network to be configured.等两分钟的情况了,没多久就启动了。倒是在登录用户之前,弹出一条日志,如下:

登录后,可以ping通外网,也可以xshell连接了,网络配置成功!

再次查看网卡配置文件,一切正常。

总结

这次遇到的问题主要有三个。

1、开机时硬控两分钟的启动作业。

shell 复制代码
A start job is running for Wait for Network to be Configured (1min 25s no limit) 
# 翻译:正在运行一个启动作业,以等待配置网络

2、由于没有禁用cloud-init,导致网络配置无法生效。

shell 复制代码
该文件由数据源提供的信息生成。对它的更改不会在实例重新启动后持续。要禁用cloud-init的网络配置功能,请使用以下内容编写文件/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
network: {config: disabled}

3、配置完网卡文件后,try或者apply时出现的Warring信息。

shell 复制代码
WARNING:root:Cannot call Open vSwitch: ovsdb-server.service is not running.

关于问题1和2,都是因为没有禁用cloud-init导致的,把它禁用就好了。

问题3,只是个警告,倒是没什么影响。目前这个虚拟机主要用来部署网站,Open vSwitch一般是做SDN的实验才用到,也就不在这台虚拟机上安装了。

相关推荐
一只大黄猫1 天前
【数据库-入门2】基本概念
数据库
航Hang*1 天前
第十五章:网络系统建设与运维(高级)—— 总复习
网络·华为·ensp·期末·复习
实泽有之,无泽虚之1 天前
MySQL主机因多次连接数据库错误而被阻塞
数据库·sql·mysql
塔能物联运维1 天前
Zigbee自适应信道选择提升网络稳定性
网络
Knight_AL1 天前
从自然语言到 SQL:为什么向量数据库是更好的选择
数据库·sql
chenyuhao20241 天前
Linux网络编程:数据链路层
linux·运维·网络
北邮刘老师1 天前
【智能体互联协议解析】AIP/ACPs如何实现“自主互联,协商互通,独立自治”
网络·人工智能·大模型·智能体·智能体互联网
西敏寺的乐章1 天前
ThreadLocal / InheritableThreadLocal / TransmittableThreadLocal(TTL)学习总结
java·开发语言·网络
Maybe I Simple1 天前
MySql 数据库分表 简单思路
数据库·php·webman