私のサーバーには4つのネットワークカードがあります:eth0
、、、、。複数のディスクを持つストレージサーバー。、、、3つのボリュームグループがあります。このボリュームグループを次のように他のNICと共有したいと思います。eth1
eth2
eth3
vg_share1
vg_share2
vg_share3
vg_share1 --(NFS Share)--> Shared via eth1
vg_share2 --(NFS Share)--> Shared via eth2
vg_share3 --(NFS Share)--> Shared via eth3
どうすればいいですか?
答え1
着信IPアドレスを制限することはできませんが、できる次のように、特定のファイルシステムにアクセスできるソースIPを制限します。
/path/to/export 192.168.0.0/255.255.255.0(rw)
/path/to/otherexport 192.168.1.0/255.255.255.0(ro)
私はあなたのプライベートネットワークカードがあなたのプライベートネットワークにもあると仮定します。そのように制限することができます。
答え2
NFS サーバーは RPC を使用して、nfs サーバーとクライアント間の接続をルーティングします。rpc.nfsd(8)
マニュアルページによると:
-H or --host hostname
specify a particular hostname (or address) that NFS requests will be accepted on. By default, rpc.nfsd will accept NFS requests on all known network addresses.
Note that lockd (which performs file locking services for NFS) may still accept request on all known network addresses. This may change in future releases of
the Linux Kernel. This option can be used multiple time to listen to more than one interface.
したがって、IP / NICに割り当てられたホスト名を設定ファイルに追加して、NFSサーバー側で特定のレベルの制限を設定できます/etc/nfs.conf
。
たとえば、
cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6
# Public network interface
123.312.222.111 myhostname.on.linedotcom
# Local network interface
192.168.1.1 myhostname.mydomain.lan
nfsd
次に、NFS設定ファイルセクションに「ローカルネットワークインタフェース」のホスト名を追加します。/etc/nfs.conf
[nfsd] hostname=myhostname.mydomain.lan
このように、rpcbind
デーモンはそのインターフェイスでのみリッスンし、パブリックネットワークインターフェイスは無視します。
/etc/exports
また、ネットワークファイル共有がマウントできるローカルネットワーク/サブドメインのみを許可するように、設定ファイルに正しいパラメータを設定してください。
cat /etc/exports /srv/exampleshare 192.168.1.0/24(nfsoptionshereplzreplace)
それに応じてファイアウォールを設定します。
たとえば、ネットワークインターフェイスカード(NIC)を複数の領域に分割します。または使用している場合は、iptables
特定のネットワークまたはサブドメインでのみそのポートを開きます。
答え3
通常どおりファイルシステムを共有すると、NFS サーバーはデフォルトですべてのインターフェイスをリッスンします。
クライアントは、マウントする共有の各IPアドレス(または設定されている場合はDNS名)を表示できます。
NFS Server - 0.0.0.0:2049 - ip address 1 <- client a mount vg_share1
- ip address 2 <- client b mount vg_share2
- ip address 3 <- client c mount vg_share3
バインドされたインターフェイスを表示することもできます。結合されたインターフェイスを使用すると、一種のフォールトトレランスを実装し、リンクが失敗した場合に接続を維持することもできます。インターフェイスを組み合わせると、複数のIPアドレス、VLANなどを設定できます。
NFS server - 0.0.0.0:2049 - bond0 <- client a, b, c mount their corresponding mounts
結合されたインターフェイスの概要(VLANを含む):
eth1 \ / vlan x - address a
eth2 -> bond0 <- vlan y - address b
eth3 / \ vlan z - address c
もちろん、VLANではなくIPアドレスのみを設定できます。
答え4
編集する/etc/nfs.conf
eth2
そうであると仮定すると、192.168.1.0
次のように使用します。
[nfsd]
host=192.168.1.0