iptables основные команды, настройки и добавление правил
- Подробности
- Категория: Сисадмин
- Просмотров: 300
Часто нужно настроить порты или заблокировать кого-то, то на помощь придет данная утилита...
iptables - стандартный интерфейс управления настройками межсетевого экрана Netfilter для ядер Linux версий 2.4 и 2.6
iptables основные команды и настройки.
Для начала рассмотрим несколько полезных команд:
1. Хотим посмотреть все настройки:
iptables -L --line-numbers
2. Хотим заблокировать ip адрес в iptables, потому что он нас пытается атаковать:
Запрещаем с него входящие
iptables -A INPUT -s 192.168.0.5 -j DROP
Далее, углубимся в настройки:
Пакеты пропускаются через цепочки, поэтому их указывают в правилах.
Общее правило для iptables :
iptables [-t table] command [match] [target/jump]
1. -t table указывает на таблицу, по умолчанию filter.
2. command - добавить, удалить и тд INPUT ...
3. [match] это критерии поиска, например, ip , какие пакеты фильтровать и тд
4. [target/jump] - сама команда, что делать в этом правиле, основное - удалять DROP , пропустить, разрешать или выдать источнику какое-то сообщение об ошибке.
Примеры
1.
iptables -A INPUT правило
- -A это означает "добавить"
- куда добавить? в цепочку INPUT
!!! обратите внимание, что тут нельзя вставить номер в цепочке после INPUT 5 например, это можно сделать через -I (смотрите ниже 3 пример)
2.
iptables -t nat -A INPUT правило
- -A это означает "добавить"
- куда добавить? в цепочку INPUT
- -t nat это мы добавляем в таблицу правил nat
3.
iptables -I INPUT 1 правило
- -I это означает "новое правило в цепочке"
- куда добавить? в цепочку INPUT
- 1 - это значит добавить это правило в самое начало цепочки INPUT
!!! Для чего указывается номер в цепочке? Потому что правила выполнятся сверху вниз. И, если верхнее правило будет запрещать, а нижнее всем разрешать, то толку не будет от верхнего правила.
Удаление правила из iptables
iptables -D INPUT 10
- -D это означает "удалить правило в цепочке"
- где удалить? в цепочке INPUT
- 10 - это значит удалить 10ое правило в цепочке INPUT
Вставка правила в iptables
iptables -I INPUT 5 -s 192.168.0.5 -j DROP
- -I это означает "вставить правило в цепочке"
- куда вставить? в цепочке INPUT
- 5 - это значит вставить перед 5ым правилом в цепочке INPUT (то есть на 5 место встанет, а то, что раньше было на 5 месте - сдвинется на 6 место)
- -s это условие означает "запретить"
- 192.168.0.5 - запретить как раз относится к этому ip , с него нужно запретить входящие
- -j это ключ для действия / он всегда такой (ниже будут правила для него)
Добавление ip в белый список
1) добавление одного ip
iptables -A INPUT -s 89.151.178.19 -j ACCEPT
2) добавление диапазона ip
iptables -A INPUT -m iprange --src-range 1xx.1xx.x.3x-5x -j ACCEPT
Это позволит добавить в белый список IP-адреса в диапазоне от 1xx.1xx.x.3x до 1xx.1xx.x.5x
АнтиDDOs правила
1) При icmp flood
а) блочим ответы на ping запросы с определенного ip
iptables -I INPUT 17 -p icmp --icmp-type echo-request -s 84.51.115.83 -j REJECT
хакеры наводняют множеством ping запросов на ваш сервер и он вынужден постоянно отчитываться, выдавая фразу "Destination Port Unreachable" или такая же фраза, но в сокращенном варианте, поэтому строчка выше поможет избежать этого и в результате серверное время не смогут они задействовать и начинающему луцкеру придется ретироваться.
б) полностью заблокировать ping и ответ на него от вашего сервера
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP
если потом все таки передумаете, то можно разрешить обратно:
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
в) можно еще изловчиться и ping даже с вашего сервера заблочить
iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
Смотрите также: