отмена
Отображаются результаты для 
Вместо этого искать 
Вы имели в виду: 
Объявления
Добро пожаловать в Сообщество Технической поддержки Cisco. Мы рады получить обратную связь .
New Member

Статический НАТ на два провайдера.

Добрый день.

Мне нужно настроить статический нат одного внутреннего адреса в два внешних, от двух разных провайдеров. Как вы понимаете, дефолтных роутов всего один. Возможно ли с помощью route-map направлять соединения на соовтетствующего провайдера? В настоящий момент настроено следующее:

ip nat inside source static tcp 192.168.6.11 25 1.1.1.1 25 route-map ISP1 extendable

ip nat inside source static tcp 192.168.6.11 25 2.2.2.2 25 route-map ISP2 extendable

!

route-map ISP1 permit 10

set interface FastEthernet0/0/1.1

route-map ISP2 permit 10

set interface FastEthernet0/0/1.2

!

ip route 0.0.0.0 0.0.0.0 1.1.1.254

Я правильно понял логику использования route-map в конфигурации NAT ?

Теги (3)
7 ОТВЕТ.

Статический НАТ на два провайдера.

Добрый день!

Вот тут очень не плохо расписано про применение PBR и NAT. Но вашу задачу я не очень понял.

У вас один сервер, который вы хотите опубликовать через двух внешних провайдеров ?

Самая большая проблема в этом случае закючается в том, что бы ответ сервера послать обратно через тот же интерфейс, через который пришёл запрос клиента.

Как правило для этого используется двойной NAT, т.е. когда запрос клиента приходит через ISP_1 в пакете подменяется не только DST_IP с глобального WAN_IP адреса на локальный LAN_IP сервера, но также подменяется и SRC_IP и вместо оригинального IP клиента подставляется некий виртуальный IP например 192.168.100.1 для первого провайдера и 192.168.100.2 для второго.

Соответственно запросы на сервер всегда будут приходить только с этих двух IP и отвечать он также будет на них. На интерфейс локальной сети вешается ip policy, которая на основании ACL определяет next-hop для пакетов идущих от сервера к этим виртуальным адресам. Таким образом мы определим куда смаршрутизировать данный пакет. А уже на внешнем интерфейсе сработает NAT, который вернёт взад SRC_IP и DST_IP в соответствии с таблицой натирования.

Как-то так. 

New Member

Re: Статический НАТ на два провайдер

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

route-map ISP1 permit 10

match interface FastEthernet0/0/1.1

!

Как я понял, отправлять через тот интерфейс, через который пришёл запрос нетривиальная задача, но вышло так, что первый провайдер пускает пакеты с адресами из другой подсети, т.е. я получаю асиметрию. Но пока я сижу в размышлениях по оценке рисков, чем мне может это грозить. Второй ISP резервный, MX с большим весом и запросы на него должны приходить в крайнем случае. В этом же крайнем случае ответы на эти запросы пройдут, хоть и через первого провайдера.

Единсвенный вопрос, который возник, следующий.

Если соединения инициируются изнутри, то нат отрабатывает согласно деволтному маршруту. Но если соединения инициируются снаружи, то обратный ответ идёт согласно дефолтному маршруту, но натится в адрес, на который пришёл запрос. Отсюда и возникает, собственно, несимметричная маршрутизация, когда запрос пришёл через ISP2, а ответ отправляется через ISP1 (по дефолтному маршруту), но с адресом источника из подсети ISP2 (согласно сохранённой при инициации запроса NAT-сессии)

Статический НАТ на два провайдера.

 подменять внешние адреса смерти подобно

Почему ? Не вижу криминала.

Если почитать док, по линку который я дал, то там ведь есть и ещё один вариант.

Если вы на сервере сделаете два разных LAN (в статье предлагалось вешать secondary, но я бы лучше вообще развёл на два разных vlan или отдельные сетевые карты), то вот вам и решене проблемы - трафик, пришедший на одного провайдера посылаетена LAN_IP_1, а трафик на второго на LAN_IP_2.

