nfsポート固定

ファイアウォール越しにnfs設定をする為に、必要なポートを空けてやる必要があったのですが、nfsで使うポートが固定でないということで、固定化しました。

参考
http://hesonogoma.com/linux/NFSserver-BoundToParticularPorts.html

固定せずに動かしたときの状態

root@rp1:/var/www/project/prod/public_html/uploads# rpcinfo -p
   プログラム バージョン プロトコル ポート
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp    721  status
    100024    1   tcp    724  status
    100011    1   udp    748  rquotad
    100011    2   udp    748  rquotad
    100011    1   tcp    751  rquotad
    100011    2   tcp    751  rquotad
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100021    1   udp  58603  nlockmgr
    100021    3   udp  58603  nlockmgr
    100021    4   udp  58603  nlockmgr
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100021    1   tcp  47801  nlockmgr
    100021    3   tcp  47801  nlockmgr
    100021    4   tcp  47801  nlockmgr
    100005    1   udp    776  mountd
    100005    1   tcp    779  mountd
    100005    2   udp    776  mountd
    100005    2   tcp    779  mountd
    100005    3   udp    776  mountd
    100005    3   tcp    779  mountd

■ /etc/sysconfig/nfs が無ければ作成して、以下の設定例に従ってポート番号を指定する。

# vi /etc/sysconfig/nfs
設定例

    ### NFS port numbers ###
    # rpc.statd
    STATD_PORT=10002
    STATD_OUTGOING_PORT=10003

    # rpc.mountd
    MOUNTD_PORT=10004

    # rpc.rquotad
    RQUOTAD_PORT=10005

    # nlockmgr
    LOCKD_UDPPORT=10001
    LOCKD_TCPPORT=10001

# 設定を反映する。(nfslock、nfsの再起動)

    # service nfslock restart
    # service nfs restart

■確認

root@rp1:/etc/sysconfig# rpcinfo -p
   プログラム バージョン プロトコル ポート
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  10002  status
    100024    1   tcp  10002  status
    100011    1   udp  10005  rquotad
    100011    2   udp  10005  rquotad
    100011    1   tcp  10005  rquotad
    100011    2   tcp  10005  rquotad
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100021    1   udp  10001  nlockmgr
    100021    3   udp  10001  nlockmgr
    100021    4   udp  10001  nlockmgr
    100021    1   tcp  10001  nlockmgr
    100021    3   tcp  10001  nlockmgr
    100021    4   tcp  10001  nlockmgr
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100005    1   udp  10004  mountd
    100005    1   tcp  10004  mountd
    100005    2   udp  10004  mountd
    100005    2   tcp  10004  mountd
    100005    3   udp  10004  mountd
    100005    3   tcp  10004  mountd

■/etc/sysconfig/iptablesに以下を追加

-A RH-Firewall-1-INPUT -i eth1 -m tcp -p tcp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -m udp -p udp --dport 111 -j ACCEPT

-A RH-Firewall-1-INPUT -i eth1 -m tcp -p tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -m tcp -p tcp --dport 2049 -j ACCEPT

-A RH-Firewall-1-INPUT -i eth1 -m tcp -p tcp --dport 10001 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -m tcp -p tcp --dport 10001 -j ACCEPT

-A RH-Firewall-1-INPUT -i eth1 -m tcp -p tcp --dport 10002 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -m udp -p udp --dport 10002 -j ACCEPT

-A RH-Firewall-1-INPUT -i eth1 -m udp -p udp --dport 10004 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -m udp -p udp --dport 10004 -j ACCEPT

-A RH-Firewall-1-INPUT -i eth1 -m udp -p udp --dport 10005 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -m udp -p udp --dport 10005 -j ACCEPT

iptablesを再起動

# service iptables restart