Синтаксис iptables следующий:
iptables [-t ТАБЛИЦА] -A ЦЕПОЧКА ПАРАМЕТРЫ -j ДЕЙСТВИЕ
Ключи для работы с цепочками:
-A – добавить новое правило.
-D – удалить правило.
-F – удалить все правила.
-R – замена правила.
-L – вывод списка всех правил.
В таблице filter(по умолчанию) существую следующие цепочки:
INPUT – входящий трафик.
OUTPUT – исходящий трафик.
FORWARD – пересылаемый(транзитный) трафик.
Параметры:
-p – протокол, можно использовать all,icmp,tcp,udp.
-s – ip адрес/хост источника.
-d – ip адрес/хост назначения.
-i – интерфейс на который пришел пакет.
-o – интерфейс с которого уйдет пакет .
(просмотреть все интерфейсы можно с помощью команды.ifconfig, обычно это eth0)
–sport – порт источника.
–dport – порт назначения.
Действия:
ACCEPT – разрешить пакеты.
REJECT – блокировать пакеты с сообщением об отказе.
DROP – блокировать пакеты(более приоритетный вариант, нежели REJECT, т.к для блокируемого ip адреса(или диапазонов) будет аналогичный эффект тому, когда сервер находится в дауне).
Несколько примеров:
1) Блокируем все входящие пакеты с ip адреса 111.111.111.111
А с помощью знака «!«(отрицание) можно сделать блокировку всех адресов(хостов), кроме заданного.
Например, с помощью нижеприведенной команды, пакеты будут блокироваться со всех адресов, кроме 111.111.111.111
2) Снимаем бан с IP 111.111.111.111
3) Просмотр списка с правилами
Таким образом мы сможем увидить все пронумерованные правила, которые также можно удалить с помощью ключа -D.
Нижеприведенная команда удаляет правила под номером 5.
4) Поностью очищаем список со всеми правилами
5) Блокируем входящие пакеты для диапазона ip адресов c 192.168.0.8 по 192.168.0.25
6) Блокируем весь входящий трафик на 80 порт(http).
Также можно прописать алиасы в файл .bashrc(или в .bash_aliases) для удобства использования первого и второго примера:
После чего можно гораздо быстрее банить ip адрес командой
и снимать бан командой
Так же можете изучить эту тему: http://www.dyndev.ru/board/threads/2164/
На этом всё. Желаю удачи в написании правил =)
iptables [-t ТАБЛИЦА] -A ЦЕПОЧКА ПАРАМЕТРЫ -j ДЕЙСТВИЕ
Ключи для работы с цепочками:
-A – добавить новое правило.
-D – удалить правило.
-F – удалить все правила.
-R – замена правила.
-L – вывод списка всех правил.
В таблице filter(по умолчанию) существую следующие цепочки:
INPUT – входящий трафик.
OUTPUT – исходящий трафик.
FORWARD – пересылаемый(транзитный) трафик.
Параметры:
-p – протокол, можно использовать all,icmp,tcp,udp.
-s – ip адрес/хост источника.
-d – ip адрес/хост назначения.
-i – интерфейс на который пришел пакет.
-o – интерфейс с которого уйдет пакет .
(просмотреть все интерфейсы можно с помощью команды.ifconfig, обычно это eth0)
–sport – порт источника.
–dport – порт назначения.
Действия:
ACCEPT – разрешить пакеты.
REJECT – блокировать пакеты с сообщением об отказе.
DROP – блокировать пакеты(более приоритетный вариант, нежели REJECT, т.к для блокируемого ip адреса(или диапазонов) будет аналогичный эффект тому, когда сервер находится в дауне).
Несколько примеров:
1) Блокируем все входящие пакеты с ip адреса 111.111.111.111
Код:
iptables -A INPUT -s 111.111.111.111 -j DROP
А с помощью знака «!«(отрицание) можно сделать блокировку всех адресов(хостов), кроме заданного.
Например, с помощью нижеприведенной команды, пакеты будут блокироваться со всех адресов, кроме 111.111.111.111
Код:
iptables -A INPUT ! -s 111.111.111.111 -j DROP
2) Снимаем бан с IP 111.111.111.111
Код:
iptables -D INPUT -s 111.111.111.111 -j DROP
3) Просмотр списка с правилами
Код:
iptables -L INPUT --line-numbers
Таким образом мы сможем увидить все пронумерованные правила, которые также можно удалить с помощью ключа -D.
Нижеприведенная команда удаляет правила под номером 5.
Код:
iptables -D INPUT 5
4) Поностью очищаем список со всеми правилами
Код:
iptables -F
5) Блокируем входящие пакеты для диапазона ip адресов c 192.168.0.8 по 192.168.0.25
Код:
iptables -I INPUT -m iprange --src-range 192.168.0.8-192.168.0.25 -j DROP
6) Блокируем весь входящий трафик на 80 порт(http).
Код:
iptables -A INPUT -p tcp --sport 80 -j DROP
Также можно прописать алиасы в файл .bashrc(или в .bash_aliases) для удобства использования первого и второго примера:
Код:
alias ban='iptables -I INPUT -j DROP -s'
alias unban='iptables -D INPUT -j DROP -s'
После чего можно гораздо быстрее банить ip адрес командой
Код:
ban 111.111.111.111
и снимать бан командой
Код:
unban 111.111.111.111
Так же можете изучить эту тему: http://www.dyndev.ru/board/threads/2164/
На этом всё. Желаю удачи в написании правил =)
Последнее редактирование: