Тариф успешно добавлен в корзину
В корзину
url image

Настройка iptables в Linux

Iptables — это классический и широко распространённый фаерволл, который до сих пор  используется на многих серверах и является базовым средством, несмотря на появление более современных аналогов — ufw и nftables. Причина его востребованности — в проверенной временем стабильности и уже знакомой логике построения правил для опытных системных администраторов. 

В статье рассказываем, как пользоваться iptables для защиты вашего сервера, научиться понимать конструкции этого фаерволла и сохранить доступ к системе.

Как настроить iptables

Что такое iptables

iptables — это мощный инструмент командной строки для настройки и управления механизмом фильтрации, встроенным в ядро Linux, а также преобразования сетевых пакетов. Он взаимодействует с подсистемой Netfilter, которая отвечает за обработку сетевого трафика: входящего (INPUT), исходящего (OUTPUT) и проходящего через систему (FORWARD).

Хотя термин «iptables» часто используется как синоним фаервола в Linux, технически это пользовательский интерфейс к более глубокой системе —  Netfilter. Netfilter определяет, как обрабатываются пакеты, а iptables — что с ними делать: разрешить, отклонить, перенаправить, залогировать и т.д.

С момента своего появления в начале 2000-х годов iptables стал де-факто стандартом для сетевой безопасности в Linux. Его гибкость позволяет не только блокировать или разрешать соединения, но и реализовывать сложные сценарии: NAT (трансляция сетевых адресов), балансировку нагрузки, ограничение скорости, защиту от DDoS и многое другое.

Важно понимать, что iptables — это фаерволл с отслеживанием состояния (stateful). Это означает, что он ориентируется на состояние соединений (новое, установленное, связанное и т. д.) и принимает решения на основе этого контекста, а не только на основе IP-адресов и портов. Такой подход значительно повышает безопасность и эффективность фильтрации, так как позволяет производить более гибкую, производительную и точную настройку правил под конкретные ситуации.

Однако со временем в iptables обнаружились недостатки:  

  • дублирование кода между IPv4 и IPv6;
  • неэффективная обработка правил;
  • сложный синтаксис, особенно если требуется сложная фильтрация.

Сейчас iptables считается устаревшим решением, и ему на смену пришёл более актуальный инструмент —  nftables, который, в том числе устраняет эти недостатки, но более сложен для понимания и обучения. Поэтому iptables даже в 2025 году iptables остаётся актуальным у системных администраторов, DevOps-инженеров и специалистов по информационной безопасности.

Другие его преимущества: 

  • широкий выбор документации, скриптов и учебных материалов;
  • стабильность и предсказуемость поведения;
  • совместимость с устаревшими системами и встроенными устройствами (например, роутерами на OpenWrt);
  • большое количество готовых решений и шаблонов.

Что учесть перед работой с iptables 

Прежде чем приступать к настройке iptables, важно убедиться, что на вашей системе не запущен другой фаерволл: он может конфликтовать с вашими правилами или даже полностью игнорировать их. 

Современные дистрибутивы Linux часто по умолчанию используют альтернативные системы управления сетевым трафиком: firewalld (в RHEL, CentOS, Fedora), ufw (в Ubuntu, Debian) или nftables, который постепенно заменяет iptables в качестве основного фреймворка.

Как проверить активные фаерволлы:

  1. Firewalld. Проверить статус firewalld можно командой:
systemctl status firewalld

Если служба активна, вы увидите строку active(running). Firewalld управляет правилами через собственный API и может перезаписывать правила iptables в фоне, что делает ручное управление iptables нестабильным.

  1. UFW. Чтобы проверить статус UFW, введите команду (для Debian/Ubuntu и подобных систем):
ufw status verbose

Если вывод показывает Status: active, значит, UFW управляет сетевыми правилами.

  1. nftables. Проверить, используется ли nftables, можно командой:
nft list ruleset

Если команда возвращает правила — система уже работает на nftables. В некоторых дистрибутивах (например, Debian 11+) iptables даже перенаправляется на nftables через совместимый интерфейс (iptables-nft).

  1. Проверка текущих правил iptables. Чтобы убедиться, что iptables действительно работает и содержит правила, введите команду:
