[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-setevaya-bezopasnost-chto-takoe-iptables-i-kak-rabotaet-filtratsiya-trafika":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":16,"progress":17,"seo":18},843,"chto-takoe-iptables-i-kak-rabotaet-filtratsiya-trafika",24,"setevaya-bezopasnost","Сетевая безопасность","🔒","Что такое iptables и как работает фильтрация трафика?","iptables — утилита для управления встроенным в ядро Linux межсетевым экраном (Netfilter), позволяющая задавать правила фильтрации, NAT и модификации сетевых пакетов.\n\n> Аналогия: iptables — это охранник на проходной с таблицей правил: кого пускать, кого нет и куда направлять. Каждый пакет проходит проверку по списку правил сверху вниз, и первое совпавшее правило определяет судьбу пакета.\n\n### Таблицы (tables)\n\n| Таблица | Назначение |\n|---------|-----------|\n| filter | Фильтрация пакетов (разрешить\u002Fзапретить). Используется по умолчанию |\n| nat | Трансляция сетевых адресов (SNAT, DNAT, MASQUERADE) |\n| mangle | Модификация заголовков пакетов (TTL, TOS, маркировка) |\n| raw | Обработка пакетов до отслеживания соединений (conntrack) |\n\n### Цепочки (chains) таблицы filter\n\n| Цепочка | Когда применяется |\n|---------|-------------------|\n| INPUT | Входящие пакеты, адресованные этому серверу |\n| OUTPUT | Исходящие пакеты от этого сервера |\n| FORWARD | Пакеты, проходящие через сервер транзитом (маршрутизация) |\n\n### Основные команды\n\n```bash\n# Просмотр всех правил\nsudo iptables -L -n -v\n\n# Просмотр правил с номерами строк\nsudo iptables -L -n --line-numbers\n\n# Просмотр правил таблицы nat\nsudo iptables -t nat -L -n -v\n```\n\n### Примеры правил фильтрации\n\n```bash\n# Разрешить входящие SSH-подключения\nsudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT\n\n# Разрешить входящий трафик на порт 8080 (Java-приложение)\nsudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT\n\n# Разрешить подключения только из определённой подсети\nsudo iptables -A INPUT -s 10.10.0.0\u002F16 -p tcp --dport 5432 -j ACCEPT\n\n# Запретить все остальные подключения к PostgreSQL\nsudo iptables -A INPUT -p tcp --dport 5432 -j DROP\n\n# Разрешить loopback-трафик\nsudo iptables -A INPUT -i lo -j ACCEPT\n\n# Разрешить уже установленные и связанные соединения\nsudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT\n```\n\n### Пример базовой конфигурации для сервера приложений\n\n\u003Cdetails>\u003Csummary>Полный набор правил iptables\u003C\u002Fsummary>\n\n```bash\n# Сброс всех правил\nsudo iptables -F\nsudo iptables -X\n\n# Политики по умолчанию: всё запретить\nsudo iptables -P INPUT DROP\nsudo iptables -P FORWARD DROP\nsudo iptables -P OUTPUT ACCEPT\n\n# Разрешить loopback\nsudo iptables -A INPUT -i lo -j ACCEPT\n\n# Разрешить установленные соединения\nsudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT\n\n# SSH только из управляющей подсети\nsudo iptables -A INPUT -s 10.0.1.0\u002F24 -p tcp --dport 22 -j ACCEPT\n\n# HTTP\u002FHTTPS от балансировщика нагрузки\nsudo iptables -A INPUT -s 10.0.10.0\u002F24 -p tcp --dport 8080 -j ACCEPT\n\n# Мониторинг (Prometheus metrics)\nsudo iptables -A INPUT -s 10.0.20.0\u002F24 -p tcp --dport 9090 -j ACCEPT\n\n# Логирование заблокированных пакетов\nsudo iptables -A INPUT -j LOG --log-prefix \"IPTABLES-DROP: \" --log-level 4\nsudo iptables -A INPUT -j DROP\n```\n\n\u003C\u002Fdetails>\n\n### NAT — трансляция адресов\n\n```bash\n# Перенаправление порта 80 на внутренний сервер 192.168.1.10:8080 (DNAT)\nsudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:8080\n\n# Маскарадинг для выхода в интернет через NAT\nsudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE\n```\n\n### Сохранение правил\n\n```bash\n# Установить пакет для сохранения\nsudo apt install iptables-persistent\n\n# Сохранить текущие правила\nsudo netfilter-persistent save\n\n# Файлы правил: \u002Fetc\u002Fiptables\u002Frules.v4, \u002Fetc\u002Fiptables\u002Frules.v6\n```\n\n> **На собеседовании:** интервьюер ожидает понимание таблиц (filter, nat) и цепочек (INPUT, OUTPUT, FORWARD), а также умение составить базовый набор правил. Частая ошибка — не упомянуть порядок обработки правил (сверху вниз) и правило для ESTABLISHED-соединений.","","middle",[15],"network-security",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":23,"featuredSnippetReady":24},"Что такое iptables и как работает фильтрация трафика? — Gymterview","iptables — утилита для управления встроенным в ядро Linux межсетевым экраном (Netfilter), позволяющая задавать правила фильтрации, NAT и модификации сетевых пак","iptables — утилита для управления встроенным в ядро Linux межсетевым экраном (Netfilter), позволяющая задавать правила ф",[15,13],"iptables — утилита для управления встроенным в ядро Linux межсетевым экраном (Netfilter), позволяющая задавать правила фильтрации, NAT и модификации сетевых пакетов.",true]