6

グループ「neta」のメンバーを除くすべてのユーザーのIP1.2.3.4へのアクセスを無効にしようとしています。これは私がこの問題のためだけに作成した新しいグループです。

iptables -I OUTPUT -o eth0 -p tcp -d 1.2.3.4 -m owner ! --gid-owner neta -j REJECT

これにより、グループ「neta」のメンバーであっても、すべてのユーザーが1.2.3.4にアクセスできなくなります。

私にはユーザーxxがいて、彼はグループxx(メイングループ)とnetaのメンバーです。ルールを次のように変更した場合:

iptables -I OUTPUT -o eth0 -p tcp -d 1.2.3.4 -m owner \! --gid-owner xx -j REJECT

ユーザーxxを除くすべての人が1.2.3.4にアクセスすることはできません。

このグループにルートを追加しましたxx:

usermod -a -G xx root

しかし、rootはまだこのIPにアクセスできませんでした。メインユーザーのグループ(root、xx)をルールに追加すると、すべてが期待どおりに機能します。

念のため、2つのルールに分割してみました(ログは拒否されました)。

iptables -A OUTPUT -o eth0 -p tcp -d 1.2.3.4 -m owner --gid-owner neta -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -d 1.2.3.4 -m limit --limit 2/s --limit-burst 10 -j LOG
iptables -A OUTPUT -o eth0 -p tcp -d 1.2.3.4 -j REJECT

しかし、違いはありません。すべてが拒否されています。

他のiptablesルールはありません。

root@vm1:~# iptables -nvL
Chain INPUT (policy ACCEPT 19 packets, 1420 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 10 packets, 1720 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            1.2.3.4     owner GID match 1001 
    0     0 LOG        tcp  --  *      eth0    0.0.0.0/0            1.2.3.4     limit: avg 2/sec burst 10 LOG flags 0 level 4 
    0     0 REJECT     tcp  --  *      eth0    0.0.0.0/0            1.2.3.4     reject-with icmp-port-unreachable 

すべてのユーザーにiptablesルールを追加するのではなく、この「neta」グループからユーザーを追加/削除することで、このIPへのアクセスを(禁止)できるようにしたいと考えています。

4

2 に答える 2