Домашняя » как » Использование Iptables в Linux

    Использование Iptables в Linux

    В этом руководстве мы попытаемся объяснить, как использовать iptables в Linux на понятном языке..

    содержание

    [скрывать]

    • 1 Обзор
    • 2 Использование
      • 2.1 Блокировка одного IP-адреса
      • 2.2 Разрешение всего трафика с IP-адреса
      • 2.3 Блокировка порта со всех адресов
      • 2.4 Разрешение одного порта с одного IP
      • 2.5 Просмотр текущих правил
      • 2.6 Очистка текущих правил
    • 3 Распределение Специфичные
      • 3,1 Gentoo

    обзор

    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 в режим паники, это когда вы физически перед компьютером.