Операционные системы - статьи


Изменение нескольких правил одной командой - часть 2


Пример настройки фильтра пакетов

Предположим, что у вас есть PPP-соединение ('-i ppp0'). Вы читаете конференции (-p TCP -s news.virtual.net nntp) и почту (-p TCP -s mail.virtual.net pop-3). Иногда скачиваете по ftp свежее ядро для своего линукса (-p TCP -y -s ftp.kernel.org ftp-data). Бродите по www через прокси-сервер своего провайдера (-p TCP -d proxy.virtual.net 8080), но не любите рекламу с www1.reklama.ru и rb2.design.ru (-p TCP -y -d 195.46.160.46, -p TCP -y -d 212.24.32.76). Вы не возражаете против пользования ftp-сервером на вашей машине (-p TCP -d $LOCALIP ftp), но не хотите, чтобы кто-то снаружи делал вид, что он из вашей локальной сети (-s 192.168.1.0/24) - это называется IP-спуфинг (spoofing), и в ядрах 2.1.x и выше есть более правильные средства для защиты от него.

Итак:

Вы не хотите, чтобы ваши локальные процессы (в т.ч. Netscape) соединялись с www1.reklama.ru и rb2.design.ru: ipchains -A output -d 195.46.160.46 -j REJECT ipchains -A output -d 212.24.32.76 -j REJECT

Вы устанавливаете приоритеты для исходящих пакетов (для входящих этого делать нет смысла). Поскольку этих правил довольно много, можно выделить их в отдельную цепочку по имени ppp-out: ipchains -N ppp-out ipchains -A output -i ppp0 -j ppp-out

Минимальная задержка для www-трафика и telnet'а: ipchains -A ppp-out -p TCP -d proxy.virtual.net 8080 -t 0x01 0x10 ipchains -A ppp-out -p TCP -d 0.0.0.0/0 telnet -t 0x01 0x10

Низкая стоимость для данных ftp, nntp, pop3: ipchains -A ppp-out -p TCP -d 0.0.0.0/0 ftp-data -t 0x01 0x02 ipchains -A ppp-out -p TCP -d 0.0.0.0/0 nntp -t 0x01 0x02 ipchains -A ppp-out -p TCP -d 0.0.0.0/0 pop-3 -t 0x01 0x02

Существуют некоторые ограничения на пакеты, приходящие по интерфейсу ppp0, выделим их в отдельную цепочку по имени ppp-in: ipchains -N ppp-in ipchains -A input -i ppp0 -j ppp-in

Никакие пакеты, приходящие из ppp0 не должны притворяться, что они с адресов 192.168.1.*, т.е. из локальной сети. Если же таковые появятся, то их надо занести в журнал ('-l') и уничтожить: ipchains -A ppp-in -s 192.168.1.0/24 -l -j DENY




Начало  Назад  Вперед



Книжный магазин