Возможно вы искали: 'Unnkulian Unventure'

May 15 2025 19:30:57
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Policy-Based Routing (PBR) в ОС FreeBSD (freebsd policy route forward ipfw)

Policy-Based Routing (PBR) в ОС FreeBSD (freebsd policy route forward ipfw)

Ключевые слова: freebsd, policy, route, forward, ipfw, (найти похожие документы)

From: Александр Моря <morya@apexnet.dp.ua>
Subject: Policy-Based Routing (PBR) в ОС FreeBSD


Policy-Based Routing (PBR) в ОС FreeBSD
-------------------

Когда возникает необходимость в PBR?

В сегодняшних компьютерных сетях высокой производительности, возникает необходимость в
выполнении пересылки пакетов соответственно определенной политике (правилу или набору правил),
которая, в некотором отношении, выходит за границы традиционных принципов работы протоколов
маршрутизации. PBR используется там, где, в силу различных обстоятельств, необходимо
дифференцировать трафик по какому-либо признаку, и выбирать различный дальнейший маршрут для
каждого случая отдельно.

Достоинства PBR
1. выбор маршрута, основанный на источнике - позволяет пропускать трафик,
приходящий из различных мест, через разные каналы подключения к Интернет
2. эффективное использование имеющихся каналов подключения к Интернет
3. расширение возможностей динамической маршрутизации


Что такое PBR?
PBR предоставляет механизм реализации пересылки (forwarding)/ маршрутизации(routing) пакетов
данных, основанный на политике, представляющей собой набор правил, определенной администраторами
сети. Это предоставляет более гибкий механизм для обработки пакетов на маршрутизаторах, дополняя
существующий механизм, предоставленный протоколами маршрутизации.Маршрутизаторы выбирают
дальнейший путь следования пакетов данных по полю "адрес назначения", основываясь на информации
из таблицы статических маршрутов или полученной от динамических протоколов маршрутизации, как,
например Routing Information Protocol (RIP), Open Shortest Path First (OSPF), или Enhanced
Interior Gateway Routing Protocol (Enhanced IGRP). Вместо выбора дальнейшего маршрута,
основанного на адресе назначения, PBR позволяет администраторам сети определить свои правила, по
которым будет осуществляться маршрутизация пакетов.

Сфера применения.

|-----------------|
|Организация | |----|
| |--------| | |--------| |------| | I |
| |Отдел А |-----|------->|Роутер |----->|ISP1 |---->| N |
| |--------| | | | |------| | T |
| | | | | E |
| | | | | R |
| |--------| | | | |------| | N |
| |Отдел Б |-----|------->| |----->|ISP2 |---->| E |
| |--------| | |--------| |------| | T |
| | |----|
|-----------------|


Наиболее часто на практике PBR используется в ситуации, которая представлена на рисунке. Т.е.
когда какая-либо организация имеет 2 или более канала подключения к Интернет. В стандартном
случае один канал является основным (через него организация выходит в Интернет), а второй -
вспомогательным (он подключается, когда неисправен первый канал, в остальное время обычно
используется для доступа к локальным ресурсам одного из провайдеров, т.е. mp3, video и т.д.).
При таком варианте эффективность использования двух каналов чрезвычайно низка. Конечно, и такой
вариант имеет право на существование, но рано или поздно перед развивающейся организацией
появляется задача более эффективного использования имеющихся каналов подключения к Интернет или,
возможно, разделения этих каналов между своими отделами (например, отдел производства будет
использовать канал на ISP1, а отдел маркетинга - канал на ISP2). Именно в этом случае на помощь
приходит policy-based routing.


Практическая реализация в ОС FreeBSD

В ОС FreeBSD policy-based routing осуществляется с помощью механизма ip forwarding и пакетного
фильтра ipfw. Чтобы включить возможность пакетной фильтрации в ОС FreeBSD необходимо вставить
в файл конфигурации ядра ОС следующие строки:

options IPFIREWALL
options IPDIVERT
options IPFIRWALL_FORWARD

В результате мы активируем следующие механизмы: пакетный фильтр, NAT (сетевая трансляция адресов,
позволяет разделять один канал выхода в Интернет между множеством пользователей) и механизм ip
forwarding.Рассмотрим следующий вариант. Имеется сервер с ОС FreeBSD с двумя каналами доступа к
Интернет (ISP1, ISP2) и двумя подключения локальной сети (отдел А, отдел Б).

Примем следующую конфигурацию сетевых интерфейсов:
rl0 - 1.1.1.1 /24(gateway 1.1.1.254 ISP1)
rl1 - 2.2.2.2 /24(gateway 2.2.2.254 ISP2)
rl2 - 3.3.3.3/24 (lan1, отдел А)
rl3 - 4.4.4.4 /24(lan2, отдел Б)

Поставим такую задачу, чтобы пользователи lan1 выходили в Интернет через первого провайдера ISP1,
а пользователи lan2 - через ISP2. Заранее оговорю, что приведенные ниже примеры будут работать
вне зависимости от того, какой маршрут по умолчанию (через ISP1 или ISP2) определен в настройках
ОС.

Сначала необходимо запустить NAT на интерфейсах rl0 и rl1:
natd -a 1.1.1.1 -p 8668
natd -a 2.2.2.2 -p 8778

