如何在 Ubuntu 21.10 中禁用临时动态 ipv6 地址?

如何在 Ubuntu 21.10 中禁用临时动态 ipv6 地址?

默认情况下,Ubuntu 21.10(20.04 应该相同)会生成临时/隐私 IPV6 地址。我想禁用此行为,以便将我的计算机变成服务器,为此,我希望拥有尽可能稳定的 IPV6 地址(特别是为了简化不使用 DDNS 配置 DNS 名称的过程,至少对于 IPV6 地址而言)。

看起来ip -6 address是这样的:

    inet6 2a02:a03f:a0bb:abcd:ea4b:d152:592e:74da/64 scope global temporary dynamic 
       valid_lft 83659sec preferred_lft 69259sec
    inet6 2a02:a03f:a0bb:abcd:3c0d:e2ad:569e:2536/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 83659sec preferred_lft 69259sec

我想要一个像这样的自动配置的永久地址(从同一网络中的服务器获取,该地址似乎是使用改进的EUI-64算法):

    inet6 2a02:a03f:a0bb:abcd:211:32ff:fe59:76be/64 scope global dynamic 
       valid_lft 64840sec preferred_lft 50440sec

请注意,我不想配置静态 IPV6 地址!

这就是我今天问这个问题的原因。大多数关于这个问题的 Google 搜索都以无意义的建议结束,解释如何配置静态 IPV6 地址。它与永久自动配置的地址不同。要生成这些地址,操作系统必须监听路由器以获取地址的前 64 位,然后用其 MAC 地址完成剩余的位。

答案1

到目前为止我发现的最佳解决方案来自这里

简而言之,我们以 root 身份执行以下命令:

cat >> /etc/sysctl.conf <<EOT
net.ipv6.conf.all.use_tempaddr=0
net.ipv6.conf.default.use_tempaddr=0
EOT

sysctl -p

重新启动后,结果如下:

inet6 2a02:a03f:a0bb:abcd:3c0d:e2ad:5693:2536/64 scope global dynamic noprefixroute 
   valid_lft 64209sec preferred_lft 49809sec

它似乎是一个永久的 IPV6 地址。

一些评论:

  • 奇怪的是,这个地址不符合改进的EUI-64算法方案,因为我看不到该算法应该始终产生的预期 FF:FE。我认为这是一件坏事,因为这可能意味着这个地址可能会被“遗忘”,例如,如果我完全重新安装我的电脑。(如果不是这样那就太酷了,因为拥有甚至可以在 SSD/HDD 完全崩溃后幸存下来的地址确实看起来很有趣。)
  • 经过更多搜索后,我不再确定是否有必要禁用此 IPV6 临时地址才能创建服务器(这是我的意图)。似乎第二个 IP 地址(带有 的 IP 地址scope global dynamic mngtmpaddr noprefixroute)与我通过禁用临时地址获得的 IP 地址相同,并且实际上可以 ping 通。所以我实际上可能只是使用该地址来访问我的服务器。

答案2

遇到了同样的问题。你还需要一个命令来实现你的目标:

跑步:

nmcli con modify "Profile name here" ipv6.addr-gen-mode eui64

“配置文件名称”应类似于“有线连接 1”

答案3

为了获得稳定的 IPV6 地址,必须更改两个设置:

  1. ipv6.addr-gen 模式这必须改为“eui64“。在这种情况下,地址后缀是使用从硬件地址派生的接口令牌生成的。如果前缀发生变化,后缀将保持不变,从而更容易处理 dynDNS 分配。
  2. ipv6.ip6-隐私这必须设置为“0“以禁用该功能。现在所有传出的数据包都将使用根据第一个设置 (eui64) 生成的 ipv6 地址发送。对于隐私来说,这是不好的。对于 dynDNS 来说,这是必需的,以便服务可以检测到后缀的可能更改并相应地更新 DNS 设置。

下面是使用 NetworkManager cli 更改这两个设置的命令(根据您的设置调整连接名称“有线连接 1”):

sudo nmcli connection modify "Wired connection 1" ipv6.addr-gen-mode eui64 ipv6.ip6-privacy 0

有关更多详细信息,请参阅此处的参考:https://networkmanager.dev/docs/api/latest/nm-settings-nmcli.html

相关内容