nfs 导出到 ipv6 客户端

nfs 导出到 ipv6 客户端

我的 NFS 导出可通过 IPv4 访问 LAN 上的许多主机。

我想通过 IPv6 提供这些导出,以便我在外出时可以将它们安装到我的笔记本电脑上。当我离开时,我可以通过 IPv6 地址访问这些 LAN 主机,并可以通过它们的 IPv6 地址访问我的笔记本电脑。

所以我假设阻塞问题出在 NFS 配置中的某个地方。

这是服务器的一行/etc/exports

/export/test 2001:123:a:b:c:d:e:f(rw,nohide,insecure,no_subtree_check,async) 

其中 IPv6 地址是笔记本电脑的网络设备,我可以通过它从 NFS 服务器 ping、打开 SSH 会话...

这是客户端的相应行/etc/fstab

[2604:123:c:d:e:f]:/export/test /mnt/test nfs nofail,x-systemd.automount,x-systemd.requires=network-online.target,x-systemd.device-ut=10 0 0 

对于IPv6地址我已经尝试过[address] '[address]'并且简单address

但在所有情况下,尝试安装都会返回错误

mount.nfs: access denied by server while mounting `address`:/export/test

答案1

答案之一是:一定要使用“别名”。

您无需键入地址(语法上的所有麻烦),而是在 /etc/hosts 中定义它。正确的老派方式。

在 /etc/hosts 中,您定义 (IPv6) 地址 - 名称.域 对。和/或地址 (IPv6) - 名称对。对 /etc/hosts 中的 IPv4 和“常量”IPv6 地址使用相同的名称.域(或仅名称)。 IPv6 很友好:在 /etc/hosts 中只需为同一个(别名)名称提供多个地址即可。

笔记本电脑有wifi和以太网吗?将所有“常量”地址赋予 /etc/hosts 中的一个名称!这就解决了不同接口-地址的问题!

例子 :

/etc/hosts
fdc5:d54e:dca5:0:8db6:d5f5:86d0:6bd9   lause lause.simulacron lause6  lause6wlan
fdc5:d54e:dca5:0:f051:d54e:dca5:cc43   lause lause.simulacron lause6  lause6ether
192.168.71.234   lause lause.simulacron lause4wlan
192.168.72.234   lause lause.simulacron lause4ether

别名不是一个好词,但它可以显示要点:在 /etc/hosts 中,您不会遇到语法/符号问题。此外,您可以定义多个地址,例如通过 mount.nfs 连续尝试。

接下来,您不要在安装中使用 [fd....] 符号。您只需使用 name.domain (或仅名称)即可。

如果稍后再次使用,请将挂载配置放入 /etc/fstab 中。还有更多选择。


关于“恒定”IPv6 地址的一句话:静态 IP 对于 IPv4 来说非常有用。在大多数情况下,静态 IPv6 是愚蠢的。明智的解决方案是不使用静态 IPv6。

使用前缀委派
和/或仅使用 ULA 地址(仅并行且用于两个接口!)。

最通用的解决方案是结合 EUI64 +“隐私扩展”。您可以简单地计算 ULA(就像固定 IP!),但外部的其他人会看到随机地址(随机性比 NAT 更好)。 PD + ULA 的到位解决了 IPv6 中隐私和恒定、可靠、可预测地址的所有需求。

这是来自我现有网络的简短描述。它可能包含错误。或者是专门针对我的 Linux 发行版 (Ubuntu 20.04) 的。如果有问题,请告诉我。

相关内容