Соответственно на интерфейсе роутера в сторону локалки (ну или на svi интерфейсах этих vlan) применяете ip policy с указанием конкретного set ip next-hop, но с привязкой IP SLA, дабы в случае неработоспособности этого канала маршрутизировать по имеющимся маршрутам:

set ip next-hop verify-reachability {GateISPX} {sequence#} track {track#}

Сами статические маршруты можно оба прописать на роутере, просто с разной метрикой и привязкой к тем же IP SLA:

ip route 0.0.0.0 0.0.0.0 {next-hop} track {#}

Да, сложно, да, наворочено, но если у вас нет денег на собственнуе AS в интернете и BGP до обоих провайдеров, то учитесь строить костыли и плясать с бубном.

New Member

Re: Статический НАТ на два провайдер

Сергей.

Сервер, повторюсь, почтовый, а смерть наступит от избытка спама и ошибок приёма писем. Проверка ip-адреса отправителя почты играет не последнюю роль в принятии решения о приёме письма или его отлупе.

По вашему предложению. Мне, собственно, проще повестить внешние адреса на сам сервер.

А с моей несимметричной маршрутизацией как говорится "всё работает". У вас нет мыслей по поводу того, какие траблы могут возникнуть?

Re: Статический НАТ на два провайдер

Я так понимаю, что вы решение о натирование принимаете на основе этой route-map:

route-map ISP1 permit 10

match interface FastEthernet0/0/1.1

Давайте разберёмся, что она делает - если пакет УЖЕ СМАРШРУТИЗИРОВАН в интерфейс FastEthernet0/0/1.1, то его надо снатировать в адрес скоре всего как раз интерфейса FastEthernet0/0/1.1. 

А вторая роут-мапа видимо выглядит так -

route-map ISP2 permit 10

match interface FastEthernet0/0/1.2

Т.е. если пакет смрашрутизирован в интерфейс FastEthernet0/0/1.2  то и натировать его надо в соответствующий адрес.

В этом случае вы каждому провайдеру шлёте пакеты как раз с IP-адресом того интерфейса, который смотрит в его сторону.

Проблема тут в другом - внешний источник обращается на IP_ISP_1, а ответ получает от IP_ISP_2.

Если клиентскому софту это может быть и deep purple, то вот тот же mail.ru может и забанить такие ответные пакеты.

Возможно я ошибаюсь, но если бы мы с вами говорили про NAT OVERLOAD с route-map, то это работает именно так, как я описал выше. А вот как работает подобная route-map на статических NAT-записях я сказать затрудняюсь - опыта не имел. Поэтому предложил бы вам поэкспериментировать с этим делом с какого-нибудь внешнего адреса и при включеном WireShark, дабы уж не гадать.

New Member

Re: Статический НАТ на два провайдер

Спасибо, Сергей.

Собственно, эксперименты я уже провёл и в случае статического нат адрес-в-адрес:

ip nat inside source static tcp 192.168.6.11 25 1.1.1.1 25 route-map ISP1 extendable

ip nat inside source static tcp 192.168.6.11 25 2.2.2.2 25 route-map ISP2 extendable

ответный пакет попадает в правило NAT созданное при инициализации соединения снаружи, а не в логику маршрутизации (route-map), но дальше пакет идёт по таблице маршрутизации в дефолтный маршрут. Проверял я это с помощью установки tcp сессий на адрес второго провайдера снаружи. Если бы второй пакет в хэндшэйке SYN+ACK вернулся с адресом источника первого (а не второго) провайдера, то TCP сессии, согласитесь, бы не было.

Изнутри сессии будут устанавливаться всегда через живого провайдера и то, что один из ISP пропускает пакеты с левыми адресами через себя мне сейчас играет на руку, и, если он даже закроет такую возможность не скажется на работе или отказоустойчивости системы. Ведь второй MX на то и второй, чтобы включаться в работу, когда падает первый.

New Member

Статический НАТ на два провайдера.

Возможно в какой-то момент времени провайдер закроет ассимитричный трафик и вот тогда вы словите проблемы.

Лучше сразу сделать все так чтобы гарантировано работало.

Вот ссылка

http://stack.nil.com/ipcorner/SOHO_Servers/#chapter3

думаю разберетесь.

3165
Просмотры
25
Полезный материал
7
Ответы