Создадим набор правил для ipfw:
ipfw 10 add divert 8668 ip from 3.3.3.0/24 to any
ipfw 20 add divert 8778 ip from 4.4.4.0/24 to any
ipfw 30 add fwd 1.1.1.254 ip from 1.1.1.1 to any
ipfw 40 add fwd 2.2.2.254 ip from 2.2.2.2 to any
ipfw 50 add divert 8668 ip from any to 1.1.1.1
ipfw 60 add divert 8778 ip from any to 2.2.2.2




В некоторых случаях имеется только одно подключение к локальной сети и необходимо "пропустить"
через другой канал доступа к Интернет не локальную сеть, а один или несколько компьютеров.
Допустим, есть только lan1 и через ISP1 в Интернет будет "выходить" компьютер с ip адресом
3.3.3.10

Опять же запускаем NAT:
natd -a 1.1.1.1 -p 8668
natd -a 2.2.2.2 -p 8778

Следующий набор правил пакетного фильтра ipfw решает эту задачу :
ipfw 10 add divert 8668 ip from 3.3.3.10 to any
ipfw 20 add divert 8778 ip from any to any
ipfw 30 add fwd 1.1.1.254 ip from 1.1.1.1 to any
ipfw 40 add fwd 2.2.2.254 ip from 2.2.2.2 to any
ipfw 50 add divert 8668 ip from any to 1.1.1.1
ipfw 60 add divert 8778 ip from any to 2.2.2.2

Иногда возникает и более сложная задача, когда необходимо не "жестко" разделять каналы, а когда
пользователи, допустим, lan1 должны "выходить" в Интернет через ISP1, но также должны "видеть"
и локальные ресурсы второго провайдера, и наоборот, пользователи lan2 "выходят" в Интернет
через ISP2 и "видят" ресурсы ISP1.

Допустим, локальные ресурсы ISP1 находятся по адресам 5.5.5.0/24, а ресурсы ISP2 - 6.6.6.0/24.

Конечно, не забываем запустить NAT:
natd -a 1.1.1.1 -p 8668
natd -a 2.2.2.2 -p 8778

Для этого случая правила ipfw выглядят так:
ipfw 10 add divert 8778 ip from 3.3.3.0/24 to 6.6.6.0/24
ipfw 20 add divert 8668 ip from 3.3.3.0/24 to any
ipfw 30 add divert 8668 ip from 4.4.4.0/24 to 5.5.5.0/24
ipfw 40 add divert 8778 ip from 4.4.4.0/24 to any
ipfw 50 add fwd 1.1.1.254 ip from 1.1.1.1 to any
ipfw 60 add fwd 2.2.2.254 ip from 2.2.2.2 to any
ipfw 70 add divert 8668 ip from any to 1.1.1.1
ipfw 80 add divert 8778 ip from any to 2.2.2.2


Некоторые замечания
Реализация PBR в ОС FreeBSD средствами ipfw достаточна проста. Однако в некоторых ситуациях
могут возникать непредвиденные осложнения, при которых рассмотренные выше примеры окажутся
неработоспособными. Это произойдет, например, если на Вашем маршрутизаторе настроен web сервер
(или какой-то другой сервис), который привязан к ip адресу внешнего интерфейса. Тогда необходимо
вставить перед правилами, осуществляющим policy-based routing, правила, которые разрешат
пользователям осуществить доступ к внешним интерфейсам.
Важным моментом также является порядок и нумерация правил. Очень осторожно относитесь к этим
вещам. Например, если в последнем примере все правила будут иметь один и тот же номер, то ничего
хорошего из этого не выйдет. Это связано с особенностями обработки правил divert. Как известно,
в ipfw каждый пакет проходит цепочку правил от правил с меньшими номерами к большим номерам до
совпадения параметров пакета с параметрами правила. При "попадании" пакета в правило выполняются
предписанные им действия, и дальнейшее прохождение по цепочке останавливается (пакет, конечно,
может еще попасть в правила пакетного фильтра, например, при прохождении его через следующий
сетевой интерфейс). Но при "попадании" пакета в правила divert прохождение по цепочке не
останавливается, а продолжается с правила, номер которого превышает текущее на единицу. Т.е.
если правила имеют одинаковый номер, то после правил divert в правила fwd пакет не "попадет".
Если же Вы все сделали как надо, но все равно ничего не работает, то вставьте в правила параметр
log. Например:
ipfw 10 add divert 8778 log ip from 3.3.3.0/24 to 6.6.6.0/24 или
ipfw 50 add fwd 1.1.1.254 log ip from 1.1.1.1 to any.
Это позволит вам посмотреть в /var/log/security как "ходят" пакеты, в какие правила "попадают"
(для этого необходимо включить в конфигурационном файле ядра ОС опцию IPFIREWALL_VERBOSE).
Незаменимым инструментом при отладке также является программа tcpdump. С ее помощью Вы можете
своими глазами увидеть и проверить все параметры пакетов данных, которые проходят через Ваш
маршрутизатор.
1202 Прочтений •  [Policy-Based Routing (PBR) в ОС FreeBSD (freebsd policy route forward ipfw)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Policy-Based Routing (PBR) в ОС Fre... Ukraine Vova 08.05.2012
• Policy-Based Routing (PBR) в ОС Fre... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка