NFS 共有にアクセスしようとしています。NFS 共有は自宅のサーバーにあり、ローカル ネットワークの外部からアクセスしようとしています。
これを実現するために、ローカル ネットワークで OpenVPN サーバーを起動しました。これは問題なく動作し、ローカル ネットワークの外部から VPN に接続でき、サーバーに ping を実行してローカル専用の他のサービスにアクセスすることもできます。私の OpenVPN IP アドレスは 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
私の設定の何が問題なのかわかりません。ネットワークにはあまり詳しくありません。何が起こっているのか、何か考えはありますか?
ip addr show
VPN接続の結果は
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
OpenVPN は通常、ルーティングされたネットワークを使用してクライアントをサーバーに接続します。たとえば、LAN が 192.168.73.0/24 であっても、接続されたクライアントには VPN アドレス 10.0.0.2 が割り当てられることがあります。ルーティングにより、クライアントは LAN 上のデバイスにアクセスできます。
ip addr
VPN 接続中にクライアント上で( )を実行するip a
と、OpenVPN に使用されているサブネットが表示されます。または、OpenVPN サーバー構成ファイル (通常は/etc/openvpn
サーバーの の下) を確認することもできます。
これを見るとshowmount
、NFS エクスポートが LAN 上のホスト 192.168.73.0/24 にのみ提供されていることがわかります。
クライアントは 192.168.73.0/24 上にないため、アクセスが拒否されます。解決策としては、/etc/exports
サーバーを変更して OpenVPN サブネットへのアクセスを含めることです。
NFS v3 では次のようなことをしますが、NFS v4 ではどの程度必要なのかわかりません。
/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 は使用したことはありません。明らかな利点がないのに複雑すぎるためです)。