NIX-ПРЕДОХРАНИЛОВО вся правда об ipchains Спецвыпуск Xakep, номер #024, стр. 024-022-3 Так, дружище, я забыл сказать, что за звери такие - «счетчики»? Сщас гляну в документацию... шутка :). Когда пакет начинает просматриваться в цепочке и проверяется для каждого правила, то, если он удовлетворяет условию, счетчик байт для этого правила увеличивается на размер пакета (плюс размер заголовка), а также на единицу увеличивается счетчик пакетов для данного правила. ПРАВОВОЕ ПОЛЕ Итак, ты уже научился создавать и убивать цепочки, теперь покопаемся у них в требухе. Внутри цепочек у тебя есть правила для пакетов, у которых в свою очередь есть условия, на которые проверяется пакет в этом правиле, и если он удовлетворяет этому правилу, то совершается определенное действие. С правилами ты можешь выполнять следующие операции: - добавлять новое правило в конец списка правил («ipchains -A имя_цепочки»); - вставлять новое правило на определенное место в цепочке («ipchains -I имя_цепочки номер_места»); - заменять указанное правило в цепочке («ipchains -R имя_цепочки номер_места»); - удалять правило в указанной позиции («ipchains -D имя_цепочки номер_места»); - удалять правило, соответствующее условию, - это когда тебе в лом искать номер нужного правила, и ты вместо номера указываешь условие («ipchains -D имя_цепочки условие»). Правда, если в цепочке есть несколько одинаковых правил, на встречу с создателем отправится только первое правило. Совершая эти действия, ты должен помнить, что каждое правило имеет свой порядковый номер, и при удалении правила из середины цепочки или вставки туда нового правила все нижележащие правила уменьшат или увеличат свои номера на единицу. Ок, наконец наш пакет попал в правило, и теперь он проверяется на соответствующее условие: - Пакет должен иметь указанный адрес отправителя (флаг «-s адрес_отправителя»), адреса могут указываться в виде символического адреса (www.xakep.ru), в виде IP-адреса (192.168.10.78), в виде IP-адреса с численной маской (192.168.10.0/255.255.255.0 - иными словами говоря, 192.168.10.*), а также в виде IP-адреса c битовой маской (192.168.10.0/24 то же самое, что и 192.168.10.0/255.255.255.0, ну а 192.168.10.0/16 - то же самое, что и 192.168.10.0/255.255.0.0); если тебе надо указать все адреса, можно использовать такое написание - 192.168.10.0/0 (при этом адрес 192.168.10.0 может быть АБСОЛЮТНО любым); - Пакет должен иметь указанный адрес получателя (флаг «-d адрес_получателя»), формат адреса такой же, как и у флага -s. - Инверсия указанного условия (! - например, «ipchains -s ! www.lamers.com»). - Указанный протокол («ipchains -p TCP -d 192.168.10.78/0 ! 80», эта запись, к примеру, значит - все пакеты протокола TCP, кроме пакетов, адресованных на 80-ый порт), помимо протокола можно также задать и номер порта (можно символическое имя порта, загляни в файл сервисов «/etc/services»). Также можно указывать диапазоны портов - 21:80 (если пропущена первая цифра, т.е. - :80, то имеются в виду все порты вплоть до 80-ого). |