我的静态 IPv6 接口标识符是什么?

我的静态 IPv6 接口标识符是什么?

已经习惯IPv4这么久了,对IPv6还真是陌生。

我最近想向我的 OpenWRT 路由器添加一条防火墙规则,以允许入站 IPv6 连接到我的 Fedora 计算机的某个端口。不过我了解到 IPv6 地址会不时发生变化。所以我提到了一个官方教程并发现我可以使用带有负网络掩码(类似::xxxx:xxxx:xxxx:xxxx/-64)的接口标识符来确保我的 OpenWRT 路由器始终可以找到我的 Fedora,即使子网前缀随着 ISP 提供的 PD 的变化而变化。

然后,我接下来要做的就是找到一个“静态接口标识符”。 (有动态的,对吧?)所以,我ip a在 Fedora 上输入并得到

$ ip a
...
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether xx.xx.xx.xx.xx.xx brd ff:ff:ff:ff:ff:ff
    altname enp0s18
    inet 10.0.1.3/22 brd 10.0.3.255 scope global noprefixroute ens18
       valid_lft forever preferred_lft forever
    inet6 fd4a:xxxx:xxxx::ppp/128 scope global dynamic noprefixroute
       valid_lft 42931sec preferred_lft 1533sec
    inet6 240e:xxxx:xxxx:xxxx::ppp/128 scope global dynamic noprefixroute
       valid_lft 1533sec preferred_lft 1533sec
    inet6 240e:xxxx:xxxx:xxxx:qqqq:qqqq:qqqq:qqqq/64 scope global dynamic noprefixroute
       valid_lft 3336sec preferred_lft 3336sec
    inet6 fd4a:xxxx:xxxx:0:xxxx:xxxx:xxxx:xxxx/64 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fd8e:xxxx:xxxx:0:xxxx:xxxx:xxxx:xxxx/64 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::xxxx:xxxx:xxxx:xxxx/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

我最初以为我可以找到类似 EUI-64 的东西,但没有一个接口标识符看起来与接口的 MAC 地址相关。然后,由于240e在我的例子中GUA 必须以 开头,所以我注意到了::ppp::qqqq:qqqq:qqqq:qqqq接口标识符。也出现::ppp在以 开头的地址中fd4a。这两个地址都是临时的(我相信),因为有效/首选的 lft 不是“永远的”。

所以,我的问题是,是否可以在 OpenWRT 防火墙规则中使用::ppp/-64和中的任何一个::qqqq:qqqq:qqqq:qqqq/-64来指向我的 Fedora 机器?它们会随着时间而改变吗?如果它们都不合适,我可以/应该手动为我的 Fedora 机器分配一个接口标识符吗?还有其他解决办法吗?

答案1

  1. 具有最有可能来自 DHCPv6 的地址/128,其 IID 由 DHCP 服务器分配。 IID 很可能是静态的,但仅限于 DHCPv6 客户端的 DUID/IAID。

  2. 带有该标志的地址temporary是 RFC 4941“隐私扩展”地址,其 IID 每 X 小时重新生成一次。忽略那些。

  3. 保留的地址是具有静态 IID 的地址。它们的寿命可能有限,因为地址前缀从 RA 收到的信息的生命周期有限。

相关内容