通过 /etc/network/interfaces 进行环回的附加 IP 地址

通过 /etc/network/interfaces 进行环回的附加 IP 地址

我想添加169.254.255.254到环回接口,这样我就可以用hostlocal.io它从 docker 容器中明确引用主机。我不想运行docker 容器因此我想将它添加到/etc/network/interfaces

所以我尝试过

auto lo
iface lo inet loopback

auto lo.1
iface lo.1 inet static
  address 169.254.255.254/24

但抱怨 lo.1 不存在。然后我尝试

auto lo
iface lo inet loopback

iface lo inet static
  address 169.254.255.254/24

但似乎没有任何效果。所以我把它破解了

auto lo
iface lo inet loopback
        post-up ip addr add 169.254.255.254/24 dev lo:0
        pre-down ip addr del 169.254.255.254/24 dev lo:0

它可以工作,但感觉有点不靠谱。添加其他地址的正确方法是什么?

注意:我确实有网络管理器,但据我所知,环回不受其控制并且仍然在中定义/etc/network/interfaces,因此坚持这种方法似乎是更好的方法。

答案1

我认为你已经非常接近了!为了按照你希望的方式完成低地址寻址,你可能必须使用符号。你可能能够在接口文件中用掩码写出你的地址,但我使用了传统的符号,即地址、网络掩码和网络。:[num]

/etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo lo:0
iface lo inet loopback

# The primary network interface
auto ens33
iface ens33 inet dhcp

iface lo:0 inet static
  address 169.254.255.254
  netmask 255.255.255.0
  network 169.254.255.0

lo 上的结果 IP 地址变为:

user@server:~$ ip addr show dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 169.254.255.254/24 brd 169.254.255.255 scope global lo:0
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
user@server:~$

我认为 169.254.0.0/16 范围用于本地链接 - 但您可以根据需要修改上述内容。

希望有所帮助。

相关内容