Linux network инструкция администратора


Определяемые пользователем цепочки - часть 3


подходит и определяет адресата tcpin, нашу определяемую пользователем цепочку. Задание определяемой пользователем цепочки как адресата приведет к тому, что пакет будет проверен по правилам в ней, так что следующее проверяемое правило, это первое правило в tcpin. Первое правило соответствует любому пакету, который имеет исходный адрес вне нашей локальной сети и не определяет никакого адресата, так что это тоже ччетное правило, и тестирование переходит к следующему правилу. Второе правило в нашей цепочке tcpin соответствует этому пакету и определяет адресата ACCEPT. Итак, пакет принят.

В заключение, давайте рассмотрим то, что случается, когда мы достигаем конца определяемой пользователем цепочки. Для этого нам понадобится входящий пакет, который не соответствует заданным нами правилам. Пусть это будет запрос для telnet.

У определяемых пользователем цепочек нет заданной по умолчанию реакции на внешние раздражители. Когда все правила в определяемой пользователем цепочке будут проверены, и ни одно не соответствует ситуации, firewall действует, как если бы правило было задано правило RETURN. В нашем примере проверка вернется к набору input. В конечном счете мы достигаем конца цепочки input, которая имеет заданную по умолчанию стратегию, и пакет будет отклонен.

Этот пример очень прост, но иллюстрирует основную логику работы. Немного более сложный пример:

# Set default forwarding policy to REJECT ipchains -P forward REJECT # # create our user-defined chains ipchains -N sshin ipchains -N sshout ipchains -N wwwin ipchains -N wwwout # # Ensure we reject connections coming the wrong way ipchains -A wwwin -p tcp -s 172.16.0.0/16 -y -j REJECT ipchains -A wwwout -p tcp -d 172.16.0.0/16 -y -j REJECT ipchains -A sshin -p tcp -s 172.16.0.0/16 -y -j REJECT ipchains -A sshout -p tcp -d 172.16.0.0/16 -y -j REJECT # # Ensure that anything reaching the end of a user-defined chain is rejected. ipchains -A sshin -j REJECT ipchains -A sshout -j REJECT ipchains -A wwwin -j REJECT ipchains -A wwwout -j REJECT # # divert www and ssh services to the relevant user-defined chain ipchains -A forward -p tcp -d 172.16.0.0/16 ssh -b -j sshin ipchains -A forward -p tcp -s 172.16.0.0/16 -d 0/0 ssh -b -j sshout ipchains -A forward -p tcp -d 172.16.0.0/16 www -b -j wwwin ipchains -A forward -p tcp -s 172.16.0.0/16 -d 0/0 www -b -j wwwout # # Insert our rules to match hosts at position two in our user-defined chains. ipchains -I wwwin 2 -d 172.16.1.2 -b -j ACCEPT ipchains -I wwwout 2 -s 172.16.1.0/24 -b -j ACCEPT ipchains -I sshin 2 -d 172.16.1.4 -b -j ACCEPT ipchains -I sshout 2 -s 172.16.1.4 -b -j ACCEPT ipchains -I sshout 2 -s 172.16.1.6 -b -j ACCEPT

<




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



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