当 dns 返回 ipv6 链路本地地址时,无法挂载 nfs 共享?

当 dns 返回 ipv6 链路本地地址时,无法挂载 nfs 共享?

在我的 Debian 机器上,我无法在 NAS 上挂载 nfs 共享。

本地 DNS 服务器返回 NAS 的链接本地地址(因为我已将其设置为这种方式,以防止稍后在我的 IPv6 前缀更改时进行任何配置更改。)

# mount -t nfs -v nas:/volume2/nfs-share /mnt/nfs-share
mount.nfs: trying text-based options 'vers=4.2,addr=fe80::211:32ff:fec9:627a,clientaddr=::'
mount.nfs: mount(2): Invalid argument
mount.nfs: trying text-based options 'vers=4,minorversion=1,addr=fe80::211:32ff:fec9:627a,clientaddr=::'
mount.nfs: mount(2): Invalid argument
mount.nfs: trying text-based options 'vers=4,addr=fe80::211:32ff:fec9:627a,clientaddr=::'
mount.nfs: mount(2): Invalid argument
mount.nfs: trying text-based options 'addr=fe80::211:32ff:fec9:627a'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: portmap query failed: RPC: Remote system error - Invalid argument
mount.nfs: an incorrect mount option was specified

ping -6 工作原理:

#ping -6 nas
PING nas(nas.localdomain.net (fe80::211:32ff:fec9:627a)) 56 data bytes
64 bytes from nas.localdomain.net (fe80::211:32ff:fec9:627a%ens3): icmp_seq=1 ttl=64 time=0.157 ms

因此:DNS 为主机“nas”返回 fe80::211:32ff:fec9:627a。 mount 失败,因为 mount 中输入的链路本地地址需要接口标识符。这有效:

# mount -t nfs -v [fe80::211:32ff:fec9:627a%ens3]:/volume2/nfs-share /mnt/nfs-share
mount.nfs: timeout set for Fri Jul  1 11:38:47 2022
mount.nfs: trying text-based options 'vers=4.2,addr=fe80::211:32ff:fec9:627a%ens3,clientaddr=fe80::1337'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'vers=4,minorversion=1,addr=fe80::211:32ff:fec9:627a%ens3,clientaddr=fe80::1337'

当我让 DNS 返回 nfs 共享的全局 IPv6 地址时,它也能顺利安装。但我不想在配置文件中包含任何全局 IPv6 地址,当我的 ISP 更改我的 IPv6 前缀时,这些地址可能会全部更改。

rpcinfo 相同:

# rpcinfo -p nas
nas: RPC: Remote system error - Invalid argument
# rpcinfo -p fe80::211:32ff:fec9:627a
fe80::211:32ff:fec9:627a: RPC: Remote system error - Invalid argument
# rpcinfo -p fe80::211:32ff:fec9:627a%ens3
   program vers proto   port  service
[...]
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
[...]

显然,我无法在 DNS 中为链路本地地址设置接口标识符。

-> 问题:如何让 mount 将接口标识符('%ens3')添加到 nfs-share 主机的地址?

[编辑] 谢谢AB! - 答案是让 dhcp 服务器向主机发出 ULA 地址。除了任何 GUA 地址和链路本地地址之外。现在我已经很清楚了,并且 mount (ao) 也工作得很好。

相关内容