Чтение и правила
Правила iptables не сохраняются сами. Постоянство — пакет
iptables-persistent(sudo netfilter-persistent save) или переход на nftables.
Классический файрвол Linux — цепочки, правила, NAT; и почему теперь nftables.
sudo iptables -L -n -v --line-numbers
читать правила
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
сначала SSH!
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -I INPUT 1 -s 10.0.0.5 -j DROP
забанить IP первым правилом
sudo iptables -P INPUT DROP
политика по умолчанию — запретить
sudo iptables -D INPUT 3
удалить правило номер 3
sudo netfilter-persistent save
сохранить
iptables — классический интерфейс к файрволу Linux. На современных системах его сменил nftables (в Ubuntu iptables обычно транслируется в nftables), но iptables-правила и синтаксис всё ещё повсюду — их надо уметь читать и править.
Модель: таблицы (filter, nat, mangle) → цепочки (INPUT, FORWARD, OUTPUT, PREROUTING, POSTROUTING) → правила по порядку → действие (ACCEPT/DROP/REJECT).
| Ключ | Значение |
|---|---|
-L |
показать правила (-n без DNS, -v счётчики) |
-t TABLE |
таблица: filter (умолч.), nat, mangle |
-A CHAIN |
добавить правило в конец цепочки |
-I CHAIN [N] |
вставить в начало / в позицию N |
-D CHAIN N |
удалить правило N |
-P CHAIN ACT |
политика цепочки по умолчанию |
-F |
очистить цепочку (flush) |
-p / --dport / -s / -i |
протокол / порт назначения / источник / интерфейс |
-j |
действие: ACCEPT, DROP, REJECT, DNAT, SNAT, MASQUERADE |
--line-numbers |
номера правил (для -D/-I) |
Ничего не найдено. Попробуй запрос короче.
Правила iptables не сохраняются сами. Постоянство — пакет
iptables-persistent(sudo netfilter-persistent save) или переход на nftables.
Правило для 22/tcp должно идти до DROP-политики. Если уже заблокировал — зайди
через консоль (KVM/IPMI), sudo iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT.
На удалёнке полезно ставить правила с авто-откатом (at now+5min на flush).
iptables не персистентен. sudo netfilter-persistent save (с iptables-persistent),
либо используй nftables/ufw (см. firewall).
Правила применяются сверху вниз до первого совпадения. Смотри --line-numbers,
вставляй в нужное место через -I CHAIN N ..., а не только -A (в конец).
-L -v показывает счётчики пакетов на правило. Ноль = трафик не доходит до него
(перехвачен выше) или не тот интерфейс/цепочка.
В Ubuntu iptables часто = iptables-nft (бэкенд nftables). Реальный набор —
sudo nft list ruleset (см. firewall).
Опасно.
iptables -F(flush) удаляет все правила текущей таблицы без подтверждения. Если перед этим уже стоит политика-P INPUT DROP, сброс правил не возвращает ACCEPT — соединение, включая текущую SSH-сессию, рвётся сразу. Перед-Fна удалённой машине убедись, что есть доступ через консоль гипервизора, или ставь-P INPUT ACCEPTзаранее.Смена политики
-P INPUT DROPбез предварительного разрешающего правила для 22/tcp обрывает удалённый доступ мгновенно — правило для SSH добавляется до изменения политики, не после.
Есть неточность? Сообщить об ошибке в статье