iptables -L -n -v

Пустой вывод не означает отсутствие фаерволла — возможно, правила управляются другим инструментом.

Как безопасно отключить конкурирующий фаерволл

Отключение фаерволла без предварительной настройки альтернативы может привести к потере доступа к серверу, особенно если вы подключены по SSH. Поэтому перед любыми изменениями рекомендуется добавить временное правило, разрешающее соединение на нужный порт:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Это обеспечит непрерывный доступ по SSH, даже при сбросе или перезапуске правил. Если  вы используете другой SSH-порт, подставьте его значение в команде вместо «22». 

Важно: в любом случае перед подобными работами необходимо убедиться в наличии резервного доступа (в случае VDS – прямой доступ по VNC в панели VMmanager).

Как отключить конкурирующий фаерволл:

  1. Отключаем firewalld. Сохраните текущие правила (если они важны):
firewall-cmd --list-all

Затем остановите и отключите службу:

systemctl stop firewalld
systemctl disable firewalld

Чтобы избежать случайного возврата firewalld при обновлении пакетов, можно замаскировать службу:

systemctl mask firewalld
  1. Отключаем UFW:
 ufw disable

Убедитесь, что он не запустится автоматически:

systemctl disable ufw
  1. Отключаем nftables. Если вы хотите перейти именно на «классический» iptables (не на iptables-nft), убедитесь, что установлен пакет iptables-legacy:
update-alternatives --set iptables /usr/sbin/iptables-legacy
update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

Остановите nftables:

systemctl stop nftables
systemctl disable nftables

Очистите все правила nftables:

nft flush ruleset  

Только убедившись, что система не управляется другим фаерволом, можно приступать к непосредственной настройке iptables.

Таблицы iptables

В основе архитектуры iptables — концепция таблиц (tables). Каждая таблица отвечает за определённый тип обработки пакетов. Всего существует пять основных таблиц, хотя на практике чаще используются только первые три.

1. filter

Это основная и самая часто используемая таблица. Она предназначена для фильтрации пакетов — то есть для принятия решений: разрешить пакету пройти дальше или отклонить его.

Цепочки (chains) в этой таблице:

  • INPUT — обрабатывает пакеты, предназначенные локальной системе (например, входящие SSH-соединения).
  • OUTPUT — обрабатывает пакеты, исходящие от локальной системы.
  • FORWARD — обрабатывает пакеты, проходящие через систему (актуально, если сервер работает как маршрутизатор или шлюз).

Если вы просто вводите команду iptables -A INPUT ..., вы по умолчанию работаете с таблицей filter.

2. nat

Таблица Network Address Translation используется для изменения IP-адресов и портов в заголовках пакетов. Это необходимо для:

  • организации выхода в интернет для всей локальной сети через один публичный IP (маскарадинг);
  • перенаправления трафика с одного порта на другой (port forwarding);
  • настройки прозрачных прокси.

Цепочки в таблице nat:

  • PREROUTING — изменение пакета до принятия решения о маршрутизации (например, DNAT — destination NAT).
  • POSTROUTING — изменение пакета после маршрутизации (например, MASQUERADE или SNAT — source NAT).
  • OUTPUT — для NAT исходящих локальных соединений (редко используется).

Пример команды для внесения правила, чтобы разрешить машинам в локальной сети выходить в интернет через сервер с публичным IP:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

3. mangle

Таблица mangle предназначена для модификации специфических полей IP-заголовков, например, TTL (Time To Live), TOS (Type of Service) или маркировки пакетов для последующей обработки (например, в QoS-системах).

Таблица содержит цепочки: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING.
Используется редко и в основном в специализированных сценариях (например, для настройки политики качества обслуживания или отладки сетевых проблем).

4. raw

Таблица raw позволяет исключить пакеты из отслеживания соединений (connection tracking). Это полезно для повышения производительности при обработке большого объёма трафика, который не требует stateful-анализа (например, потоковое видео или DNS-запросы).

