Iptables: как удалить несколько правил цепочки, используя номер строки - PullRequest
0 голосов
/ 26 сентября 2019

Итак, я хочу создать функцию php для удаления нескольких определенных правил, связанных с ip.Итак, я сделал скрипт, который возвращает мне следующую форму:

iptables -L MYCHAIN -D $line-number

Поскольку вы можете проверить после Ouput из моего терминала, что мой код возвращает мне это с учетом всей фильтрации

iptables -D MYCHAIN 17;
iptables -D MYCHAIN 18;
iptables -D MYCHAIN 19;
iptables -D MYCHAIN 20;
iptables -D MYCHAIN 21;
iptables -D MYCHAIN 22;
iptables -D MYCHAIN 23;
iptables -D MYCHAIN 24;
iptables -D MYCHAIN 25;
iptables -D MYCHAIN 26;
iptables -D MYCHAIN 28;
iptables -D MYCHAIN 9;
iptables -D MYCHAIN 10;
iptables -D MYCHAIN 11;
iptables -D MYCHAIN 12;
iptables -D MYCHAIN 13;
iptables -D MYCHAIN 14;
iptables -D MYCHAIN 15;
iptables -D MYCHAIN 16;
iptables -D MYCHAIN 27;
iptables -D MYCHAIN 29;
iptables -D MYCHAIN 1;
iptables -D MYCHAIN 2;
iptables -D MYCHAIN 3;
iptables -D MYCHAIN 4;
iptables -D MYCHAIN 5;
iptables -D MYCHAIN 6;
iptables -D MYCHAIN 7;
iptables -D MYCHAIN 8;
iptables -D MYCHAIN 30;

Итак, когдая пытаюсь удалить правила, используя сформулированную выше команду, я получаю эту ошибку

iptables: слишком большой индекс удаления.

Я полагаю, что либо это занимает много временивыполнить или индекс получает изменения.Пожалуйста, проверьте следующий случай:

Chain FORWARD (policy DROP)
target     prot opt source               destination
MYCHAIN  all  --  anywhere             192.168.1.99
MYCHAIN  all  --  anywhere             10.0.1.5
MYCHAIN  all  --  anywhere             10.1.1.5


iptables -L MYCHAIN --line-number                                                                                                                                    Chain MYCHAIN (3 references)
num  target     prot opt source               destination
1    ACCEPT     icmp --  anywhere             10.1.1.5
2    ACCEPT     esp  --  anywhere             10.1.1.5
3    ACCEPT     xns-idp--  anywhere             10.1.1.5
4    ACCEPT     tcp  --  anywhere             10.1.1.5            tcp dpt:postgr                                                                                                             es
5    ACCEPT     tcp  --  anywhere             10.1.1.5            tcp dpt:http
6    ACCEPT     udp  --  anywhere             10.1.1.5            udp dpt:domain                                                                                                             
7    ACCEPT     tcp  --  anywhere             10.1.1.5            tcp dpt:ms-wbt                                                                                                             -server
8    ACCEPT     swipe--  anywhere             10.1.1.5
9    ACCEPT     icmp --  anywhere             10.0.1.5
10   ACCEPT     esp  --  anywhere             10.0.1.5
11   ACCEPT     xns-idp--  anywhere             10.0.1.5
12   ACCEPT     tcp  --  anywhere             10.0.1.5            tcp dpt:postgr                                                                                                             es
13   ACCEPT     tcp  --  anywhere             10.0.1.5            tcp dpt:http
14   ACCEPT     udp  --  anywhere             10.0.1.5            udp dpt:domain                                                                                                             
15   ACCEPT     tcp  --  anywhere             10.0.1.5            tcp dpt:ms-wbt                                                                                                             -server
16   ACCEPT     swipe--  anywhere             10.0.1.5
17   ACCEPT     icmp --  anywhere             192.168.1.99
18   ACCEPT     esp  --  anywhere             192.168.1.99
19   ACCEPT     xns-idp--  anywhere             192.168.1.99
20   ACCEPT     tcp  --  anywhere             192.168.1.99        tcp dpt:postgr                                                                                                             es
21   ACCEPT     tcp  --  anywhere             192.168.1.99        tcp dpt:http
22   ACCEPT     udp  --  anywhere             192.168.1.99        udp dpt:domain                                                                                                             
23   ACCEPT     tcp  --  anywhere             192.168.1.99        tcp dpt:ms-wbt                                                                                                             -server
24   ACCEPT     swipe--  anywhere             192.168.1.99
25   DROP       tcp  --  anywhere             192.168.1.99        tcp
26   DROP       tcp  --  anywhere             192.168.1.99        tcp
27   DROP       tcp  --  anywhere             10.0.1.5            tcp
28   DROP       tcp  --  anywhere             192.168.1.99        tcp
29   DROP       tcp  --  anywhere             10.0.1.5            tcp
30   DROP       tcp  --  anywhere             10.1.1.5            tcp

Запуск всех команд удаления сразу

iptables: Index of deletion too big.
iptables: Index of deletion too big.
iptables: Index of deletion too big.
iptables: Index of deletion too big.
iptables: Index of deletion too big.
iptables: Index of deletion too big.
iptables: Index of deletion too big.

После удаления

 Chain MYCHAIN (3 references)
    num  target     prot opt source               destination
    1    ACCEPT     esp  --  anywhere             10.1.1.5
    2    ACCEPT     tcp  --  anywhere             10.1.1.5            tcp dpt:postgres
    3    ACCEPT     udp  --  anywhere             10.1.1.5            udp dpt:domain
    4    ACCEPT     swipe--  anywhere             10.1.1.5
    5    ACCEPT     tcp  --  anywhere             10.0.1.5            tcp dpt:postgres
    6    ACCEPT     swipe--  anywhere             10.0.1.5
    7    ACCEPT     swipe--  anywhere             192.168.1.99

Заранее спасибо:)

Обновление

Все, что мне нужно было сделать, это отсортировать вывод в порядке убывания.Теперь это работает.Индексирование было проблемой.:)

...