Ubuntu 切换静态IP

Ubuntu 桌面端 默认的网络管理工具是 NetworkManager (设置中的 网络), 但是它不太方便使用 命令行进行设置,所以需要先禁用它并且开启 networkd

sudo apt update sudo apt install systemd-networkd # 若未安装 networkd 则先安装
sudo systemctl stop NetworkManager && sudo systemctl disable NetworkManager # 禁用 NetworkManager
sudo systemctl start systemd-networkd && sudo systemctl enable systemd-networkd # 启用 systemd-networkd 或称 networkd
sudo systemctl enable systemd-resolved  && sudo systemctl start systemd-resolved # 启用 resolved ,networkd域名解析服务

ubuntu 使用 netplan 管理网络配置

netplan # 验证安装

可以进入 /etc/netplan 查看现有的网络配置

user@user-device:~$ cd /etc/netplan
user@user-device:/etc/netplan$ ll
total 20
drwxr-xr-x   2 root root  4096 3月  16  2023 ./
drwxr-xr-x 133 root root 12288 12月 17 06:40 ../
-rw-r--r--   1 root root   104 3月  16  2023 01-network-manager-all.yaml
user@user-device:/etc/netplan$ cat 01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: networkd # or NetworkManager 
user@user-device:/etc/netplan$ 

可通过下面的命令创建一个新的配置

sudo netplan set --origin-hint eno1_ipv2_interface ethernets.eno1.dhcp4=true
network:
  version: 2
  renderer: networkd
network:
  ethernets:
    eth0:
      addresses:
        - 192.168.1.8/24
        - 192.168.3.15/16
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 192.168.1.1
          - 223.5.5.5

在此 - eno1_ipv2_interface 可以任意明明,具有易读标识即可 - ethernets.eno1.dhcp4=true 是设置 eno1 开启 hdcp4

启用网络配置:

sudo netplan get  && 
sudo netplan generate &&
sudo netplan --debug apply

sudo systemctl stop NetworkManager && sudo systemctl disable NetworkManager && \
sudo systemctl start systemd-networkd && sudo systemctl enable systemd-networkd && \
sudo systemctl enable systemd-resolved  && sudo systemctl start systemd-resolved 
sudo systemctl start NetworkManager && sudo systemctl enable NetworkManager && \
sudo systemctl stop systemd-networkd && sudo systemctl disable systemd-networkd && \
sudo systemctl disable systemd-resolved  && sudo systemctl stop systemd-resolved