Основные цепочки: PREROUTING и OUTPUT.

Пример команды для внесения правила:

iptables -t raw -A PREROUTING -p udp --dport 53 -j NOTRACK

5. security

Эта таблица используется в системах с расширенными механизмами безопасности, такими как SELinux. Она применяет метки безопасности к пакетам и редко встречается в обычных конфигурациях.

Важно: Порядок обработки пакета в ядре строго определён. Например, пакет, пришедший извне, проходит через цепочки в таком порядке: raw → mangle → nat (PREROUTING) → routing decision → filter (INPUT).

Если пакет предназначен для другого хоста и система работает как маршрутизатор, после решения о маршрутизации он попадает в filter (FORWARD), затем в mangle → nat (POSTROUTING).

Понимание таблиц и цепочек — ключ к эффективной настройке iptables. Неправильный выбор таблицы может привести к тому, что правило просто не сработает, даже если синтаксис корректен. Когда пакет проходит через систему, он проверяется на соответствие правилам в цепочках, пока не будет найдено первое подходящее действие.

Синтаксис iptables

Команды iptables строятся по строгой логической структуре, которая позволяет точно указать, какой трафик, в какой таблице, в какой цепочке и что с ним делать. Базовый синтаксис выглядит так:

iptables [-t таблица] -операция ЦЕПОЧКА [условия] -j ЦЕЛЬ

Разберём каждый элемент подробно.

1. Выбор таблицы (-t таблица)

По умолчанию используется таблица filter. Если нужно работать с NATmangle или raw-правилами, необходимо явно указать таблицу, например:

iptables -t nat -A POSTROUTING ...

2. Операции

Основные операции определяют, что сделать с правилом:

  • -A (append) — добавить правило в конец цепочки.
  • -I (insert) — вставить правило в начало цепочки или в указанную позицию, например: -I INPUT 2.
  • -D (delete) — удалить правило по номеру или по совпадению.
  • -R (replace) — заменить правило по номеру.
  • -L (list) — вывести список правил в цепочке.
  • -F (flush) — очистить все правила в цепочке.
  • -N (new-chain) — создать пользовательскую цепочку.
  • -X (delete-chain) — удалить пользовательскую цепочку.
  • -P (policy) — установить политику по умолчанию для встроенной цепочки.

3. Цепочки

Это точки входа в обработку пакетов. В таблице filter это INPUTOUTPUTFORWARD. В других таблицах — свои цепочки (см. раздел «Таблицы iptables»).

4. Условия

Условия определяют, к каким пакетам применяется правило. Они могут быть простыми или сложными:

  • -p tcp — только TCP-трафик.
  • --dport 22 — только пакеты, направленные на порт 22.
  • -s 192.168.1.0/24 — только от подсети 192.168.1.0/24.
  • -d 10.0.0.5 — только к адресу 10.0.0.5.
  • -i eth0 — только входящие через интерфейс eth0.
  • -o eth1 — только исходящие через eth1.
  • -m state --state ESTABLISHED,RELATED — только установленные или связанные соединения.
  • -m limit --limit 5/min — ограничение частоты срабатывания (для логирования).
  • -m comment --comment "Allow SSH" — добавление поясняющего комментария.

Модули (-m) расширяют возможности iptables. Например, -m multiport позволяет указывать несколько портов:

-m multiport --dports 22,80,443

5. Цель

Цель определяет действие, которое выполняется при совпадении условия:

  • ACCEPT — разрешить пакет.
  • DROP — тихо отбросить пакет (без уведомления отправителя).
  • REJECT — отклонить пакет и отправить ICMP-ошибку (например, «порт недоступен»).
  • LOG — записать информацию о пакете в системный журнал (обычно /var/log/kern.log).
  • MASQUERADE — динамическая замена исходного IP (для NAT).
  • DNAT / SNAT — статическая трансляция адресов.
  • RETURN — вернуться в предыдущую цепочку.
  • Имя пользовательской цепочки — передать обработку в неё.

Важно: Порядок правил критичен, iptables обрабатывает правила сверху вниз и останавливается на первом совпадении. Поэтому общие правила (например, DROP all) должны идти в конце, а специфичные — в начале.

