Опубликован: 21.11.2006 | Доступ: свободный | Студентов: 1812 / 140 | Оценка: 4.09 / 4.00 | Длительность: 38:34:00
Лекция 19:

Маршрутизация IP в ОС Linux

< Лекция 18 || Лекция 19: 123456

Правила для ipchains

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

Таблица 19.7. Параметры ipchains
Параметр Описание
-p protocol Проверяемый протокол
-s address [|mask] Проверяемый адрес отправителя
--source-port port Проверяемый порт отправителя
-d address [|mask] Проверяемый адрес получателя
--destination-port port Проверяемый порт получателя
--icmp-type Проверяемый тип ICMP
-j target Направление перехода при соответствии пакета определенному условию
-i name Имя интерфейса
-f Правило, определяющее фрагментацию пакетов

Параметр -j позволяет задавать шесть специальных действий, регулирующих пересылку пакетов при соответствии их определенному правилу с. Эти действия используются лишь для того, чтобы помочь администратору почтовой системы при описании правил. При этом таблица NAT по-прежнему отслеживает пары IP-адресов и фильтрует пакеты (т.е. она может либо пропустить пакет в сеть, либо блокировать его).

Дополнительные функции, реализованные в более новых версиях ядра ОС Linux, включают в себя возможности перенаправления пакетов и преобразования адресов (маскарадинга). В табл.19.8 приведены возможные действия ipchains.

Таблица 19.8. Действия ipchains
Действие Описание
ACCEPT Пропустить пакет
DENY Не пропускать пакет
REJECT Не пропускать пакет и вернуть отправителю сообщение об ошибке согласно протоколу ICMP
MASQ Преобразовать адрес при пересылке пакета
REDIRECT Переслать пакет на локальный порт, а не на удаленный хост
RETURN Немедленно разорвать цепочку

При более детальном описании правил используются дополнительные параметры. Они приведены в табл.19.9.

Таблица 19.9. Параметры ipchains
Параметр Описание
-b Двусторонний режим
-v Вывод результатов с высокой детализацией
-n Вывод результатов в цифровом виде
-l Включение режима отчетов
-o [maxsize] Копирование согласованных пакетов на заданное устройство
-m markvalue Установка меток на согласованные пакеты
-t andmask xormask Маски, используемые для изменения поля Тип сервиса (Type of Service) в IP-пакете
-x Расширение адресов
-y Производить согласование только для пакетов, обозначающих начало сеанса

Таблица NAT формируется в соответствии с порядком задания команд ipchains. Помните, что все внесенные в эту таблицу изменения теряются при перезагрузке сервера. Для того чтобы таблица NAT при каждой загрузке обновлялась, создаются два файла сценариев запуска ipchains.

Сохранение конфигурации NAT

Для сохранения текущей конфигурации таблицы NAT используется сценарий ipchains-save, с помощью которого производится запись в заданный файл. Формат команды для сохранения конфигурации следующий:

ipchains-save > filename,

где filename  — имя файла, куда записывается текущая конфигурация таблицы NAT. Чтобы выполнить эту команду, вы должны обладать в системе правами пользователя root. Для восстановления конфигурации таблицы NAT из файла можно создать сценарий инициализации ipchains-restore. Формат команды для его создания следующий:

ipchains-restore > filename,

где filename  — имя файла, в котором хранится текущая конфигурация таблицы NAT. Эта команда также должна выполняться только с правами пользователя root. Желательно также, чтобы этот сценарий запускался вместе с остальными при инициализации сервера.

Разрешение преобразования адресов

В листинге 19.2 представлены примеры команд ipchains, которые разрешают режим преобразования адресов (маскарадинг) на сервере под управлением ОС Linux.

1 /sbin/ipchains -P forward DENY
2 /sbin/ipchains -A forward -i ppp0 -j MASQ
Листинг 19.2. Пример команд, разрешающих преобразование адресов

В строке 1 листинга 19.2 устанавливается правило для запрещения пересылки пакетов. В строке 2 добавляется правило, разрешающее пересылку, но с определенными условиями. Адреса всех пакетов, проходящих через интерфейс ppp0, сначала будут преобразованы в другие. В данном случае соединение с провайдером Internet обеспечивается именно через интерфейс ppp0. Чтобы добавить фильтрацию пакетов, можно ввести команду:

/sbin/ipchains -A input -i ppp0 -l -y -j DENY

При использовании этой команды TCP-пакеты типа начало сеанса (start-of-session), поступающие на интерфейс ppp0, не будут пересылаться в локальную сеть. Таким образом, если интерфейс ppp0 обеспечивает соединение с провайдером Internet, эта команда препятствует установлению прямых соединений между рабочими станциями в локальной сети и хостами в сети Internet. Параметр -l включает режим ведения отчетов. При этом все попытки установить соединение с рабочими станциями локальной сети будут протоколироваться в файл отчета. Затем системный администратор, анализируя файл отчетов, может выявить попытки несанкционированного доступа в сеть.

< Лекция 18 || Лекция 19: 123456