The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"2 провайдера, nat"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Маршрутизаторы CISCO и др. оборудование. (Маршрутизация)
Изначальное сообщение [ Отслеживать ]

"2 провайдера, nat"  +/
Сообщение от antrocon email on 07-Июн-12, 17:45 
Доброго времени суток!

Пытаюсь придумать наиболее простой конфиг шлюза для работы с 2мя провайдерами. Смысл такой: есть 2 провайдера, ip xxx и yyy, есть локалка 172.16.1.0/24, в этой локалке есть некий сервер 172.16.1.50 у которого необходимо вывесить сервис, слушающий на 8000 порту, через обоих провайдеров. Т.е xxx:8000->172.16.1.50:8000 и yyy:8000->172.16.1.50:8000; в интернет локалка должна идти через первого провайдера, а при его падении - через второго.
Сходу приходит на ум довольно простой и изящный конфиг, типа:


interface FastEthernet0/0
description <<<lan>>>
ip address 172.16.1.1 255.255.255.240
ip nat inside
ip virtual-reassembly
duplex auto
speed auto
no cdp enable
!
interface FastEthernet1/0
description <<<prov-xxx>>>
ip address xxx.xxx.xxx.xxx 255.255.255.240
ip nat outside
ip virtual-reassembly
duplex auto
speed auto
no cdp enable
!
interface FastEthernet1/1
description <<<prov-yyy>>>
ip address yyy.yyy.yyy.yyy 255.255.255.224
ip nat outside
ip virtual-reassembly
duplex auto
speed auto
no cdp enable
!
ip local policy route-map linet
ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 xxx-gw track 10
ip route 0.0.0.0 0.0.0.0 yyy-gw 20 track 20
ip nat inside source route-map prov-xxx interface FastEthernet1/0 overload
ip nat inside source route-map prov-yyy interface FastEthernet1/1 overload
ip nat inside source static tcp 172.16.1.50 8000 xxx.xxx.xxx.xxx 8000 extendable
ip nat inside source static tcp 172.16.1.50 8000 yyy.yyy.yyy.yyy 8000 extendable
!
access-list 10 permit 172.16.1.0 0.0.0.255
access-list 150 permit ip host yyy.yyy.yyy.yyy any
!
route-map prov-xxx permit 10
match ip address 10
match interface FastEthernet1/0
!
route-map prov-yyy permit 10
match ip address 10
match interface FastEthernet1/1
!
route-map linet permit 10
match ip address 150
set ip next-hop yyy-gw
!

Однако, когда подключение идет на 8000 порт через второго провайдера, циска хоть и натирует правильным айпи, но пакет выпускает через первого провайдера, который является дефолтный маршрутом (т.е. уходит пакет с сорцом yyy.yyy.yyy.yyy на шлюз xxx.xxx.xxx.xxz) - ессно так ничего работать не будет, т.к шлюз провайдера отбрасывает пакеты не из своей сети.
В качестве обходного варианта можно поднять алиас на серваке, скажем 172.16.1.150, и пакеты с этого айпи маршрутизировать через другого провайдера:

interface FastEthernet0/0
description <<<lan>>>
ip address 172.16.1.1 255.255.255.240
ip nat inside
ip virtual-reassembly
ip policy route-map inet
duplex auto
speed auto
no cdp enable
!
access-list 50 permit 172.16.1.150
!
route-map inet permit 10
match ip address 50
set ip next-hop yyy-gw
!

Но хотелось бы прописывания алиасов избежать.

Собственно вопрос - есть ли какой-либо другой простой и изящный способ разрулить такую ситуацию?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "2 провайдера, nat"  +/
Сообщение от бен Бецалель on 07-Июн-12, 18:46 
попробуй такую конструкцию
ip nat inside source static tcp 192.168.1.1 80 1.1.1.67 80 route-map NAT_STAT_ISP1
ip nat inside source static tcp 192.168.1.1 80 2.2.2.50 80 route-map NAT_STAT_ISP2
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "2 провайдера, nat"  +/
Сообщение от antrocon email on 08-Июн-12, 12:58 
> попробуй такую конструкцию
> ip nat inside source static tcp 192.168.1.1 80 1.1.1.67 80 route-map NAT_STAT_ISP1
> ip nat inside source static tcp 192.168.1.1 80 2.2.2.50 80 route-map NAT_STAT_ISP2

либо я не понял смысла, либо не работает такая схема.


ip nat inside source static tcp 172.16.1.50 8000 yyy.yyy.yyy.yyy 8000 route-map isp2-route extendable
route-map isp2-route permit 10
set ip next-hop yyy-gw

все равно пакет уходит через первого провайдера, который является дефолтным маршрутом, хотя и натируется правильным айпи yyy.yyy.yyy.yyy.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

6. "2 провайдера, nat"  +/
Сообщение от AlexDv (??) on 08-Июн-12, 13:00 
>[оверквотинг удален]
>> ip nat inside source static tcp 192.168.1.1 80 2.2.2.50 80 route-map NAT_STAT_ISP2
> либо я не понял смысла, либо не работает такая схема.
>
 
> ip nat inside source static tcp 172.16.1.50 8000 yyy.yyy.yyy.yyy 8000 route-map isp2-route
> extendable
> route-map isp2-route permit 10
> set ip next-hop yyy-gw
>

> все равно пакет уходит через первого провайдера, который является дефолтным маршрутом,
> хотя и натируется правильным айпи yyy.yyy.yyy.yyy.

Я пробовал эту схему в GNS-е, у меня не заработала.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

