Iptables. Примеры использования

  • Команда:
iptables -L -n -v --line-numbers

где:

Аттрибут Описание
-L Вывести текущие правила
-v Вывести более детальную информацию
-n Вывести IP-адрес и порт в цифровом формате
--line-numbers Отобразить номер строки с правилом
Chain INPUT (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      197 11040 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:80
2    20008 1639K f2b-sshd   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 2200
3     385K   23M ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:10050
4      104  6192 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:2200
5    3161K  345M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
6      313 17673 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
7    14446  867K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
8     330K  149M REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 658K packets, 45M bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain f2b-sshd (1 references)
num   pkts bytes target     prot opt in     out     source               destination         
1    20008 1639K RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0 
  • Вывести информацию по конкретной цепочке:
iptables -L INPUT -n -v --line-numbers
Chain INPUT (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      197 11040 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:80
2    20013 1639K f2b-sshd   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 2200
3     385K   23M ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:10050
4      104  6192 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:2200
5    3162K  345M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
6      313 17673 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
7    14449  867K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
8     330K  149M REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

CentOS / RHEL / Fedora Linux

  • Остановить:
service iptables stop
  • Запустить:
service iptables start
  • Перезапустить:
service iptables restart

Ubuntu

service ufw stop
service ufw start

Iptables command

Аттрибут Описание
-F Очистить все правила
-t table_name Выбрать таблицу и очистить правила в ней
-P Выбрать для цепочки действие по умолчанию (DROP, REJECT, или ACCEPT)
  • Примеры:
# Очистить все правила Ipitables
iptables -F
 
# Очистить все правила таблицы nat
iptables -t nat -F
 
# Очистить все правила таблицы mangle
iptables -t mangle -F
 
# Задать действие по умолчанию для цепочек INPUT, OUTPUT или FORWARD
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

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

  • Вначале необходимо вывести нумерованный список правил определенной цепочки
iptables -L INPUT -n --line-numbers
Chain INPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:80
2    f2b-sshd   tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 2200
3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:10050
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:2200
5    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
6    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
7    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
8    REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
  • Удалить третье правило из списка выполним:
iptables -D INPUT 3

где:

Аттрибут Описание
-D Удалить правило

Удаление по содержимому

  • Содержимое можно увидеть в выводе команды
iptables-save
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1094249:73865842]
:f2b-sshd - [0:0]
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 2200 -j f2b-sshd
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2200 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A f2b-sshd -j RETURN
COMMIT
  • Удалить строку:
iptables -D INPUT -p tcp -m multiport --dports 2200 -j f2b-sshd

где:

Аттрибут Описание
-D Удалить правило

  • Вначале необходимо вывести нумерованный список правил определенной цепочки
iptables -L INPUT -n --line-numbers
Chain INPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:80
2    f2b-sshd   tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 2200
3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:10050
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:2200
5    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
6    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
7    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
8    REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
  • Добавить правило в начало списка:
iptables -I INPUT -p tcp -m multiport --dports 2200 -j f2b-sshd
  • Добавить правило в конец списка:
iptables -A INPUT -p tcp -m multiport --dports 2200 -j f2b-sshd
  • Добавить правило между 2 и 3 строкой:
iptables -I INPUT 3 -p tcp -m multiport --dports 2200 -j f2b-sshd

  • Через iptables-save:
iptables-save > /etc/iptables.rules
  • Через сервис iptables:
service iptables save

  • Из дампа, сделанного при помощи iptables-save:
iptables-restore < /etc/iptables.rules

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

  • iptables._primery_ispolzovanija.txt
  • Последние изменения: 2017/08/25 00:00
  • (внешнее изменение)