如何为 Ubuntu 服务器获取静态内部 IP?

如何为 Ubuntu 服务器获取静态内部 IP?

我正在尝试让我的家庭服务器使用静态 IP,而不是来自 DHCP 的 IP。我使用的是 Ubuntu 服务器 22.04。

/etc/netplan/00-installer-config.yml我用一个名为/etc/netplan/01-network-manager-all.yml(这是里面唯一的文件)的文件替换了该文件/etc/netplan,其内容如下:

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.0.2/24]
      gateway4: 192.168.0.1
      nameservers:
        addresses: [8.8.8.8]

运行sudo netplan apply,,有效,也尝试了所有带有标志netplan test的功能。netplan generate--debug

但是我找不到在网络适配器内使用该 IP 的方法。

运行命令ip address show dev eno1显示:

2: eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether *** brd ff:ff:ff:ff:ff:ff
    altname enp0s31f6
    

我重启了系统很多次,我注意到在加载 Ubuntu 时,我收到以下消息:

A start job is running for wait for network to be configured

它会停留 2 分钟,然后加载登录提示。

为了提供背景信息,我尝试这样做是因为我想使用 pi-hole 将这台计算机用作 DHCP 服务器。我考虑过将此 IP 绑定到 DHCP 本身,但由于此解析发生在 docker 容器加载之前,所以我正在寻找一种不使用 DHCP 服务器的情况下使用静态 IP 的方法。

答案1

发现问题了!

我创建的文件的.yml扩展名不是.yaml。因此实际上没有加载任何配置。

相关答案.yml和之间的差异.yaml

答案2

我认为你可能是把地址列表放在了 [] 中?我的地址列表如下:

network:
  ethernets:
    enp2s0f0:
      addresses:
      - 192.168.1.254/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 192.168.1.254
          - 1.1.1.1
          - 1.0.0.1
        search: []
    enp2s0f1:
      addresses:
        - 192.168.1.253/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 192.168.1.253
          - 1.1.1.1
          - 1.0.0.1
        search: []
  version: 2

相关内容