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

Съдържание:

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

Видео: Използване на Iptables на Linux

Видео: Използване на Iptables на Linux
Видео: VPN (Virtual Private Network) Explained - YouTube 2024, Ноември
Anonim

Това ръководство ще се опита да обясни как да използвате 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 -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

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

Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 192.168.1.1/24 anywhere ACCEPT all -- 10.10.10.0/24 anywhere DROP tcp -- anywhere anywhere tcp dpt:ssh DROP tcp -- anywhere anywhere tcp dpt:mysql

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

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

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

/sbin/iptables --flush

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

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

Gentoo

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

rc-update add iptables default

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

/etc/init.d/iptables start /etc/init.d/iptables stop

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

/etc/init.d/iptables save

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

/etc/init.d/iptables reload

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

/etc/init.d/iptables panic

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

Препоръчано: