Ubuntu2204server系统安装后的初始化配置报错
1、netplan apply网络应用报错
先附上报错:
sudo netplan apply
WARNING:root:Cannot call 0pen vSwitch: ovsdb-server.service is not running
解决方法
sudo apt install openvswitch-switch
sudo systemctl start ovsdb-server
2、宿主机可以ping通虚拟机,但是虚拟机ping不通外部
这种情况下一般是外部宿主机的防火墙拦掉了,因为我环境是windows,所以只附上windows下关闭防火墙的步骤示意图,linux宿主机的话使用systemctl关掉防火墙即可。
打开控制面板–>按类别划分–>选择系统和安全–>打开防火墙–>打开高级设置–>点击入站规则–>找到文件和打印共享(回显请求-ICMPv4-In)右键启用
3、ubuntu2204server系统初始化配置
通常在实验情况下,Ubuntu2204server系统都是以虚拟机的状态安装在VMwareworkstation中,此时如果想要虚拟机和主机之间可以网络互通,并且虚拟机可以访问外网的话,需要配置Ubuntu2204server虚拟机为桥接模式,这个可以在页面上设置,如下图
在Ubuntu内通过修改网卡配置文件可以编辑网卡,如下:
xx@yunlan:~$ sudo vim /etc/netplan/01-static-config.yaml # 没有此文件自动创建
network:ethernets:ens33: # 网卡名,通过`ip a`命令确认dhcp4: noaddresses: [172.20.10.10/28] # 静态IP/子网掩码routes:- to: defaultvia: 172.20.10.1 # 网关(路由器IP)nameservers:addresses: [8.8.8.8, 1.1.1.1] # DNSversion: 2
需要注意的是,addresses这个字段需要配置和宿主机相同网段的,可以打开cmd输入ipconfig查看本机ip,一定要注意子网掩码噢,这个子网掩码有可能不是平常默认的255.255.255.0,以我的为例,我的是255.255.255.240,那么这个网段规定了我虚拟机内的ip可取值是从172.20.10.1~172.20.10.15,掩码为28位,这个换算关系如果不会的话,网络知识掌握的可不太好哦,可以去补一下“子网掩码的计算”这个知识。
编辑好网卡之后sudo netplan apply
应用一下
注:编辑yaml文件时一定要注意格式,yaml不支持tab键,缩进必须要严格按照两个空格来敲,而且里面要注意一定要采用英文字符书写
如果是直接编辑的/etc/netplan/50-cloud-init.yaml文件,重启虚拟机的话会发现,下次再开机,/etc/netplan/50-cloud-init.yaml这个配置文件会再变成默认的原始文件,这个是由于cloud-init引起的,所以需要把cloud-init一并禁用。cloud-init服务是用作云服务器的初始化配置的,但是一般测试情况下,这个服务用不上,因为不涉及上云,所以可以把cloud-init禁用
sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg # 创建该文件添加以下内容
network: {config: disabled}
# 保存后清理缓存
sudo cloud-init clean
sudo rm /etc/netplan/50-cloud-init.yaml # 删除cloud-init自动生成的配置文件
sudo vim /etc/netplan/01-static-config.yaml # 创建新的网卡配置文件,网卡内容参见前面的内容
sudo netplan apply