1、背景:
允許指定主機通過mount到nfs服務器上,阻止其他主機通過showmount -e方式,泄露NFS共享目錄結構信息。
2、Centos6和Centos7網絡拓撲圖:
3、centos7采用以下方式,能實現showmount -e的信息泄露
1)vi /etc/hosts.allow
mountd:192.168.56.13
2)vi /etc/hosts.deny
mountd:all
【提示】無需重啟rpc.bind和nfs
3)測試結果
192.168.56.14
192.168.56.13

192.168.56.12
第二種方式:采用iptables防火牆限制
4、Centos6的NFS服務叫做rpcbind,而Centos5的NFS服務叫portmap。
第一種方式:
1)vi /etc/hosts.allow
rpcbind: 192.168.56.4:allow
2)vi /etc/hosts.deny
rpcbind: ALL : deny
【提示】無需重啟rpc.bind和nfs
3)測試結果
第二種方式:采用iptables防火牆限制
1)修改nfs配置文件,分配未使用的端口。
xxx]# vi /etc/sysconfig/nfs
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004
2)重啟nfs服務
1)/etc/init.d/rpcbind restart
2)/etc/init.d/nfs restart
3)允許客戶端掛載主機的ip地址
iptables -A INPUT -p tcp -s 192.168.85.15 --dport 111 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.85.15 --dport 111 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.85.15 --dport 2049 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.85.15 --dport 2049 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.85.15 --dport 30001:30004 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.85.15 --dport 30001:30004 -j ACCEPT
4)其他客戶端全部拒絕訪問nfs服務
iptables -A INPUT -p tcp --dport 111 -j DROP
iptables -A INPUT -p udp --dport 111 -j DROP
iptables -A INPUT -p tcp --dport 2049 -j DROP
iptables -A INPUT -p udp --dport 2049 -j DROP
iptables -A INPUT -p tcp --dport 30001:30004 -j DROP
iptables -A INPUT -p udp --dport 30001:30004 -j DROP
5)開機啟動服務加載
vim /etc/profile.d/iptables-nfs.sh
#!/bin/bash
#允許客戶端掛載主機的ip地址
iptables -A INPUT -p tcp -s 192.168.85.15 --dport 111 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.85.15 --dport 111 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.85.15 --dport 2049 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.85.15 --dport 2049 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.85.15 --dport 30001:30004 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.85.15 --dport 30001:30004 -j ACCEPT
#其他客戶端全部拒絕訪問nfs服務
iptables -A INPUT -p tcp --dport 111 -j DROP
iptables -A INPUT -p udp --dport 111 -j DROP
iptables -A INPUT -p tcp --dport 2049 -j DROP
iptables -A INPUT -p udp --dport 2049 -j DROP
iptables -A INPUT -p tcp --dport 30001:30004 -j DROP
iptables -A INPUT -p udp --dport 30001:30004 -j DROP
6)測試結果
192.168.56.5 (NFS-server)
防火牆規則顯示

192.168.56.4
192.168.56.3
