如何在 ubuntu 18.04 桌面上使用 neworkd 代替 NetworkManager

如何在 ubuntu 18.04 桌面上使用 neworkd 代替 NetworkManager

我正在寻找在 Ubuntu Desktop 18.04 上使用静态 IP 配置网络的正确方法,但是从命令行而不是 GUI 进行。

谢谢

答案1

我认为这已经非常接近“正确方法”了。

首先,您必须找出您的接口名称。为此,只需ip address从终端运行eno1即可。在我的计算机上,它位于第一行:

me@pc:~$ ip address
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 90:b1:1c:aa:bb:cc brd ff:ff:ff:ff:ff:ff
    inet 10.1.2.16/24 brd 10.1.2.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::5cd1:3ee8:c461:6f12/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

然后您只需编辑该文件/etc/netplan/01-network-manager-all.yaml并使其看起来像这样,以进行静态 IP 地址分配:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    eno1:
      renderer: networkd
      match:
        name: eno1
      addresses: [10.1.2.16/24]
      gateway4: 10.1.2.1
      nameservers:
        search: [example.com]
        addresses: [10.1.2.10]

这说明网络计划使用网络化在界面上eno1,而不是网络管理器

答案2

总结

编辑 /etc/systemd/network/*.network

完整示例:

为了使 wifi 正常工作,请确保替换wlan0使用与您的 WiFi 完全相同的名称。

您可以通过将配置文件添加到 /etc/systemd/network/*.network 来直接使用 systemd

编辑:/etc/systemd/network/10-eth0.network

[Match]
Name=eth0

[Network] 
Address=10.10.10.9/24
Gateway=10.10.10.1
DNS=9.9.9.9

编辑:/etc/systemd/network/20-wlan0.network

[Match]
Name=wlan0
SSID=Wifi-SSID

[Network]
DHCP=ipv4

我不使用 netplan,所以我更愿意删除它:

apt purge netplan.io
rm -rf /etc/netplan

启用 systemd-networkd:

systemctl unmask systemd-networkd
systemctl enable systemd-networkd

设置Wifi密码并开机启动:

wpa_passphrase Wifi-SSID Sweet-Password >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
systemctl enable  [email protected]

通过拒绝在启动时等待网络来加快启动时间:

systemctl disable systemd-networkd-wait-online.service

解释:

我知道这已经过时了,但我在这里添加了一种不同的方法,它不使用抽象层,例如 netplan.io 或 NetworkManager,这可能更接近地回答了该线程的标题,如果不是问题的话。

就我个人而言,我更喜欢这种方法,因为:

  • 现在每个主要发行版都使用 systemd,但很少使用 netplan。
  • 这很简单
  • 很容易排除故障
  • 可以用于非常复杂的设置,包括桥接、绑定、VLAN 等
  • 可用于重命名设备和更改 MAC 地址
  • 可用于根据无线 SSID 和其他 [Match] 指令进行不同的设置

认真地看一下 Arch wiki 页面,它通过示例对此进行了非常详细的解释。请通读全文,因为其中有一些陷阱。 https://wiki.archlinux.org/index.php/Systemd-networkd

相关内容