Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Постоянная «прописка» маршрута делается в /etc/rc.conf:
static_routes="meganet"
route_meganet="-net 8x.25y 10.0.1.1"
Здесь 8x.25y.0.0 – внутренняя подсеть провайдера «Мегаполис». То есть мы прописываем для этих адресов явный маршрут через интерфейс rl0 (для определённости его IP будет 10.0.1.2 со шлюзом 10.0.1.1), подключённый к каналу «Мегаполиса», в то время как для остального трафика используется маршрут по умолчанию.
Аналогичного результата можно достичь, используя функцию «форвардинга» файервола ipfw:
# ipfw table 1 add 8x.25y.0.0/16
# ipfw add 5000 fwd 10.0.1.1 ip from 192.168.0.0/24 to 'table(1)'
Благодаря использованию файервола можно более гибко управлять трафиком, определяя его в тот или иной канал не просто по IP-адресу назначения, но и по целому ряду других критериев (протокол, порты источника и назначения, IP-адрес источника, и т. д.). Впрочем, об этом мы ещё поговорим.
Особо хочу обратить ваше внимание, что этот метод будет работать только при наличии в соответствующем направлении (то есть уже за интерфейсом) NAT-сервера, например, реализованного в ADSL-модеме, – это то самое «особое условие», на которое я ссылался выше. В противном случае провайдер наверняка будет «рубить» у себя на шлюзе пакеты с IP-адресами, не принадлежащими ему. И уж тем более нет никаких оснований полагать, что схема будет работать при непосредственном использовании «серых» адресов, вроде показанных в примере 192.168.0.0/24 (см. рис. 1).
Рисунок 1. Схема с «внешними» NAT-серверами
Да и даже в том случае, если вы – счастливый обладатель достаточно большого массива реальных адресов, которые без проблем пропускают через себя все ваши провайдеры, поставленная задача без NAT-серверов решена не будет. Поскольку ответные пакеты будут приходить к вашему серверу в соответствии с правилами маршрутизации внешних узлов, на которые вы вряд ли сможете оказать какое-то влияние. То есть входящий трафик в любом случае будет идти так, как прописано на маршрутизаторах провайдера и выше, а не так, как захочется нам. (Позже будет показано, как можно использовать NAT непосредственно на настраиваемой машине, чтобы «форсировать» решение данной проблемы).
Ещё один пример маршрутизации
Более общий случай рассмотренного примера может использоваться для балансировки нагрузки на каналы – это заворачивание «половины Интернета» по альтернативному маршруту (с учётом всего сказанного касательно NAT-серверов):