iptables очистить все правила

В iptables очистить все правила можно удалить выполнив в консоли команду iptables с флагом -F (flush)

iptables -F


Перед выполнением команды обязательно нужно выполнить iptables-save и убедиться в том, что политика для входящих пакетов на INPUT установлена в ACCEPT, в противном случае можно потерять доступ к серверу.



Перед очисткой правил всегда стоит их просмотреть и сохранить в файл.

Все правила можно вывести введя

iptables -S



Если нам интересны правила для определенной цепочки нужно использовать ключ -L и название цепочки, их можно сохранить отдельно

iptables -L INPUT



Цепочки iptables

iptables очистить все правила


iptables-save сохраняет все изменения в правилах и выводит их в терминал

iptables-save

Последняя команда применяем настройки и, потому, дает самую актуальную информацию. Выполнять ее также нужно каждый раз после корректировки правил.



Удалить одно правило iptables по номеру строки

Также можно удалить одно правило — например, по номеру строки


Так выводится пронумерованный список правил:

iptables -L —line-numbers

iptables -L —line-numbers
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    f2b-sshd   tcp  —  anywhere             anywhere             multiport dports ssh
2    ACCEPT     tcp  —  anywhere             anywhere             tcp dpt:domain
3    ACCEPT     udp  —  anywhere             anywhere             udp dpt:domain
4    f2b-sshd   tcp  —  anywhere             anywhere             multiport dports ssh
5    ispmgr_deny_ip  all  —  anywhere             anywhere            
6    ispmgr_allow_ip  all  —  anywhere             anywhere            
7    ispmgr_allow_sub  all  —  anywhere             anywhere            
8    ispmgr_deny_sub  all  —  anywhere             anywhere            
9    ACCEPT     all  —  anywhere             anywhere             ctstate RELATED,ESTABLISHED
10   ACCEPT     tcp  —  anywhere             anywhere             ctstate NEW multiport dports heathview:35999
11   ACCEPT     tcp  —  anywhere             anywhere             ctstate NEW multiport dports ftp-data:ssh,smtp,http,https,pop3,imap,urd,submission,imaps,pop3s,domain,mysql,postgres,44477
12   ACCEPT     tcp  —  anywhere             anywhere             ctstate NEW multiport dports vlsi-lm
13   ACCEPT     udp  —  anywhere             anywhere             ctstate NEW multiport dports domain
14   ACCEPT     all  —  anywhere             anywhere             state RELATED,ESTABLISHED
15   ACCEPT     icmp —  anywhere             anywhere            
16   ACCEPT     all  —  anywhere             anywhere            
17   ACCEPT     tcp  —  anywhere             anywhere             state NEW tcp dpt:ssh



Затем одно из них удаляется с указанием таблицы, и цепочки (iptables -t TABLE -D INPUT номер_строки)

Сейчас удалим девятое правило из списка

iptables -t nat -D INPUT 9


Также можно удалять правила применяя ключ -D



Команда приведенная ниже разрешит обращения по перечисленным портам

iptables -A INPUT -p tcp -m conntrack —ctstate NEW -m multiport —dports 20:22,25,80,443 -j ACCEPT



С ключом -D правило будет удалено

iptables -D INPUT -p tcp -m conntrack —ctstate NEW -m multiport —dports 20:22,25,80,443 -j ACCEPT



Каждый раз необходимо выполнять iptables-save

Если нужно отредактировать несколько правил или их довольно много проще сначала сохранить все правила в файл, отредактировать его, затем загрузить их вновь

iptables-save > /tmp/iptabeles.txt

iptables-restore < /tmp/iptabeles.txt



Также читайте про сохранение правил iptables после перезагрузки