Пример полной команды:

iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT

Это правило:
 — добавляется в конец цепочки INPUT,
 — применяется только к TCP-пакетам,
 — от источника 192.168.1.100,
 — направленным на порт 22,
 — и разрешает их прохождение.

Основные команды iptables

Ниже приведены наиболее часто используемые команды, которые формируют основу повседневной работы с iptables.

1. Просмотр правил:

iptables -L -n -v
  • -L — список правил.
  • -n — не выполнять DNS-запросы (показывать IP, а не имена).
  • -v — подробный вывод (счётчики пакетов и байтов).

Для просмотра с номерами строк (удобно для удаления):

iptables -L --line-numbers

2. Очистка всех правил:

iptables -F

Очищает все цепочки в таблице filter. Чтобы очистить другие таблицы, введите:

iptables -t nat -F
iptables -t mangle -F

3. Установка политик по умолчанию

Политика определяет, что делать с пакетами, не попавшими ни под одно правило.

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

Эти действия создают «белый список»: всё запрещено, кроме явно разрешённого.

Осторожно! Установка INPUT DROP без предварительного разрешения SSH может отключить вас от сервера.

4. Разрешение локального трафика:

iptables -A INPUT -i lo -j ACCEPT

Трафик через loopback-интерфейс (127.0.0.1) почти всегда должен быть разрешён.

5. Разрешение установленных соединений:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Позволяет отвечать на запросы, инициированные локальной системой (например, обновления пакетов).

6. Сохранение и восстановление правил.

Правила iptables не сохраняются автоматически после перезагрузки. Их нужно сохранять вручную.

В Debian/Ubuntu:

iptables-save > /etc/iptables/rules.v4

Установите пакет iptables-persistent, чтобы правила загружались при старте:

apt install iptables-persistent

В RHEL/CentOS 7 и старше:

service iptables save

(требует установленного пакета iptables-services).

В CentOS 8+ / RHEL 8+ рекомендуется использовать nftables, но если нужно установить  iptables, введите:

iptables-save > /etc/sysconfig/iptables
systemctl enable iptables

7. Удаление правила

По номеру строки:

iptables -D INPUT 3

По совпадению:

iptables -D INPUT -p tcp --dport 22 -j ACCEPT

8. Создание пользовательской цепочки

iptables -N SSH-RULES
iptables -A INPUT -p tcp --dport 22 -j SSH-RULES
iptables -A SSH-RULES -s 192.168.1.0/24 -j ACCEPT
iptables -A SSH-RULES -j DROP

Улучшает читаемость и модульность конфигурации.

Примеры настройки iptables

Теория — хорошо, но настоящая ценность iptables раскрывается на практике. Ниже приведены три типичных сценария, с которыми часто сталкиваются администраторы: базовый сервер, веб-сервер и почтовые порты. Все примеры предполагают, что конкурирующие фаерволлы отключены, а доступ по SSH сохранён.

Базовый сервер с минимальными разрешениями

Цель: разрешить только SSH и локальный трафик, всё остальное — запретить.

Очистка всех правил (рекомендуется выполнять в VNC-консоли сервера):

iptables -F
iptables -t nat -F
iptables -t mangle -F

Разрешить SSH только с доверенного IP (замените на ваш):

iptables -A INPUT -p tcp -s 203.0.113.45 --dport 22 -j ACCEPT

Установка политик по умолчанию:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

Разрешить loopback:

iptables -A INPUT -i lo -j ACCEPT

Разрешить установленные и связанные соединения:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

(Опционально) Разрешить пинг:

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

Сохранение правил:

iptables-save > /etc/iptables/rules.v4

Совет: если вы не знаете, с какого IP будете подключаться, после очистки правил первой же командой временно разрешите весь SSH-трафик:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Веб-сервер (HTTP/HTTPS + SSH)

Цель: открыть порты 80 и 443 для всех, SSH — только для админов, защитить от сканирования портов.

SSH — только с подсети админов, вместо 192.168.10.0/24 укажите подсеть администраторов:

