Linux Iptables配置NFS客户端来访问NFS服务器
时间:2019-11-20 08:52:54 来源:igfitidea点击:
RHEL/Fedora/CentOS Linux 5.x中,如何为NFS设置防火墙,以便允许客户端访问?
portmapper在服务启动时将每个NFS服务动态分配给一个端口。
NFS的端口号包括:
- TCP/UDP 111 portmapper
- TCP/UDP 2049 NFSD(nfs服务器)
- 端口映射静态端口 在/etc/sysconfig/nfs文件中定义的各种TCP/UDP端口。
固定NFS服务器的端口号。
NFS和端口映射是相当复杂的协议。
默认情况下,端口映射程序在服务启动时将每个NFS服务动态分配给端口。
如果这时要设置防火墙,就比较麻烦。
所以,端口号必须固定。
编辑/etc/sysconfig/nfs:
# vi /etc/sysconfig/nfs
设置各个NFS服务的端口号。
# TCP port rpc.lockd should listen on. LOCKD_TCPPORT=lockd-port-number # UDP port rpc.lockd should listen on. LOCKD_UDPPORT=lockd-port-number # Port rpc.mountd should listen on. MOUNTD_PORT=mountd-port-number # Port rquotad should listen on. RQUOTAD_PORT=rquotad-port-number # Port rpc.statd should listen on. STATD_PORT=statd-port-number # Outgoing port statd should used. The default is port is random STATD_OUTGOING_PORT=statd-outgoing-port-number
示例:
LOCKD_TCPPORT=32803 LOCKD_UDPPORT=32769 MOUNTD_PORT=892 RQUOTAD_PORT=875 STATD_PORT=662 STATD_OUTGOING_PORT=2020
重新启动NFS和portmap服务,使设置生效:
# service portmap restart # service nfs restart # service rpcsvcgssd restart
更新/etc/sysconfig/iptables文件
编辑文件/etc/sysconfig/iptables:
# vi /etc/sysconfig/iptables
添加以下行(放在LOG和DROP行之前):
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 662 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 662 -j ACCEP -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 875 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 875 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 892 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 892 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 2049 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 32803 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 32803 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 32769 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 32769 -j ACCEPT
重新启动iptables服务:
# service iptables restart