Начална » как да » Използване на Iptables в Linux

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

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

    съдържание

    [Крия]

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

    Преглед

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

    Todo: включете тук пример

    употреба

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

    / Sbin / IPTABLES

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

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

    / 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) целеви протот източник на опция ACCEPT all - 192.168.1.1/24 навсякъде ACCEPT all - 10.10.10.0/24 навсякъде DROP tcp - навсякъде tcp dpt: ssh DROP tcp - навсякъде tcp dpt: MySQL

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

    Изчистване на настоящите правила

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

    / sbin / iptables --flush

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

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

    Gentoo

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

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

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

    /etc/init.d/iptables започнете /etc/init.d/iptables спрете

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

    /etc/init.d/iptables save

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

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

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

    /etc/init.d/iptables паника

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