9. "2 провайдера, nat"  +/
Сообщение от бен Бецалель on 08-Июн-12, 15:11 
>[оверквотинг удален]
>> ip nat inside source static tcp 192.168.1.1 80 2.2.2.50 80 route-map NAT_STAT_ISP2
> либо я не понял смысла, либо не работает такая схема.
>
 
> ip nat inside source static tcp 172.16.1.50 8000 yyy.yyy.yyy.yyy 8000 route-map isp2-route
> extendable
> route-map isp2-route permit 10
> set ip next-hop yyy-gw
>

> все равно пакет уходит через первого провайдера, который является дефолтным маршрутом,
> хотя и натируется правильным айпи yyy.yyy.yyy.yyy.

у народа получалось http://www.certification.ru/cgi-bin/forum.cgi?action=thread&...
я тоже где-то делал, работало, свой конфиг вот найти не могу....

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

2. "2 провайдера, nat"  +/
Сообщение от AlexDv (??) on 07-Июн-12, 18:52 
>[оверквотинг удален]
> access-list 50 permit 172.16.1.150
> !
> route-map inet permit 10
>  match ip address 50
>  set ip next-hop yyy-gw
> !
>
> Но хотелось бы прописывания алиасов избежать.
> Собственно вопрос - есть ли какой-либо другой простой и изящный способ разрулить
> такую ситуацию?

Самый простой и изящный - заводить свои PI и AS, по другому только через дополнительный роут-мап.
Возможен еще вариант на одном IP, если приложение так умеет.
ip nat inside source static tcp 172.16.1.50 8888 xxx.xxx.xxx.xxx 8000 extendable
ip nat inside source static tcp 172.16.1.50 8000 yyy.yyy.yyy.yyy 8000 extendable

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "2 провайдера, nat"  +/
Сообщение от antrocon email on 08-Июн-12, 13:05 
>>[оверквотинг удален]
> Самый простой и изящный - заводить свои PI и AS, по другому
> только через дополнительный роут-мап.

своей as нет и не предвидится :(
а как через дополнительный роут-мап?

> Возможен еще вариант на одном IP, если приложение так умеет.
> ip nat inside source static tcp 172.16.1.50 8888 xxx.xxx.xxx.xxx 8000 extendable
> ip nat inside source static tcp 172.16.1.50 8000 yyy.yyy.yyy.yyy 8000 extendable

для меня этот вариант примерно равнозначен прописыванию алиасов, я могу это сделать, но только если не будет более красивого решения.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

8. "2 провайдера, nat"  +/
Сообщение от AlexDv (??) on 08-Июн-12, 14:15 
>>>[оверквотинг удален]
>> Самый простой и изящный - заводить свои PI и AS, по другому
>> только через дополнительный роут-мап.
> своей as нет и не предвидится :(
> а как через дополнительный роут-мап?
>> Возможен еще вариант на одном IP, если приложение так умеет.
>> ip nat inside source static tcp 172.16.1.50 8888 xxx.xxx.xxx.xxx 8000 extendable
>> ip nat inside source static tcp 172.16.1.50 8000 yyy.yyy.yyy.yyy 8000 extendable
> для меня этот вариант примерно равнозначен прописыванию алиасов, я могу это сделать,
> но только если не будет более красивого решения.

Как-то так на внутреннем интерфейсе

route-map PBR-TO-ISP permit 10
match ip address 100
set ip next-hop 1.1.1.1
!
route-map PBR-TO-ISP permit 30
match ip address 200
set ip next-hop 2.2.2.2


Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

3. "2 провайдера, nat"  +/
Сообщение от cant email on 07-Июн-12, 19:19 
> Но хотелось бы прописывания алиасов избежать.

Раскрасьте пакеты разными tos на внешних интерфейсах,
сервер ответит на пакеты тем же tos, а потом полиси на циске по tos туда откуда пришел пакет.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "2 провайдера, nat"  +/
Сообщение от antrocon email on 08-Июн-12, 12:59 
>> Но хотелось бы прописывания алиасов избежать.
> Раскрасьте пакеты разными tos на внешних интерфейсах,
> сервер ответит на пакеты тем же tos, а потом полиси на циске
> по tos туда откуда пришел пакет.

попробовал - входящие пакеты маркируются, но в ответном пакете от сервака tos-поле сбрасывается на дефолтный 0, соответственно циска отличить эти пакеты от остальных не может.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

10. "2 провайдера, nat"  +/
Сообщение от Илья email(??) on 08-Июн-12, 15:12 
попробуйте так
interface FastEthernet0/0
  ip policy route-map ISP


route-map ISP deny 5
match ip address nat_deny
!
route-map ISP permit 10
match ip address nat_allow
set ip next-hop verify-availability x.x.x.x 1 track 111
set ip next-hop verify-availability y.y.y.y 2 track 222
!
route-map ISP permit 20
match ip address nat_allow2
set ip next-hop verify-availability y.y.y.y 1 track 222
set ip next-hop verify-availability x.x.x.x 2 track 111

Это поможет разрулить исходящий трафик, но проблема в корне не решаема без своей AS

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

11. "2 провайдера, nat"  +/
Сообщение от antrocon email on 09-Июн-12, 10:56 
AlexDV,Илья, т.е. все в итоге сводится к pbr на основе source-адреса источника, т.е. никакого хака, о котором я не догадывался, все же нет...
ок, тогда буду прописывать алиасы и юзать pbr, как самое простое решение.

Всем спасибо за помощь! :)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру