将 /etc/network/interfaces 转换为 netplan

use*_*836 7 server samba4 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
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息,内容为:

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

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

编辑:输出ls /etc/netplanIS 50-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
Run Code Online (Sandbox Code Playgroud)

chi*_*555 5

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

sudo -i
echo "network: {config: disabled}"  >  /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
exit
Run Code Online (Sandbox Code Playgroud)

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

sudo mv /etc/netplan/50-cloud-init.yaml  ~/50-cloud-init.yaml
Run Code Online (Sandbox Code Playgroud)

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

ifconfig
Run Code Online (Sandbox Code Playgroud)

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

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

sudo nano /etc/netplan/01-netcfg.yaml
Run Code Online (Sandbox Code Playgroud)

写出以下内容:

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]
Run Code Online (Sandbox Code Playgroud)

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

现在做:

sudo netplan apply
Run Code Online (Sandbox Code Playgroud)

重启。