NFS:

NFS:

我正在尝试通过 openvpn 隧道建立 nfs 连接。这真的很烦人,我不知道下一步该尝试什么。现在已在多个平台上进行了连接测试。使用了 debian/centos/openwrt。更改了服务器<>客户端

通过执行以下操作,“直接” nfs 连接始终可以立即工作:(此处为演示 IP)

mount -t nfs 192.168.2.1:/extroot test

但:

mount -t nfs 10.0.0.1:/extroot test

总是失败:(永远超时)

mount.nfs: Connection timed out

我也在远程 vps 上这样做了,连接立即建立。openvpn 隧道似乎没问题。Ping 正常,iperf 大于 100mbits,所以......

附上我的配置,非常欢迎任何帮助!

NFS:

/etc/exports:(此处‘*’仅用于调试)

/extroot *(rw,all_squash,insecure,async,no_subtree_check)

/etc/hosts.allow

portmap: ALL

OpenVPN:

服务器.conf:

port 6565
proto udp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh2048.pem
server 10.0.0.0 255.255.255.0
ifconfig-pool-persist /etc/openvpn/ipp.txt
keepalive 5 30
verb 3

客户端.conf:

client
tls-client
dev tun
proto udp
remote hostname.of.server portnum
resolv-retry infinite
nobind
pkcs12 /etc/openvpn/nfs.p12
verb 3
remote-cert-tls server

尝试连接时从 nfs 服务器执行 tcpdump: http://pastebin.com/2PJ2w7vB

我知道这很难读,抱歉。

答案1

好的,我明白了。@Zoredache 为我指明了正确的方向。谢谢你,我的朋友 :) !! 确实如此,mount.nfs 试图指向 localhost 而不是 vpn ip。您可以使用以下 mountopts 解决此问题。

/sbin/mount.nfs -v 10.0.0.1:/$remotepath /$localpath -o addr=10.0.0.1,clientaddr=10.0.0.6

mount.nfs 的调试输出

mount.nfs: timeout set for Sat Nov  1 08:49:42 2014
mount.nfs: trying text-based options 'clientaddr=10.0.0.6,vers=4,addr=10.0.0.1'

如果您想在 initramfs 中解决这个问题,您需要将 /sbin/mount.nfs 添加到您的 initramfs。否则,在 nfsroot 启动期间安装 nfs 的通用命令将失败。

相关内容