通过 ipv6 挂载时权限被拒绝

通过 ipv6 挂载时权限被拒绝

有一台具有这些地址的 ubuntu 机器

root@soup:/# ifconfig eth1
eth1  Link encap:Ethernet  HWaddr 08:00:27:09:90:1c
      inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
      inet6 addr: fe80::a00:27ff:fe09:901c/64 Scope:Link

我有一个要导出然后挂载的文件夹/home/wat/ipv6/,因此我有相应的/etc/exports配置

/home/wat/ipv6 [fe80::a00:27ff:fe09:901c](rw,sync,fsid=0,subtree_check,no_root_squash)
/home/wat/ipv6 192.168.56.101(rw,sync,fsid=0,subtree_check,no_root_squash)

一个通过 ipv4,另一个通过 ipv6。

另外我已经/etc/fstab配置了安装这些导出

[fe80::a00:27ff:fe09:901c%eth1]:/ /mnt/ip6 nfs  defaults  0 0
192.168.56.101:/ /mnt/ip4/ nfs  defaults  0 0

所以当我跑步的时候

root@soup:/# exportfs -rv
exporting 192.168.56.101:/home/wat/ipv6
exporting [fe80::a00:27ff:fe09:901c]:/home/wat/ipv6

然后当我尝试安装它们时我遇到了

root@soup:/# mount -av
mount: 192.168.56.101:/ already mounted on /mnt/ip4/
mount.nfs: timeout set for Mon Nov  9 14:44:30 2015
mount.nfs: trying text-based options 'vers=4,addr=fe80::a00:27ff:fe09:901c%eth1,clientaddr=fe80::a00:27ff:fe09:901c'
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting [fe80::a00:27ff:fe09:901c%eth1]:/

并且只安装了 ipv4 导出,您知道为什么会发生这种情况吗?

答案1

检查所有 IPv6 地址,在 NFS 客户端上运行:

COLORFGBG=";0" ip -c a

您可能会看到一堆带有“范围全局临时动态”的 IP 地址。它们来自 IPv6 隐私扩展。

接下来,检查 NFS 服务器的日志,例如

sudo tail -F /var/log/messages /var/log/*.log

我确信您会看到您的 NFS 客户端正在尝试使用一个您意想不到的 IPv6 地址。

然后使用这个建议如何指定挂载 nfs 时使用的 ipv6 地址

[fe80::a00:27ff:fe09:901c%eth1]:/ /mnt/ip6 nfs  defaults,clientaddr=fe80::a00:27ff:fe09:901c  0 0

PS:在家里,为了指向 NFS 挂载,我使用的地址不是来自 fe80::/10,而是来自 fc00::/7 (fc00…fdff):它们不需要使用“%eth0”指定以太网接口链接名称。如果您使用 OpenWRT 路由器,则可以使用“IPv6 ULA-prefix”设置来设置此前缀。

相关内容