If-Koubou

Използване на Iptables на Linux

Използване на Iptables на Linux (Как да)

Това ръководство ще се опита да обясни как да използвате iptables на linux в лесен за разбиране език.

съдържание

[Крия]

  • 1 Преглед
  • 2 Употреба
    • 2.1 Блокиране на единствен IP адрес
    • 2.2 Разрешаване на целия трафик от IP адрес
    • 2.3 Блокиране на порт от всички адреси
    • 2.4 Разрешаване на единствен порт от една IP
    • 2.5 Преглед на текущите правила
    • 2.6 Изчистване на текущите правила
  • Специфични за разпределението
    • 3.1 Gentoo

Преглед

Iptables е защитна стена, базирана на правила, която ще обработва всяко правило в ред, докато не намери такъв, който съвпада.

Тодо: включете пример тук

употреба

Помощната програма iptables обикновено е предварително инсталирана на Linux, но всъщност няма правила. Тук ще намерите полезността тук на повечето дистрибуции:

/ Sbin / IPTABLES

Блокиране на единствен IP адрес

Можете да блокирате IP, като използвате параметъра -s, замествайки 10.10.10.10 с адреса, който се опитвате да блокирате. В този пример ще забележите, че вместо добавката използвахме параметъра -I (или -интервалът също работи), защото искаме да се уверим, че това правило се показва първо, преди да има правила за позволяване.

/ 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 -А ВЪВЕЖДАНЕ -p tcp -dport 3306 -j DROP

Разрешаване на единствен порт от една IP

Можете да добавите командата -s заедно с командата -dport, за да ограничите правилото до конкретен порт:

/ sbin / iptables -А INPUT -p tcp -s 10.10.10.10 -порт 3306 -j ACCEPT

Преглед на текущите правила

Можете да видите текущите правила, като използвате следната команда:

/ sbin / iptables -L

Това трябва да ви даде резултат, подобен на следното:

Верига INPUT (политика ACCEPT) цел цел източник на изход източник ACCEPT всички - 192.168.1.1/24 навсякъде ACCEPT всички - 10.10.10.0/24 навсякъде DROP tcp - навсякъде където и да е tcp dpt: ssh DROP tcp - навсякъде където и да е tcp dpt: MySQL

Реалният резултат ще бъде малко по-дълъг, разбира се.

Изчистване на текущите правила

Можете да изчистите всички текущи правила, като използвате параметъра Flush. Това е много полезно, ако трябва да поставите правилата в правилния ред или когато тествате.

/ sbin / iptables - флаш

Разпределение-Specific

Докато повечето Linux дистрибуции включват форма на iptables, някои от тях включват обвивки, които правят управлението малко по-лесно. Най-често тези "добавки" са под формата на скриптове за инициали, които се грижат за инициализирането на iptables при стартиране, въпреки че някои дистрибуции също включват приложения с пълна разфасовка, които се опитват да опростят общия случай.

Gentoo

Най-IPTABLES init script на Gentoo е в състояние да се справи с много често срещани сценарии. За начало, той ви позволява да конфигурирате iptables да се зарежда при стартиране (обикновено това, което искате):

rc-update добавете iptables по подразбиране

С помощта на скрипта за начало е възможно да заредите и изчистите защитната стена с лесна за запомняне команда:

/etc/init.d/iptables старт /etc/init.d/iptables спиране

Скриптът init обработва подробностите за запазването на текущата конфигурация на защитната стена при стартиране / спиране. Така вашата защитна стена винаги е в състоянието, което сте я оставили. Ако трябва ръчно да запишете ново правило, скриптът за инициали може да се справи и с това:

/etc/init.d/iptables запишете

Освен това можете да възстановите защитната си стена до предишното запазено състояние (за случая, в който експериментирате с правила и сега искате да възстановите предишната работна конфигурация):

/etc/init.d/iptables reload

И накрая, скриптът за инициали може да постави iptables в режим "паника", където всички входящи и изходящи трафик са блокирани. Не съм сигурен защо този режим е полезен, но всички защитни стени на Linux изглежда го имат.

/etc/init.d/iptables panic

Внимание: Не стартирайте паник режим, ако сте свързани към сървъра си чрез SSH; тище да бъде прекъснато! Единственият път, когато трябва да поставите iptables в режим на паника, е, докато стефизически пред компютъра.