Логотип
А ну, познания человеческие, поглядим, кто кого! (Ж.-П. Сартр).

Как использовать IPTables

Как использовать IPTables

IPTables имеет неоценимое значение для тех, кто хочет обезопасить сервер Linux. Он может заблокировать или принимать пакеты на основе любого количества критериев, внешних портов и выполнять множество задач сетевого анализа. Это особенно полезно при защите от атак, так как он может выполнять все действия, основанные на подсети и других критериев. Эта гибкая утилита, однако, так это утилита командной строки, является сложной и запутанной. К счастью, с несколькими основными примерами, большая часть его «полезности» можно сделать гораздо более доступным.

Начало работы с IPTables

Служба устанавливается по умолчанию в большинстве дистрибутивов Linux. Тем не менее, для удобства, в этом руководстве предполагается, что у вас есть либо выделенный или виртуальный сервер работающий последних версиях Ubuntu или CentOS.

Учебник

Давайте пошагово посмотрим несколько примеров задач, которые вы могли бы выполнить с помощью службы. Эти команды дадут вам ощущение того, что это возможно, и должно легко адаптировать к другим обстоятельствам.

Мы начнем с изучения состояния брандмауэра. Эта команда невероятно полезна для диагностики проблем, вы можете использовать ее, чтобы определить, какие правила в настоящее время активны, и если данная запись может блокировать трафик неожиданно.

iptables -L -nv

 

Теперь давайте отобразим только подмножество ваших правил брандмауэра в этом случае, только цепь NAT.

iptables -t nat -L -nv

 

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

service iptables start
service iptables stop
service iptables restart

 

Читать  Как настроить мастер Kubernetes с рабочим узлом в Linux

Если брандмауэр полностью нарушен, вы можете очистить все ваши правила IPTables сразу. Обратите внимание, что это может нарушить расширенные настройки и переадресации соединения в некоторых случаях, но в целом это не нарушит что-то, вы не зря использовали расширенные функции. Это хороший способ, чтобы вернуть в рабочее состояние и начать все заново.

iptables -F

 

Допустим, вы нашли хороший набор правил и хотите сохранить их. Затем они будут автоматически возобновлены ​​при перезагрузке сервера. Под CentOS/Redhat нужно ввести следующую команду и правила будут сохранены в /etc/sysconfig/Iptables.

service iptables save

 

Эта команда работает с другими дистрибутивами, и сохраняется правила /root/ myrules:

iptables-save > /root/myrules

 

Если ваши правила не восстанавливаются автоматически при загрузке системы, используйте эти команды, чтобы восстановить их. Под CentOS/Redhat:

service iptables restart

 

Под другими дистрибутивами:

iptables-restore < /root/myrules

 

Теперь давайте перейдем к созданию конкретных типов правил брандмауэра. Допустим, вы хотите заблокировать весь трафик с 10.01.10.1 или подсети 10.01.10.0/24.

iptables -A INPUT -s 10.10.10.1 -j DROP
iptables -A INPUT -s 10.10.10.0/24 -j DROP

 

Теперь давайте заблокируем любой входящий доступ по SSH. Будьте осторожны с этим, если вы связаны SSH, то это оборвет текущее соединение:

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

 

Теперь мы будем комбинировать два предыдущих правила, блокируя доступ по SSH от определенного IP-адреса:

iptables -A INPUT -s 10.0.10.1 -p tcp --dport 22 -j DROP

 

Эта команда делает прямо противоположное. Она позволяет SSH трафик с удаленного IP, 10.01.10.1, на локальный IP, 192.168.0.1.

iptables -A INPUT -s 10.10.10.1 -d 192.168.0.1 -p tcp --dport 22 -j ACCEPT

 

Читать  Как удалить базу данных MySQL в Linux через командную строку

Скажем, вам нужно открыть диапазон портов TCP для IP-телефонии или игрового трафика. Эта команда открывает порты 30000-50000.

iptables -A INPUT -p tcp --dport 30000:50000 -j ACCEPT

 

Или вы хотите блокировать все пакеты ICMP. Это не рекомендуется, по разным причинам, но следующая команда показывает, как это можно сделать.

iptables –A INPUT –p icmp –icmp-type echo-request –j DROP

 

Может быть, вы хотели бы перенаправить порт? Вы перенаправить порт 1234 на порт 80. Замените eth0 с фактическим сетевым интерфейсом.

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1234 -j REDIRECT --to-port 80

 

Вывод

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

Как использовать IPTables

Редактор: AndreyEx

Рейтинг: 4.3 (3 голоса)
Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

тринадцать − 9 =

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала