Блокировка
# Заблокировать конкретный IP
iptables -A INPUT -s 192.168.0.100
-j DROP
# Заблокировать подсеть
iptables -A INPUT -s 10.10.10.0/24
-j DROP
Настройка шлюза (NAT и Forwarding)Для работы шлюза необходимо включить форвардинг пакетов в ядре:
echo 1 > /proc/sys/net/ipv4/ip_forward,.
# Маскарадинг (раздача интернета). eth0 — внешний интерфейс
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Разрешить прохождение пакетов из локальной сети (eth1) во внешний мир
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
# Разрешить ответы из внешнего мира (stateful)
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Проброс портов (Port Forwarding)
Пример: Перенаправить входящий трафик на порт 80 внешнего интерфейса (eth0) на внутренний сервер 192.168.1.50:8080.
# DNAT (изменение адреса назначения)
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.50:8080
# Не забыть разрешить этот трафик в цепочке FORWARD
iptables -A FORWARD -p tcp -d 192.168.1.50
--dport 8080 -j ACCEPT
Логирование
Логирование обычно ставят перед правилом DROP для отладки.
iptables -A INPUT -s 192.168.10.0/24
-j LOG --log-prefix "Dropped packet: "
5. Сохранение правил
Правила iptables сбрасываются при перезагрузке. Их нужно сохранять.
Сохранить в файл:
iptables-save > /etc/iptables.rules.Восстановить из файла:
iptables-restore < /etc/iptables.rules.В различных дистрибутивах (CentOS/Ubuntu) для автоматического сохранения часто используется пакет iptables-persistent или сервис iptables-services,.
Порядок действий (важно!)
Правила обрабатываются сверху вниз. Первое совпадение выигрывает.
Если пакет совпал с правилом -j ACCEPT — он проходит (дальнейшие правила в цепочке не проверяются),.
Если пакет совпал с
-j DROP — он удаляется.Если пакет дошел до конца цепочки — применяется политика по умолчанию (
-P).❗️ Нравится формат? Ставь 👍
👉 Рубрика: #шпаргалка@LinuxSkill
#iptables #linux #sysadmin #devops #security #firewall #netfilter #networking