在 CentOS7 客户端上,运行山作为 root(在所有情况下),如果我使用这个 iptables 规则-
-A OUTPUT -i eth0 -p tcp --dport 2049 -m state --state NEW,ESTABLISHED -j ACCEPT
...NFS4 安装顺利。
但如果我将规则限制为 root 用户-
-A OUTPUT -i eth0 -p tcp --dport 2049 -m owner --uid-owner root -m state --state NEW,ESTABLISHED -j ACCEPT
...iptables 阻止挂载。在/var/日志/消息我懂了-
Dec 7 14:00:29 nfsclient kernel: IPtables DROP DEFAULT OUT: IN= OUT=eth0 SRC=<client IP> DST=<server IP> LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=63737 DF PROTO=TCP SPT=987 DPT=2049 WINDOW=26883 RES=0x00 SYN URGP=0
...这就引出了一个问题,“谁挂载 NFS 共享?”或者“为什么指定 root 用户时 IPtables 会阻塞?”
答案1
从iptables -m owner --help
:
owner match options:
[!] --uid-owner userid[-userid] Match local UID
您需要指定 UID,而不是用户名。因此,请尝试:
-A OUTPUT -i eth0 -p tcp --dport 2049 -m owner --uid-owner 0 -m state --state NEW,ESTABLISHED -j ACCEPT