Настройка IPTables: правила и примеры
Это подсистема для работы с сетевыми пакетами, которая пропускает через свой фильтр все соединения на сервере. Разберем подробнее настройку IPTables.
#Общая информация
IPTables уже по умолчанию встроена в основное ядро Linux, но инструменты для работы с ней во многих дистрибутивах не поставляются по умолчанию, поэтому давайте используем команду для установки утилиты.
#Debian / Ubuntu
[sudo] apt install iptablesSudo предназначена для использования на ОС Ubuntu. Для Debian используется обыкновенная команда.
#CentOS [Fedora]
sudo yum install iptables#Настройка
После установки утилиты перейдем к ее подробной настройке.
#Аргументы
-A — добавить правило в раздел.
-С — проверить все правила.
-D — удалить правило.
-I — вставить правило с необходимым номером.
-L — вывести все правила в текущем разделе.
-S — вывести все правила.
-F — очистить все правила.
-N — создать раздел.
-X — удалить раздел.
-P — установить действие по умолчанию.
-p — установить протокол.
-s — указать адрес отправителя.
-d — указать адрес получателя.
-i — входной сетевой интерфейс.
-o — исходящий сетевой интерфейс.
-j — выполнить при соответствии правила.
INPUT — отвечает за обработку входящих пакетов и подключений.
FORWARD — применяется для проходящих соединений. Именно сюда попадают соответствующие пакеты, которые отправлены на Ваш сервер, но не определяют его как цель доставки.
OUTPUT — полностью противоположно первому. Используется для исходящих пакетов и соединений.
ACCEPT — пропустить пакет.
DROP — удалить пакет.
REJECT — отклонить пакет.
LOG — сделать лог-файл соответствующего пакета.
QUEUE — отправить пакет приложению пользователя.
#Открытие порта(-ов)
Для начала давайте проверим список наших правил:
iptables -L
Попробуем открыть один TCP-порт 80 для входящих соединений:
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPTПроверим список еще раз...

Теперь давайте попытаемся открыть диапазон UDP-портов от 25565 до 25570 для исходящих подключений:
iptables -t filter -A OUTPUT -p udp --dport 25565:25570 -j ACCEPTПроверим результат.

Хотите закрыть все входящие подключения для TCP 250? Не проблема.
iptables -t filter -A INPUT -p tcp --dport 250 -m state --state ESTABLISHED -j DROP
#Удаление правил
Теперь попробуем удалить правило, которое разрешает входящие соединения для TCP 80:
iptables -t filter -D INPUT -p tcp --dport 80 -j ACCEPT
#Удаление всех правил
Для этого используйте команду
iptables -F
#Сохранение созданных правил
По умолчанию все созданные правила применяются до следующей перезагрузки и будут удалены во время ее выполнения. Чтобы избежать этого, давайте сохраним созданные нами правила IPTables. Для этого необходимо использовать соответствующую команду.
iptables-save
Получилось. Правила сохранены и будут активны даже после перезагрузки нашего сервера!
Не нашли ответ? Мы на связи 24/7.Написать в поддержку