加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

NFS服务器和NFS客户端的Iptables规则

发布时间:2020-12-13 23:57:23 所属栏目:Linux 来源:网络整理
导读:没有iptables规则我可以??挂载我的NFSSERVER:/ PATH但启用它(防火墙/ iptables)我无法挂载. [.e.g.,after iptables --flush/ firewaalld stop ; mount NFSSERVER:/Path works ] 我不应该禁用/清除防火墙/ iptables但我可以打开一个端口.打开端口/挂载需要添
没有iptables规则我可以??挂载我的NFSSERVER:/ PATH但启用它(防火墙/ iptables)我无法挂载.

[.e.g.,after iptables --flush/ firewaalld stop ; mount NFSSERVER:/Path works ]

我不应该禁用/清除防火墙/ iptables但我可以打开一个端口.打开端口/挂载需要添加的规则是什么?

当前的默认策略是DROP all INCOMING / OUTGOING / FORWARD,并且有一些规则允许wget来自外部80端口等,

添加NFS服务器端口没有帮助.

iptables -A OUTPUT -p tcp --dport 2049 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --sport 2049 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp --dport 2049 -m state --state NEW,RELATED -j ACCEPT
iptables -A INPUT -p udp --sport 2049 -m state --state ESTABLISHED -j ACCEPT

谢谢.

PS:这是针对nfs客户端而不是NFS服务器机器.

解决方法

NFS服务器:

为rquotd(875 / udp; 875 / tcp),lockd(32803 / tcp; 32769 / udp),mountd(892 / udp; 892 / tcp),statd(10053 / udp; 10053 / tcp),statd_outgoing(10054)配置端口/ udp; 10054 / tcp)

vim /etc/sysconfig/nfs

如果需要,可以通过编辑第5行和第5行来禁用NFS v3和NFS v2支持. / etc / sysconfig / nfs中的6个

MOUNTD_NFS_V2="no"
    MOUNTD_NFS_V3="no"

保存当前的Iptables规则供以后使用. (如果你的发行版中没有iptables-save,你可以试试iptables -S filename)

iptables-save > pre-nfs-firewall-rules-server

刷新并检查Iptables规则

iptables -F
    iptables -L

按以下顺序停止和启动NFS和相关服务

service rpcbind stop
   service nfslock stop
   service nfs stop
   service rpcbind start
   service nfslock start
   service nfs start

确保配置的NFS及其关联端口显示为之前设置并显示端口号和OSI第4层protcols. rpcbind(或portmapper)的标准端口号是111 / udp,111 / tcp和nfs是2049 / udp,2049 / tcp.

rpcinfo -p | sort -k 3

立即恢复pre-nfs-firewall-rules

iptables-restore < pre-nfs-firewall-rules-server

为NFS服务器编写iptables规则(注意:必须允许环回适配器,否则你会看到丢弃的数据包,当你重新启动nfs服务时,它会吐出错误{Starting NFS配额:无法注册服务:RPC:超时rpc.rquotad:无法注册(RQUOTAPROG,RQUOTAVERS,udp).[FAILED]}用于rquotad守护程序.您可以通过在INPUT底部添加LOG跳转目标或过滤器表的OUTPUT链来检查这一点.

iptables -P INPUT DROP
   iptables -P OUTPUT DROP 
   iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p udp -m multiport --dports 10053,111,2049,32769,875,892 -m state --state NEW,ESTABLISHED -j ACCEPT 
   iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m multiport --dports 10053,32803,ESTABLISHED -j ACCEPT 
   iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p udp -m multiport --sports 10053,892 -m state --state ESTABLISHED -j ACCEPT 
   iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m multiport --sports 10053,892 -m state --state ESTABLISHED -j ACCEPT 
   iptables -I INPUT  -i lo -d 127.0.0.1 -j ACCEPT
   iptables -I OUTPUT  -o lo -s 127.0.0.1 -j ACCEPT
   iptables -L -n --line-numbers

配置NFS导出目录

vim /etc/exports 
   exportfs -av
   showmount -e
   rpcinfo -p

按以下顺序停止和启动NFS和相关服务

service rpcbind stop
   service nfslock stop
   service nfs stop
   service rpcbind start
   service nfslock start
   service nfs start

NFS客户端:

保存当前的Iptables规则供以后使用. (如果你的发行版中没有iptables-save,你可以试试iptables -S filename)

iptables-save > pre-nfs-firewall-rules-client

刷新并检查Iptables规则

iptables -F
   iptables -L

从客户端计算机获取防火墙NFS服务器端口,并记下端口号和OSI第4层protcols.

rpcinfo -p 'ip-addr-nfs-server' | sort -k 3

立即恢复pre-nfs-firewall-rules

iptables-restore < pre-nfs-firewall-rules-client

为NFS客户端编写iptables规则(注意:必须允许Loopback适配器,它会吐出ERROR {Starting NFS配额:无法注册服务:RPC:超时rpc.rquotad:无法注册(RQUOTAPROG,udp).[FAILED]}用于rquotad守护程序.您可以通过在INPUT底部添加LOG跳转目标或过滤器表的OUTPUT链来检查这一点.

iptables -P INPUT DROP
   iptables -P OUTPUT DROP
   iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p udp -m multiport --sports 10053,892 -m state --state ESTABLISHED -j ACCEPT 
   iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m multiport --sports 10053,892 -m state --state ESTABLISHED -j ACCEPT 
   iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p udp -m multiport --dports 10053,ESTABLISHED -j ACCEPT 
   iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m multiport --dports 10053,ESTABLISHED -j ACCEPT 
   iptables -I INPUT  -i lo -d 127.0.0.1 -j ACCEPT
   iptables -I OUTPUT  -o lo -s 127.0.0.1 -j ACCEPT
   iptables -L -n --line-numbers

按以下顺序停止和启动NFS和相关服务

service rpcbind stop
   service nfslock stop
   service nfs stop
   service rpcbind start
   service nfslock start
   service nfs start

列出NFS服务器导出

showmount -e 'ip-addr-nfs-server'

手动挂载NFS导出(可以使用/ etc / fstab配置持久挂载)

mount -t nfs ip-addr-nfs-server:/exported-directory /mount-point -o rw,nfsvers=3
   mount -t nfs ip-addr-nfs-server:/exported-directory /mount-point -o rw  --> For NFS4 version

配置autofs,如果nfs导出和ldap用户主目录首选自动挂载(可以设置直接映射和间接映射)

vim /etc/auto.master    -> specify the mount point and map-name (Eg: auto.nfs)
   vim /etc/map-name
   service autofs stop
   service autofs start

检查挂载的NFS导出

df -h -F nfs
   mount | grep nfs

列出所有伪根NFS-V4导出目录(NFS Lazy mount)

ls /net/ip-addr-nfs-server

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读