如何从 AIX 上的 NFS 服务器踢掉 NFS 客户端?

如何从 AIX 上的 NFS 服务器踢掉 NFS 客户端?

我们可以看到我们想要启动的客户端的 NFS 使用率较高,但不会影响其他 NFS 客户端。我们应该怎么做?只能使用防火墙吗?

答案1

您将需要 bos.net.ipsec.rte 才能使用类似 iptables 的解决方案。

检查您当前的安装:

michael@x071:[/home/michael]lslpp -L bos.net.ipsec.rte
  Fileset                      Level  State  Type  Description (Uninstaller)
  ----------------------------------------------------------------------------
  bos.net.ipsec.rte         6.1.9.45    C     F    IP Security

如果已安装,您可以使用以下命令检查它是否处于活动状态或非活动状态:

积极的:

michael@x071:[/home/michael]lsdev -C | grep ipsec
ipsec_v4    Available       IP Version 4 Security Extension
ipsec_v6    Available       IP Version 6 Security Extension

不活动:

root@x064:[/]lsdev -C | grep ipsec

那是无输出,意味着它从未被激活,或者

root@x072:[/]lsdev -C | grep ipsec
ipsec_v4   Defined         IP Version 4 Security Extension
ipsec_v6   Defined         IP Version 6 Security Extension

一些输出意味着可能有一些配置,但它已被停用。

以下是如何打开/关闭 v4 和/或 v6 ipsec 的 ipsec 的一些示例。

root@x072:[/]lsdev -C | grep ipsec
ipsec_v4   Defined         IP Version 4 Security Extension
ipsec_v6   Available       IP Version 6 Security Extension
root@x072:[/]mkdev -l ipsec_v4
ipsec_v4 Available
root@x072:[/]rmdev -l ipsec_v6
ipsec_v6 Defined
root@x072:[/]lsdev -C | grep ipsec
ipsec_v4   Available       IP Version 4 Security Extension
ipsec_v6   Defined         IP Version 6 Security Extension

现在停止每个客户端的 nfs(定义为 IP 地址)

让我们获取IP地址192.168.111.222作为我想停止的客户的地址。可以采取不同的操作 - 允许和拒绝是常见的 - 我们可以有点奇特,并使用块端口,每次端口尝试连接时都会创建一个新的动态拒绝规则 - 这样您就可以看到如何活动的唯一安装请求是:

我们需要关注端口2049

root@x072:[/]grep nfs /etc/services
nfsd-status      1110/tcp               # Cluster status info
nfsd-keepalive  1110/udp                # Client status info
picknfs          1598/tcp               # picknfs
picknfs          1598/udp               # picknfs
shiva_confsrvr  1651/tcp                # shiva_confsrvr
shiva_confsrvr  1651/udp                # shiva_confsrvr
#nfs                    2049/tcp                # Network File System - Sun Microsystems
#nfs                    2049/udp                # Network File System - Sun Microsystems
3d-nfsd          2323/tcp               # 3d-nfsd
3d-nfsd          2323/udp               # 3d-nfsd
mediacntrlnfsd  2363/tcp                # Media Central NFSD 
mediacntrlnfsd  2363/udp                # Media Central NFSD 

注意:要使用 smit(ty),请使用:

smitty ipsec4

然后使用高级...->添加

                         Add an IP Security Filter Rule

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

                                                        [Entry Fields]
* Rule Action                                        [shun_port]             +
* IP Source Address                                  [192.168.111.222]
* IP Source Mask                                     [255.255.255.255]
  IP Destination Address                             [0.0.0.0]
  IP Destination Mask                                [0.0.0.0]
* Apply to Source Routing? (PERMIT/inbound only)     [yes]                   +
* Protocol                                           [tcp]                   +
* Source Port / ICMP Type Operation                  [any]                   +
* Source Port Number / ICMP Type                     [0]                      #
* Destination Port / ICMP Code Operation             [eq]                    +
* Destination Port Number / ICMP Type                [2049]                   #
* Routing                                            [local]                 +
* Direction                                          [inbound]               +
* Log Control                                        [no]                    +
* Fragmentation Control                              [0]                     +
* Interface                                          [all]                   +
  Expiration Time  (sec)                             [300]                    #
  Pattern Type                                       [none]                  +
  Pattern / Pattern File                             []
  Description                                        <g port on NFS request]

或者从命令行:

/usr/sbin/genfilt -v 4  -a 'S' -s '192.168.111.222' -m '255.255.255.255' -d '0.0.0.0' -M '0.0.0.0' -g 'y' -c 'tcp' -o 'any' -p '0' -O 'eq' -P '2049' -r 'L' -w 'I' -l 'N' -t '0' -i 'all' -e '300' -D 'block incoming port on NFS request'

在 smit 中或从命令行 - 激活规则

mkfilt -v4 -u

并查看配置的规则

lsfilt -v4 -O

并查看任何(可能的)动态规则

lsfilt -v4 -a -O

** 我还不能添加评论:如果您现在需要更改 - 因为这只会影响将来与端口的连接,您可以使用以下命令:

nfs.clean; sleep 2; rc.nfs

停止,然后重新启动 nfs 服务。注意

stopsrc -g nfs; startsrc -g nfs

没有以正确的顺序启动守护进程

答案2

netstat -an

然后用于tcpkill向双方发送重置数据包。

tcpkill 使用与 tcpdump 相同的参数

相关内容