OpenVPNによるNFSアクセス拒否

OpenVPNによるNFSアクセス拒否

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

しかし、そのうちの1つに接続しようとすると失敗します。

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 showVPN接続の結果は次のとおりです。

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上のデバイスにアクセスできます。

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

showmountNFSエクスポートはLAN 192.168.73.0/24のホストでのみ利用可能であることがわかります。

お客様のクライアントが 192.168.73.0/24 にないため、権限が拒否されました。解決策は、/etc/exportsOpenVPNサブネットへのアクセスを含めるようにサーバーを変更することです。

私は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を使用したことはありません。複雑すぎて明確な利点はありません)。

関連情報