前情概要
Ubuntu系统上有两种网络管理工具,一个是Netmanager,另一个是systemd-networkd。前一个主要是提供图形化界面管理网络,后一个为命令行模式。桌面版默认开始了图形管理,直接在命令行中修改可能会出现各种奇怪的现象。本文探讨一种方式去启用命令行管理模式并设置网络信息。
使用systemd-networkd管理网络
- 禁用Netmanager
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
sudo systemctl mask NetworkManager
- 启用systemd-networkd
sudo systemctl unmask systemd-networkd.service
sudo systemctl enable systemd-networkd.service
sudo systemctl start systemd-networkd.service
- 编辑netplan
netplan文件位于/etc/netplan路径下,其格式为yaml格式,修改改文件为:
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: yes
- 执行如下命令使配置生效:
sudo netplan apply
- netplan配置文件说明
- renderer: 指定网络方案,可为networkd,NetworkManager
- enp0s3:网络接口名称。
- dhcp4和dhcp6:接受IPv4和IPv6接口的dhcp属性,yes或no。
- addresses:接口的静态地址序列。
- gateway4: 默认网关的IPv4地址。
- Nameservers: Nameservers的IP地址序列。
- 静态网址netplan配置实例
enp0s8:
dhcp4: no
dhcp6: no
addresses: [192.168.56.110/24, ]
gateway4: 192.168.56.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
多网卡情形下,注意网关和nameservers配置不当可能引起网络中断。
使用NetworkManager管理网络
- 禁用systemd-networkd
sudo systemctl disable systemd-networkd.service
sudo systemctl mask systemd-networkd.service
sudo systemctl stop systemd-networkd.service
- 安装NetworkManager(如系统存在可跳过)
sudo apt-get install network-manager
- 修改netplan文件,文件内容如下:
network:
version: 2
renderer: NetworkManager
- 生成后台配置文件
sudo netplan generate
- 启动NetworkManager服务
sudo systemctl unmask NetworkManager
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager