Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Другие действия ipfw, такие как divert, fwd, pipe, queue, используются для организации трансляции адресов и регулирования полосы пропускания.
Таблица 3. Действия в правилах ipfw
Обозначение |
Действие |
allow | accept | pass | permit |
Разрешить прохождение пакета, которое соответствует правилу. Прекратить поиск. |
count |
Посчитать пакет, который соответствует правилу, и продолжить проверку. |
deny | drop |
Уничтожить пакет, не извещая отправителя. |
divert порт |
Передать пакет на указанный порт хоста и не выполнять дальнейшую проверку. Используется, например, для выполнения трансляции адресов с помощью natd. |
unreach код |
Уничтожить пакет и направить его отправителю ICMP-извещение с указанным кодом. В качестве кода может использоваться либо число от 0 до 255, либо соответствующее ему слово. Например, host означает ICMP-сообщение «Хост недоступен» (Host unreachable), а port – сообщение «Порт недоступен». |
Пример фильтрации пакетов
Попробуем теперь применить наши знания на практике и немного поэкспериментировать с нашим фильтром. Для этих экспериментов необходимо, чтобы ядро было собрано с поддержкой IPFW. Как правило, ядро включает поддержку IPFW, но если нет, результатом выполнения любой команды ipfw будет сообщение об ошибке. В этом случае ядро нужно пересобрать (см. далее раздел «Настройка ядра для поддержки ipfw») или просто загрузить модуль:
# kldload ipfw
Настройка фильтра начинается с его очистки:
# ipfw -q flush
Все правила фильтрации удалены, фильтр пуст. Теперь действует только правило по умолчанию, и что произойдет с трафиком, определяет только оно: трафик будет беспрепятственно проходить, если правило по умолчанию accept (ядро собрано с опцией IPFIREWALL_DEFAULT_TO_ACCEPT), и уничтожаться в противном случае.