iptables -A INPUT -p tcp -s 192.168.10.0/24 --dport 22 -j ACCEPT

Установка политик по умолчанию:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

Loopback и установленные соединения:

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Веб-трафик — для всех:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Защита от сканирования: логировать и отклонять подозрительные попытки:

iptables -A INPUT -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "NULL_SCAN: "
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
 
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG --log-prefix "XMAS_SCAN: "
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

Сохранение:

iptables-save > /etc/iptables/rules.v4

Эти правила блокируют так называемые NULL- и XMAS-сканы, часто используемые в разведке уязвимостей.

Настройка для почтового сервера

Цель: открыть доступ для всех необходимых портов почтового сервера (exim/postfix, dovecot).

Правила будут указаны в продолжение предыдущих примеров.

iptables -A INPUT -p tcp -m multiport --dports 25,465,587,110,995,143,993 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --sports 25,465,587,110,995,143,993 -m conntrack --ctstate ESTABLISHED -j ACCEPT

При этом важно помнить, что почтовые службы часто становятся целью спам-ботов и перебора паролей, поэтому можно добавить ограничение скорости:

iptables -A INPUT -p tcp --dport 25 -m limit --limit 10/minute --limit-burst 20 -j ACCEPT 

Расширенное использование iptables

Помимо базовой фильтрации, iptables позволяет реализовывать продвинутые сценарии безопасности и управления трафиком. Вариантов реализации довольно много, и они бывают достаточно сложными. В рамках этой статьи мы рассмотрим лишь распространённые и более простые случаи.

1. Ограничение скорости подключений (защита от брутфорса SSH)

Модуль limit и recent позволяют ограничивать частоту подключений.

Например, разрешим до трёх попыток подключения с одного IP по SSH за 60 секунд:

iptables -A INPUT -p tcp --dport 22 -m recent --name ssh --set
iptables -A INPUT -p tcp --dport 22 -m recent --name ssh --update --seconds 60 --hitcount 4 -j DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Первое правило помечает IP, второе — блокирует, если за 60 секунд было совершено 4 или более попыток. Третье правило разрешает доступ по 22-му порту, если были пройдены условия первых двух правил.

2. Перенаправление портов (Port Forwarding)

Например, поставлена задача перенаправить внешний порт 8080 на внутренний сервер 192.168.1.50:80

В первую очередь включаем маршрутизацию командой:

echo 1 > /proc/sys/net/ipv4/ip_forward

Чтобы эта настройка сохранялась после перезагрузки, воспользуемся командой:

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf

Используем правило DNAT для изменения назначения пакета:

iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.50:80

Далее следует разрешить в цепочке FORWARD приём пакетов на нужном адресе и порту:

iptables -A FORWARD -p tcp -d 192.168.1.50 --dport 80 -j ACCEPT

Теперь запросы к <ip_вашего_сервера>:8080 будут перенаправляться и обрабатываться веб-сервером на внутреннем адресе.

3. Логирование подозрительного трафика

Чтобы не засорять логи, используйте ограничение частоты:

iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "SSH_ATTEMPT: " --log-level 6 -m limit --limit 3/min
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Команда запишет не более 3 записей в минуту, даже если атака идёт непрерывно.

4. Маркировка пакетов для QoS (приоритезация трафика)

С помощью таблицы mangle можно помечать пакеты для последующей обработки в tc (traffic control), например:

iptables -t mangle -A OUTPUT -p tcp --dport 5060 -j MARK --set-mark 10

Затем в tc (отдельная утилита управлением трафика) можно задать приоритет для пакетов с меткой 10 (например, для VoIP-трафика).

5. Защита от DDoS (базовый уровень)

Хотя iptables не заменит специализированные решения, он может смягчить простые атаки.

Ограничить новые соединения до 20 в секунду:

iptables -A INPUT -p tcp --syn -m limit --limit 20/sec --limit-burst 50 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP

--limit-burst задаёт «запас» для кратковременных всплесков.

6. Использование пользовательских цепочек для группировки и удобства

Группировка правил улучшает читаемость. Введем, например, такие группы:

