web-dev-qa-db-ja.com

OpenVPN経由のNFSでアクセスが拒否されました

NFS共有にアクセスしようとしています。 NFS共有は、自宅にあるサーバーにあり、ローカルネットワークの外部からアクセスしようとしています。

これを実現するために、ローカルネットワークでOpenVPNサーバーを起動しました。これは正常に機能し、ローカルネットワークの外部からVPNに接続できます。また、サーバーにpingを実行して、ローカルのみである他のサービスにアクセスすることもできます。私のOpenVPNIPアドレスは172.27.232.5です。

問題は、NFS共有をマウントできないことです。 VPNに接続すると、showmountコマンドを使用して共有を確認できます

showmount -e 192.168.73.2
Export list for 192.168.73.2:
/media/share/kdab     192.168.73.0/24
/media/share/jjcasmar 192.168.73.0/24

しかし、それらのいずれかに接続しようとすると失敗します。

Sudo mount -t nfs4 192.168.73.2:/media/share/jjcasmar /home/jjcasmar/mnt
mount.nfs4: access denied by server while mounting 192.168.73.2:/media/share/jjcasmar

セットアップの何が問題なのかわかりません。また、ネットワークもあまり良くありません。何が起こっているのかについてのアイデアはありますか?

VPN接続のip addr showの結果は次のとおりです。

13: tun1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 172.27.232.5/23 brd 172.27.233.255 scope global tun1
       valid_lft forever preferred_lft forever
    inet6` fe80::b6a9:fff6:dd69:6f7f/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

私が正しく理解していれば、NFSサーバーは接続を拒否します。これは、192.168.73.2でサーバーを確認できたとしても、そのサブネット上にいないからです。

エクスポートを変更して172.27.232.0/23を追加しようとしましたが、それでも失敗します。また、OpenVPN IP 172.27.232.5に直接エクスポートしようとしましたが成功しませんでした。

1
jjcasmar

OpenVPNは通常、ルーティングされたネットワークを使用してクライアントをサーバーに接続します。したがって、たとえば、LANが192.168.73.0/24であっても、接続されているクライアントにVPNアドレス10.0.0.2が割り当てられる場合があります。ルーティングにより、クライアントはLAN上のデバイスに到達できます。

VPNが接続されているときにクライアントでip addrip a)を実行すると、OpenVPNに使用されているサブネットが表示されます。または、OpenVPNサーバー構成ファイル(通常は/etc/openvpnの下)を確認できます。サーバ)。

showmountを見ると、NFSエクスポートがLAN上のホスト192.168.73.0/24にのみ提供されていることがわかります。

クライアントは192.168.73.0/24にないため、許可が拒否されます。解決策は、サーバーの/etc/exportsを変更して、OpenVPNサブネットへのアクセスを含めることです。

NFS v3を使用すると、次のようなことができますが、NFSv4に必要な量がわかりません。

/media/share/kdab     192.168.73.0/24 172.27.232.0/23
/media/share/jjcasmar 192.168.73.0/24 172.27.232.0/23

繰り返しになりますが、NFS v3の場合は、exportfs -varを実行しますが、それがまだ必要かどうかはわかりません(NFS v4を使用したことがないため、複雑すぎて明らかなメリットがありません)。

1
roaima