在我的 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) 也工作得很好。