Домашня » як » Використання 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 works) замість додавання, тому що ми хочемо переконатися, що це правило з'являється першим, до будь-яких правил дозволу..

    / 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 ACCEPT

    Блокування порту з усіх адрес

    Порт можна повністю заблокувати від доступу до мережі за допомогою перемикача -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 ACCEPT

    Перегляд поточних правил

    Ви можете переглянути поточні правила за допомогою наступної команди:

    / sbin / iptables -L

    Це дасть вам висновок, подібний до наступного:

    Целевий INPUT (policy ACCEPT) цільовий протокол opt opt ​​source джерело ACCEPT all - 192.168.1.1/24 в будь-якому місці ACCEPT all - 10.10.10.0/24 в будь-якому місці DROP tcp - в будь-якому місці mysql

    Фактичний вихід, звичайно, буде трохи довшим.

    Очищення діючих правил

    Ви можете очистити всі поточні правила, використовуючи параметр flush. Це дуже корисно, якщо потрібно поставити правила в правильному порядку або під час тестування.

    / sbin / iptables --flush

    Специфічне розподіл

    Хоча більшість дистрибутивів Linux містять форму iptables, деякі з них також включають обгортки, які роблять управління трохи легше. Найчастіше ці «аддони» мають форму ініціалізації скриптів, які піклуються про ініціалізацію iptables при запуску, хоча деякі дистрибутиви також включають повномасштабні програми-оболонки, які намагаються спростити загальний випадок.

    Gentoo

    The iptables Сценарій init на Gentoo здатний обробляти багато поширених сценаріїв. По-перше, це дозволяє налаштувати iptables для завантаження під час запуску (як правило, ви хочете):

    rc-update додавати iptables за замовчуванням

    Використовуючи сценарій init, можна завантажувати та очищати брандмауер за допомогою простої команди:

    /etc/init.d/iptables запустіть /etc/init.d/iptables зупиніться

    Сценарій init обробляє деталі збереження поточної конфігурації брандмауера при запуску / зупинці. Таким чином, ваш брандмауер завжди знаходиться в тому стані, в якому ви його залишили. Якщо потрібно вручну зберегти нове правило, сценарій init також може обробити це:

    /etc/init.d/iptables зберегти

    Крім того, ви можете відновити брандмауер до попереднього збереженого стану (для випадку, коли ви експериментували з правилами, а тепер хочете відновити попередню робочу конфігурацію):

    /etc/init.d/iptables перезавантаження

    Нарешті, скрипт init може помістити iptables у режим “паніки”, де блокується весь вхідний та вихідний трафік. Я не впевнений, чому цей режим корисний, але всі брандмауери Linux, схоже, мають його.

    /etc/init.d/iptables панікує

    Увага: Не запускайте режим паніки, якщо ви підключені до сервера через SSH; ти волі бути відключеним! Єдиний раз, коли ви повинні помістити iptables в режим паніки, поки ви перебуваєте фізично перед комп'ютером.