Использование Iptables в Linux
В этом руководстве мы попытаемся объяснить, как использовать iptables в Linux на понятном языке..
содержание[скрывать]
|
обзор
Iptables - это межсетевой экран на основе правил, который обрабатывает каждое правило по порядку, пока не найдет то, которое соответствует.
Todo: включите пример здесь
использование
Утилита iptables обычно предустановлена в вашем дистрибутиве Linux, но на самом деле не запускает никаких правил. Вы найдете утилиту здесь в большинстве дистрибутивов:
/ SBIN / Iptables
Блокировка одного IP-адреса
Вы можете заблокировать IP-адрес с помощью параметра -s, заменив 10.10.10.10 на адрес, который вы пытаетесь заблокировать. В этом примере вы заметите, что мы использовали параметр -I (или -insert тоже работает) вместо добавления, потому что мы хотим убедиться, что это правило отображается в первую очередь, перед любыми разрешающими правилами..
/ sbin / iptables -I INPUT -s 10.10.10.10 -j DROP
Разрешение всего трафика с IP-адреса
Вы можете поочередно разрешить весь трафик с IP-адреса, используя ту же команду, что и выше, но заменив DROP на ACCEPT. Вы должны убедиться, что это правило появляется первым, прежде чем какие-либо правила DROP.
/ sbin / iptables -A INPUT -s 10.10.10.10 -j ПРИНЯТЬ
Блокировка порта со всех адресов
Вы можете полностью заблокировать доступ к порту через сеть, используя ключ -dport и добавив порт службы, которую вы хотите заблокировать. В этом примере мы заблокируем порт mysql:
/ sbin / iptables -A INPUT -p tcp --dport 3306 -j DROP
Разрешение одного порта с одного IP
Вы можете добавить команду -s вместе с командой -dport для дальнейшего ограничения правила для определенного порта:
/ sbin / iptables -A INPUT -p tcp -s 10.10.10.10 --dport 3306 -j ПРИНЯТЬ
Просмотр текущих правил
Вы можете просмотреть текущие правила, используя следующую команду:
/ sbin / iptables -L
Это должно дать вам вывод, подобный следующему:
Цепочка INPUT (policy ACCEPT) target prot opt источник назначения ACCEPT all - 192.168.1.1/24 где угодно ACCEPT all - 10.10.10.0/24 где угодно DROP tcp - где угодно где угодно tcp dpt: ssh DROP tcp - где угодно tcp dpt: MySQL
Фактический результат будет немного длиннее, конечно.
Очистка текущих правил
Вы можете очистить все текущие правила, используя параметр flush. Это очень полезно, если вам нужно расположить правила в правильном порядке или когда вы тестируете.
/ sbin / iptables --flush
Распределение Специфичное
Хотя большинство дистрибутивов Linux включают в себя форму iptables, некоторые из них также включают в себя оболочки, которые немного облегчают управление. Чаще всего эти «дополнения» принимают форму сценариев инициализации, которые заботятся об инициализации iptables при запуске, хотя некоторые дистрибутивы также включают полнофункциональные приложения-оболочки, которые пытаются упростить общий случай.
Gentoo
Iptables Скрипт инициализации в Gentoo способен работать со многими распространенными сценариями. Для начала, он позволяет вам настроить iptables для загрузки при запуске (обычно то, что вы хотите):
rc-update добавить iptables по умолчанию
Используя сценарий инициализации, можно загрузить и очистить брандмауэр с помощью простой в запоминании команды:
/etc/init.d/iptables start /etc/init.d/iptables stop
Сценарий init обрабатывает детали сохранения текущей конфигурации брандмауэра при запуске / остановке. Таким образом, ваш брандмауэр всегда находится в том состоянии, в котором вы его оставили. Если вам нужно вручную сохранить новое правило, сценарий init также может обработать это:
/etc/init.d/iptables save
Кроме того, вы можете восстановить брандмауэр до предыдущего сохраненного состояния (для случая, когда вы экспериментировали с правилами и теперь хотите восстановить предыдущую рабочую конфигурацию):
/etc/init.d/iptables reload
Наконец, сценарий инициализации может перевести iptables в режим «паники», где весь входящий и исходящий трафик блокируется. Я не уверен, почему этот режим полезен, но все брандмауэры Linux, кажется, имеют его.
/etc/init.d/iptables паника
Предупреждение: Не включайте режим паники, если вы подключены к вашему серверу через SSH; вы будут быть отключенным! Единственный раз, когда вы должны перевести iptables в режим паники, это когда вы физически перед компьютером.