01-netcfg.yaml 和 50-cloud-init.yaml 均存在 - 找不到一个 IP

01-netcfg.yaml 和 50-cloud-init.yaml 均存在 - 找不到一个 IP

我是 Linux 的新手,正在学习中。我不是设置这些系统的人 - 但我现在需要了解和管理它们。

在 /etc/netplan 中 - 01-netcfg.yaml 和 50-cloud-init.yaml 都存在。

01 文件 - 是静态的 - 显示 192.168.100.30 50 文件 - 是 dhcp

当我执行 ipconfig -a 时,可以看到 100.30 地址。我找到的任何地方都看不到 100.50 地址。我不需要 dhcp - 服务器应该只设置为 100.30 静态 IP。

我可以简单地删除 50-cloud-init.yaml 文件吗 - 或者最佳做法是什么?

ifconfig -a的结果:

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:c0:4b:ea:91  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.30  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::215:5dff:fe00:700e  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:00:70:0e  txqueuelen 1000  (Ethernet)
        RX packets 17211039  bytes 1688816727 (1.6 GB)
        RX errors 0  dropped 4  overruns 0  frame 0
        TX packets 137882  bytes 550823194 (550.8 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 11147  bytes 843462 (843.4 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 11147  bytes 843462 (843.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

@heynnema 01-netcfg.yaml 的内容

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      addresses: [192.168.100.30/24]
      gateway4: 192.168.100.1
      nameservers:
        addresses: [192.168.100.26,192.168.100.19,8.8.8.8,8.8.4.4]

50-cloud-init.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:
        eth0:
            addresses: []
            dhcp4: true
    version: 2

/etc/netork/interfaces 的内容:

# ifupdown has been replaced by netplan(5) on this system.  See
# /etc/netplan for current configuration.
# To re-enable ifupdown on this system, you can run:
#    sudo apt install ifupdown

答案1

这两个文件的区别在于一个使用静态 IP 地址,另一个使用 dhcp。只要地址适合您的网络,只需使用/etc/netplan/01-netcfg.yaml。删除/etc/netplan/50-cloud-init.yaml

使用这个 .yaml...但没有 dhcp4,并且最多 3 个 DNS(逗号空格)服务器...

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses: [192.168.100.30/24]
      gateway4: 192.168.100.1
      nameservers:
        addresses: [192.168.100.26, 192.168.100.19]

sudo netplan --debug generate

sudo netplan apply

reboot

答案2

两个配置 yaml 文件具有相同的接口名称。

第一个 netplan 配置文件名以 01 开头...根据字符串顺序,01 在 50 之前。因此 01-netcfg.yaml 文件首先起作用。

并且您没有 DHCP 服务器。

在这种情况下,不需要文件 50-cloud-init.yaml

相关内容