一般系统安装好后为DHCP动态获取IP的配置文件如下:
network:
version: 2
ethernets:
ens33:
dhcp4: true #动态ip
match:
macaddress: xx:xx:xx:xx:xx:xx #网卡mac地址
要修改Netplan 配置文件以设置静态IP,需要先备份原始配置文件,然后编辑配置文件,最后应用更改。
- 备份配置文件:
使用 cp
命令备份原始的Netplan 配置文件,通常是 /etc/netplan/01-network-manager-all.yaml
。例如:
my-pc@ubuntu$sudo cp /etc/netplan/01-network-manager-all.yaml{,.bak}
上述命令的01-network-manager-all.yaml文件自行替换成系统的文件名称(各有不同的配置文件名称),备份后的文件名为01-network-manager-all.yaml.bak
- 查看网卡名称、IP、MAC等信息:
my-pc@ubuntu$sudo ip addr
- 编辑配置文件:
使用文本编辑器(如 vim
或 nano
) 打开Netplan 配置文件,例如:
my-pc@ubuntu$sudo vim /etc/netplan/01-network-manager-all.yaml
在文件中找到你的网络接口配置,并修改为静态IP 设置。以下是一个示例,其中 ens33
是你的网络接口名称,192.168.5.15
是你想要设置的静态IP 地址,192.168.5.10
是网关地址,192.168.5.10
和1.1.1.1
以及223.5.5.5
是DNS 服务器地址:
network:
version: 2
renderer: networkd
ethernets:
ens33:
# 可以ip a查看以太网连接名称
addresses:
- 192.168.5.15/24
nameservers:
addresses: [192.168.5.10, 1.1.1.1, 223.5.5.5]
# gateway4: 10.10.10.1
# gateway4已经废弃,推荐使用routes
routes:
- to: default
via: 192.168.5.10
注:
- YAML在Saltstack中使用两个空格进行缩进,一定不要使用Tab进行缩进。
- YAML的冒号后边如果还要文本,需要一个空格。
- 列表项的写法类似Markdown,-加上空格。
这里的addresses: [192.168.56.3/24]
就是列表项,可以写作:
addresses:
- 192.168.56.3/24
如上[192.168.5.1 , 114.114.114.114]
的域名服务器设置,在通过netplan get
进行查看时,会显示为:
nameservers:
addresses:
- 192.168.5.1
- 114.114.114.114
整个配置为enp0s3网卡开启DHCP,该网络连接将自动获取地址;为enp0s8网卡配置了一个静态IP192.168.5.3,掩码为24位。
netplan常用命令:
完成了配置文件的描述,之后就可以进行通过netplan通过针对后端管理工具生成配置文件。
netplan操作命令提供常用子命令如下:
netplan generate
:生成后端管理工具对应的配置;netplan apply
:应用配置,必要时重启管理工具;netplan try
:在配置得到确认之后才应用,如果配置存在错误,则回滚,类似test;netplan get
:获取当前netplan配置;netplan set
:修改当前netplan配置。
netplan –debug apply 返回错误信息。
NetworkManager命令示例:
(选作操作)无移动设备桌面版(或移动设备虚拟机)需执行如下操作:
sudo systemctl status NetworkManager停止NetworkManger.service;
sudo systemctl disable NetworkManager关闭NetworkManger.service开启自启。
sudo netplan apply #应用配置。
注:网关不确定的情况下,可以通过networkctl status
查看(如果使用的是VMware虚拟机,则.2地址为网关和本地DNS服务器)。
辅助命令:
networkctl 可以查看网络设备的汇总信息,
networkctl status可以查看详情状态。
后续:
运行netplan apply
报错如下:
root@ubuntu:/etc/netplan# netplan try
WARNING:root:Cannot call Open vSwitch: ovsdb-server.service is not running.
Do you want to keep these settings?
可以尝试安装openvswitch-switch
软件包解决
sudo apt install openvswitch-switch
sudo systemctl start openvswitch-switch
sudo systemctl enable openvswitch-switch
sudo systemctl start openvswitch-switch