无法配置静态 IPv6(Ubuntu 19.04)

无法配置静态 IPv6(Ubuntu 19.04)

我正在尝试为一个项目实现一个网络,该项目需要一台服务器、一台运行 Ubuntu 19.04 的虚拟机,以及两个静态 ipv4 和 ipv6 地址(机器每个接口上一个)来连接 2 个子网,但编辑我的/etc/network/interfaces文件似乎不起作用。

目前我的配置是这样的:

auto enp0s8
iface enp0s8 inet static
    address 192.168.20.10
    netmask 255.255.255.0
    network 192.168.20.0
    broadcast 192.168.20.255
    gateway 192.168.20.1

iface enp0s8 inet6 static
    address fc00::2:0:0:0:a
    netmask 64

auto enp0s9
iface enp0s9 inet static
    address 192.168.30.10
    netmask 255.255.255.0
    network 192.168.30.0
    broadcast 192.168.30.255
    gateway 192.168.30.1

iface enp0s9 inet6 static
    address fc00::3:0:0:0:a
    netmask 64

使用命令ip addr showipv4 可以正常工作,但我只能看到 2 个静态 ipv6 地址中的一个(每个接口也有其 fe80:链路本地地址)。我该如何修复此问题?

答案1

需要检查两件事,1. 您是否使用了正确的 ipv6 私有 IP,2. 您的系统是否正确配置为使用 netplan xor ifupdown(我假设使用 ifupdown 因为您正在使用 /etc/network/interfaces 文件)。

  1. 如果您没有从 ISP 获得有效的 IPv6 地址范围,则可以使用私有地址,该地址位于特殊 IP 范围 fc00::/7 内(根据 RFC4193)。请注意,此类地址将始终以“fd”开头,因为第 8 位必须为 1(因此为 fc00::/7 位)。全局 ID 和子网 ID 必须是随机的,然后您可以为其余部分(接口)分配任何内容。

地址 fc00::2:0:0:0:a 和 fc00::3:0:0:0:a 不是有效的私有 IP。应该是 fd00:: 等(假设这是意图)。这可能会在分配 IP 时导致问题。尝试使用众多在线服务之一,使用经过认证的随机生成器生成私有 IP。

  1. 检查 netplan 与 ifupdown:

netplan(后端:网络管理器桌面 GUI 或 systemd-networkd 服务):

systemctl status systemd-networkd.service
systemctl status NetworkManager.service

使用以下命令检查 netplan 在创建接口时执行的操作:

netplan --debug generate --mapping enp0s8

ifupdown(后端:网络)

systemctl status networking.service

检查 ifupdown 实际配置了哪些接口:

cat /run/network/ifstate

并确保列出了 ipv6 接口。

相关内容