web-dev-qa-db-ja.com

LinuxNFSトラフィックをWindowsServer2008に渡す

Linux上で動作し、NFSマウントを使用して開発を支援する組み込みデバイスを開発しています。私たちは2つのプライベートネットワークスペース(172.16.x.y192.168.0.n)で作業しています。 192ネットワークにはデバイスに必要な40Mb/sマルチキャストトラフィックが含まれていますが、172ネットワークを圧倒しないために、ネットワークトラフィックはWindows 2008 R2Serverによって生成されます。 Windows Server 2008ボックスには2つのNICがあります。1つは192(DHCPサーバーから生成)用、もう1つは172ネットワーク用(Windowsボックスのデフォルトゲートウェイは172を指します)です。ゲートウェイ)

私たちの開発環境では、次の接続があります。

Device 172.16.50.100 (static)]----[Gateway (172.16.15.200)]----[Ubuntu Linux Server 172.16.10.100]

デバイスは、172.16.10.100サーバーにコードをマウントして実行できます。

ただし、デバイスをWindowsServerネットワークに移動すると次のようになります。

Device 192.168.0.2(dhcp)]---[Server 2008 (192.16.0.1)(dhcp server) NIC2(172.16.50.200)]---[Ubuntu Linux Server 172.16.10.100]

これで、デバイスはNFSディレクトリをマウントできなくなります。

\$ mount -t nfs 172.16.10.100:<path> hd
mount: 172.16.10.100:<path> failed, reason given by server: Permission denied
mount: mounting 172.16.10.100:<path> on hd failed: Bad file descriptor

サーバーにpingを実行できます。

\$ ping -c 1 172.16.10.100
PING 172.16.10.100 (172.16.10.100): 56 data bytes
64 bytes from 172.16.10.100: seq=0 ttl=64 time=1.231 ms

--- 172.16.10.100 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 1.231/1.231/1.231 ms

したがって、デバイスは192ネットワーク上にある場合はUbuntuサーバーを正常に認識できますが、NFSをマウントすることはできません。

Windows Server2008ファイアウォールも無効にしました。

NFSデータをサーバーに通すにはどうすればよいですか?

ありがとう。

1
user626201

@ tigran-助けてくれてありがとう。あなたはいくつかの非常に重要な点を提起しました。

ここでの問題は、実際にはポート番号でした。

最初のシナリオでは:

Device 172.16.50.100 (static)]----[Gateway (172.16.15.200)]----[Ubuntu Linux Server 172.16.10.100]

デバイスは以下を要求していました:

authenticated mount request from 172.16.50.100:709
                                               ^^^

ただし、2番目のシナリオでは:

Device 192.168.0.2(dhcp)]---[Server 2008 (192.16.0.1)(dhcp server) NIC2(172.16.50.200)]---[Ubuntu Linux Server 172.16.10.100]

WindowsServerはポート番号を変更していました。

refused mount request from 172.16.50.217 for <path> (/home): illegal port 62441
                                                                          ^^^^^

エクスポートファイルのMan Help Pages によると:

secure
This option requires that requests originate on an Internet port less 
than IPPORT_RESERVED (1024). This option is on by default. To turn it
off, specify insecure.
     ^^^^^^^^^^^^^^^^

これが閉じたプライベートネットワークであることを確認して、/etc/exportsファイルを次のように更新しました。

/home *(rw,no_root_squash,async,no_subtree_check,insecure)
                                                 ^^^^^^^^

参考までに、デバッグ行は、/var/log/syslogファイルを次のように変更した後の/etc/default/nfs-kernel-serverから取得されます。

RPCMOUNTDOPTS="--manage-gids --debug all"
1
user626201