
パブリック IP インターフェイスとプライベート IP インターフェイスを持つ VM マシンがあります。プライベート インターフェイスには 192.168.50.78 が割り当てられています。次に、プライベート IP 192.168.50.1 を使用して「ルーター」として機能する専用ホストがあり、これが 192.168.50.0/24 ローカル ネットワークのゲートウェイになります。私が使用している「ルーター」は OPNsense です。
そうは言っても、私は自分の VM 内で 2 つのリモート NFS サーバーにマウントしようとしています。NAT の背後にある自分の VM からの不正なポートが原因でマウントが失敗します。
[root@NFSHOST ~]# tail -f /var/log/messages | grep "rpc.mountd"
Feb 21 22:31:40 NFSHOS rpc.mountd[28721]: refused mount request from 197.189.XXX.ZZZ for /data/secondary (/data/secondary): illegal port 33744
Feb 21 22:35:22 NFSHOS rpc.mountd[28721]: refused mount request from 197.189.XXX.ZZZ for /data/secondary (/data/secondary): illegal port 40085
これはポート変換が行われているためです。解決策はファイルinsecure
に追加することです/etc/export
。これはテスト済みで、実際に機能することが確認されています。
ただし、提案されているように、これinsecure
は強く推奨されません。OPNsense にポート転送ルールを追加しようとしましたが、何らかの理由で、不正なポートで失敗し続けます。
この問題を解決する方法はありますか。追記: 「ブリッジ」モードも使用できません。OPNsense で何らかのルールを設定して、それに応じて処理する必要がありますが、よくわかりません。
答え1
ついにこの特定の問題を解決することができました。ここで次のように言われました:OPNsenseリンク
次の:
私の記憶が正しければ、NFS サーバーは、クライアントからの送信元ポートが 1024 未満であれば安全であるとみなします。ファイアウォールが TCP および UDP パケットの送信元ポートを変更しないように、NAT 送信ルールの「静的ポート」を必ずチェックしてください。
最終的に、静的ポートを有効にしたローカル LAN 全体に対して OPNsense に NAT 送信ルールを追加し、問題を解決しました。これで、安全なポート範囲を介して NFS をマウントできるようになりました。
答え2
私の場合、問題はサーバーが古いプロトコル バージョンをサポートしていなかったことです。次のようにして、クライアントに他のバージョンを使用するように強制することもできます。
mount -o vers=3 -t nfs 123:/
もちろん、これは標準の Linux クライアントに適用されます。このようにクライアントに影響を与えることができない場合は、サーバー側で他のプロトコルをサポートする方法について、この投稿を確認してください。