Инструменты пользователя

Инструменты сайта


Боковая панель


Программное обеспечение
Черновики


Краткая инструкция

howto:linux:iptables

iptables

Просмотр

Отобразить список правил с номерами строк:

iptables -L -n -v --line-numbers

список правил в цепочке INPUT:

iptables -L INPUT -n -v --line-numbers

список правил в таблице nat:

iptables -L -n -t nat -v --line-numbers

Удаление

Удалить третье правило в цепочке INPUT (по умолчанию таблица filter):

iptables -D INPUT 3

Добавление

Добавляем правило в цепочку RH-Firewall-1-INPUT

iptables -I RH-Firewall-1-INPUT 7 -i eth1 -j ACCEPT

Добавляем правило в конец цепочки:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

НАТ

Здесь br703 - внешний интерфейс, br3044 - внутренний

iptables -t nat -A POSTROUTING -o br703 -j MASQUERADE
iptables -I FORWARD 1 -i br703 -o br3044 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD 2 -i br3044 -o br703 -j ACCEPT

Пример

/etc/sysconfig/iptables

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#  Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT
#  Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#  AntiDDoS
-A INPUT -p tcp -m tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
#  Anti-spoofing
-I INPUT -m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT --reject-with tcp-reset
#  Anti SYN open connection
-I INPUT -m conntrack --ctstate NEW -p tcp ! --syn -j DROP
#  ICMP
# -A INPUT -p icmp -j ACCEPT
-A INPUT -p icmp --icmp-type 3 -j ACCEPT
-A INPUT -p icmp --icmp-type 8 -m limit --limit 1/s -j ACCEPT
-A INPUT -p icmp --icmp-type 11 -j ACCEPT
-A INPUT -p icmp --icmp-type 12 -j ACCEPT
#  SSH
-A INPUT -p tcp -m state --state NEW --dport 46022 -m recent --name BLOCK --set
-A INPUT -p tcp -m state --state NEW --dport 46022 -m recent --name BLOCK --update --seconds 60 --rttl --hitcount 3 -j DROP
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 46022 -j ACCEPT
#  HTTP
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
#
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Откат изменений через крон

0 16 * * * /bin/cat /etc/sysconfig/iptables.bak > /etc/sysconfig/iptables
1 16 * * * /etc/init.d/iptables reload
#0 18 * * * /sbin/reboot
howto/linux/iptables.txt · Последние изменения: 2019/01/17 11:12 — Алексей Кожевников