iptables — утилита для настройки брандмауэра в Linux. Команды сгруппированы для быстрого поиска.
Таблицы: filter (по умолч.), nat, mangle, raw
| Ключ | Описание / пример |
|---|---|
| -A | Добавить в конец: iptables -A INPUT -s 192.168.0.15 -j DROP |
| -I [N] | Вставить с номером: iptables -I INPUT 2 -p tcp --dport 22 -j ACCEPT |
| -D [N] | Удалить по номеру: iptables -D INPUT 3 |
| -R [N] | Заменить: iptables -R OUTPUT 1 -d 8.8.8.8 -j ACCEPT |
| -F | Очистить правила: iptables -F INPUT |
| -P | Политика по умолч.: iptables -P INPUT DROP |
| -L --line-numbers | Показать правила с номерами |
| Ключ | Описание |
|---|---|
| -p | Протокол: tcp, udp, icmp, all |
| -s / -d | IP источник / назначения (10.0.0.0/24) |
| --dport / --sport | Порт назначения / источник |
| -i / -o | Интерфейс входящий / исходящий |
| -m state --state | NEW, ESTABLISHED, RELATED |
| -m multiport | Несколько портов: --dports 80,443,8080 |
| ! | Инверсия: -s ! 1.1.1.1 |
| Действие | Таблица | Описание |
|---|---|---|
| ACCEPT / DROP | filter | Разрешить / Запретить |
| REJECT | filter | Запретить с ответом |
| SNAT / DNAT | nat | Смена адреса источника/назначения |
| MASQUERADE | nat | SNAT для динамических IP |
| REDIRECT | nat | Перенаправление на другой порт |
| LOG | все | Запись в лог |
| Задача | Команды |
|---|---|
| Внешний порт 8022 → 192.168.1.10:22 |
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8022 -j DNAT --to-destination 192.168.1.10:22 iptables -A FORWARD -p tcp -d 192.168.1.10 --dport 22 -j ACCEPT |
| NAT для интернета | iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE |
| SNAT (фикс. IP) | iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 95.25.14.10 |
| Диапазон портов |
iptables -t nat -A PREROUTING -p tcp --dport 1000:2000 -j DNAT --to-destination 192.168.1.15 iptables -A FORWARD -d 192.168.1.15 -p tcp --dport 1000:2000 -j ACCEPT |
| Локальный проброс | iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80 |
| Команда | Описание |
|---|---|
| iptables -L -n -v --line-numbers | Показать все правила с номерами |
| iptables -t nat -L -n --line-numbers | Правила в таблице nat |
| iptables -D INPUT 5 | Удалить правило 5 в INPUT |
| iptables -F | Очистить все правила в filter |
| iptables -t nat -F | Очистить nat таблицу |
| iptables -X | Удалить пользовательские цепочки |
Debian/Ubuntu
apt install iptables-persistent
netfilter-persistent save
или
iptables-save > /etc/iptables/rules.v4
CentOS/RHEL
yum install iptables-services
systemctl enable iptables
service iptables save
файл: /etc/sysconfig/iptables
Универсальный
iptables-save > /etc/iptables.rules
iptables-restore < /etc/iptables.rules
CentOS 7+ — вместо iptables используется firewalld:
systemctl stop firewalld
systemctl disable firewalld
systemctl enable iptables
systemctl start iptables
Ubuntu — по умолчанию ufw:
ufw disable
apt install iptables-persistent
Эти команды сбрасывают все правила и открывают трафик. Используйте, если заблокировали себя.
Комментарии
Пока нет комментариев. Будьте первым!