iptables -N WEB
iptables -N MONITORING

Теперь мы можем помечать правила вышеназванными категориями, например:

iptables -A INPUT -p tcp --dport 80 -j WEB
iptables -A INPUT -p tcp --dport 443 -j WEB
iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 9100 -j MONITORING

И затем задавать общие правила для всей категории, например, разрешить:

iptables -A WEB -j ACCEPT
iptables -A MONITORING -j ACCEPT

Таким образом можно легко включать/отключать целые группы правил.

7. Работа с IPv6

Для IPv6 используется команда ip6tables с аналогичным синтаксисом:

ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT
ip6tables-save > /etc/iptables/rules.v6

Не забывайте настраивать обе версии, если в вашей сети используется IPv6.

Заключение

Настройка iptables — это не просто техническая задача, а искусство баланса между безопасностью, функциональностью и удобством. Несмотря на то что в 2025 году всё больше дистрибутивов переходят на nftables, iptables остаётся неотъемлемой частью Linux-экосистемы. Его понимание даёт администратору глубокий контроль над сетевым стеком и позволяет быстро реагировать на угрозы без зависимости от сторонних инструментов.

Что важно помнить: 

  • Фаерволл — это не «установил и забыл». Правила должны регулярно пересматриваться, тестироваться и адаптироваться под меняющуюся инфраструктуру. Особенно критично это в облачных средах, где IP-адреса динамичны, а атаки становятся всё более изощрёнными.
  • Безопасность начинается с минимальных разрешений. Принцип «запретить всё, кроме необходимого» (whitelist) значительно надёжнее, чем «разрешить всё, кроме опасного» (blacklist). iptables предоставляет все инструменты для реализации этого подхода — от простой фильтрации до сложных сценариев с маркировкой, логированием и ограничением скорости.
  • Наконец, никогда не применяйте правила на продакшен-сервере без тестирования. Используйте виртуальные машины, контейнеры или резервные сессии, чтобы избежать потери доступа. Автоматизируйте развёртывание правил через скрипты или системы конфигурации (Ansible, например), чтобы гарантировать воспроизводимость и минимизировать человеческий фактор.

Освоив iptables, вы не только научитесь защищать свои системы, но и глубже поймёте, как устроен сетевой трафик в Linux — знание, которое остаётся актуальным независимо от эволюции инструментов.

Шпаргалка: команды, которые стоит заучить

Команда

Назначение

iptables -L -v -n

Просмотр всех активных правил с подробной статистикой

iptables -F

Очистить все цепочки (flush)

iptables -X

Удалить пользовательские цепочки

iptables -P INPUT ACCEPT

Установить политику по умолчанию для входящего трафика — разрешить

iptables -I INPUT -p tcp --dport 22 -j ACCEPT

Вставить правило в начало цепочки (ключ -I)

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Разрешить установленные соединения

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Разрешить доступ по SSH

iptables -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT

Разрешить HTTP и HTTPS

iptables -A INPUT -p icmp -j ACCEPT

Разрешить ICMP (ping)

iptables -A INPUT -p tcp --dport 25 -m limit --limit 10/minute --limit-burst 20 -j ACCEPT

Ограничить частоту SMTP-запросов

iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 5 -j DROP

Блокировка перебора паролей SSH

iptables -A INPUT -s 123.0.123.0/24 -j DROP

Заблокировать подсеть (либо IP, если укажете вместо подсети один адрес)

iptables -A INPUT -p tcp --dport 123 -j DROP
iptables -A INPUT -p udp --dport 123 -j DROP

Заблокировать порт 123 (можете указать какой требуется) по TCP и UDP

iptables-save > /etc/iptables/rules.v4

Сохранить текущие правила

iptables-restore < /etc/iptables/rules.v4

Восстановить сохранённые правила

Этот материал был полезен?

Скидка новым клиентам
Закажите сервер сегодня и получите скидку на первый месяц аренды!
Наш сайт использует cookies Вы можете отключить их в настройках браузера, но это может ограничить функционал. Оставаясь на сайте, вы соглашаетесь с использованием cookies.