Итак, я хочу создать функцию 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
Заранее спасибо:)
Обновление
Все, что мне нужно было сделать, это отсортировать вывод в порядке убывания.Теперь это работает.Индексирование было проблемой.:)