将 /etc/network/interfaces 转换为 netplan

将 /etc/network/interfaces 转换为 netplan

我正在跟进使用 Samba 制作 Ubuntu 活动目录域控制器的教程。

我遇到的问题是,他使用的是 Ubuntu Server 13.10,而我使用的是最新的 18.04。在这两个版本之间的某个时候,Ubuntu 停止使用/etc/network/interfaces并开始使用netplan

因此,当他说要修改/etc/network/interfaces,并添加:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static

address 192.168.2.100
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
gateway 192.168.2.1
dns-nameservers 192.168.1.100 8.8.8.8
dns-search <domain name>.local

我收到一条错误消息:

在此系统上,ifupdown 已经被 netplan(5) 取代。

我做了一些研究,发现现在应该将其存储在 中/etc/netplan/01-netcfg.yaml。此文件不存在。我应该创建它吗?另外,他说要放入 文件中的内容相当于netplan

编辑: 的输出为ls /etc/netplan50-cloud-init.yaml的输出为cat /etc/netplan/*.yaml

# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        enp0s3:
            addresses: []
            dhcp4: true
            optional: true
    version: 2

答案1

首先,让我们遵循 50-cloud-init.yaml 文件中的建议。请打开终端并执行以下操作:

sudo -i
echo "network: {config: disabled}"  >  /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
exit

接下来我们删除该文件并同时备份它:

sudo mv /etc/netplan/50-cloud-init.yaml  ~/50-cloud-init.yaml

接下来,使用以下命令验证以太网接口名称:

ifconfig

如果不是 enp0s3,请替换下面找到的接口。

现在让我们写一个新文件:

sudo nano /etc/netplan/01-netcfg.yaml

写下以下内容:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      addresses:
        - 192.168.2.100/24
      gateway4: 192.168.2.1
      nameservers:
          search: [<domain name>.local]
          addresses: [192.168.1.100, 8.8.8.8]

间距、缩进等都至关重要,必须准确无误。仔细校对两遍。保存(Ctrl+o 后按 Enter)并退出(Ctrl+x)文本编辑器。

现在做:

sudo netplan apply

重启。

相关内容