Здравствуйте.
До недавнего времени я думал что это элементарная проблема и я смогу с ней справиться за 4 секи. Как я заблуждался....Суть проблемы вот в чем.
есть 2 интерфейса к двум провайдерам
fast 0/0.20 2xx.1xx.2xx.3x шлюз 2xx.1xx.2xx.1
fast 0/0.30 1хх.4хх.1хх.хх2 шолюз 1хх.4хх.1хх.хх1на циске дефаулт направлен на первого провайдера - 2xx.1xx.2xx.1
с недавнего времени перестал работать ВПН при конекте на второго провайдера - 1хх.4хх.1хх.хх2. После непродолжительных поисков (debug ip packet) выяснилось следующее: с удаленного хоста приходит пакет, попадает на интерфейс fast 0/0.30, циска посылает ответ но уже через интерфейс другого провайдера.
вот кусок дебагаApr 30 13:17:06.091: IP: s=client_IP (FastEthernet0/0.30), d=1хх.4хх.1хх.хх2 (FastEthernet0/0.30), len 84, rcvd 3
Apr 30 13:17:06.091: ICMP type=8, code=0
Apr 30 13:17:06.091: IP: tableid=0, s=1хх.4хх.1хх.хх2 (local), d=client_IP (FastEthernet0/0.20), routed via FIB
Apr 30 13:17:06.091: IP: s=1хх.4хх.1хх.хх2 (local), d=client_IP (FastEthernet0/0.20), len 84, sending
Apr 30 13:17:06.091: ICMP type=0, code=0
Apr 30 13:17:07.095: IP: tableid=0, s=client_IP (FastEthernet0/0.30), d=1хх.4хх.1хх.хх2 (FastEthernet0/0.30), routed via RIB
Apr 30 13:17:07.095: IP: s=client_IP (FastEthernet0/0.30), d=1хх.4хх.1хх.хх2 (FastEthernet0/0.30), len 84, rcvd 3
Apr 30 13:17:07.095: ICMP type=8, code=0мы видим что ответ идет через routed via FIB
в CEF записи для хоста клиента нет и оно приспокойненько валит поPrefix Next Hop Interface
0.0.0.0/0 2хх.1хх.2х.1 FastEthernet0/0.20
тоесть через дефаулт.Я думал что напишу роутмап в котором буду смотерть соотвествие исходящего интерфейса к ИП если они не совпадают то буду делать set ip next-hop 1хх.4хх.1хх.хх1 и таким образом обойду дефаулт. Но такой способ не сработал. Были робкие попытки поэксперементировать с vrf но на нужном мне интерфейсе висит ip policy route-map и после применения ip vrf forwarding циск мне сказала все что ей не нравиться удалила с интерфейса все IP и полиси.
Я в тупике. Нуждаюсь в вашей помощи.
Спасибо.
>[оверквотинг удален]
>к ИП если они не совпадают то буду делать set ip
>next-hop 1хх.4хх.1хх.хх1 и таким образом обойду дефаулт. Но такой способ не
>сработал. Были робкие попытки поэксперементировать с vrf но на нужном мне
>интерфейсе висит ip policy route-map и после применения ip vrf forwarding
>циск мне сказала все что ей не нравиться удалила с интерфейса
>все IP и полиси.
>
>Я в тупике. Нуждаюсь в вашей помощи.
>
>Спасибо.ip vrf receive xxx
route-map lalala permit 10
match ip address acl-lblblb
set vrf xxx
>[оверквотинг удален]
>>все IP и полиси.
>>
>>Я в тупике. Нуждаюсь в вашей помощи.
>>
>>Спасибо.
>
>ip vrf receive xxx
>route-map lalala permit 10
>match ip address acl-lblblb
>set vrf xxxнекоторые успехи есть. спасибо за помощь.
после внесенных изменеие предложеных тобой sh ip route vrf TEST
показывает таблицу маршрутизации такую какую нужно. В роут-мапе прописал set vrf xxx
но debug ip packet опять показывает что пакеты идет через fast 0/0.20
роут-мап вешал и на fast 0/0.20 и на fast 0/0.30З.Ы. нужно что бы пакеты приходили и уходили через fast 0/0.30
>[оверквотинг удален]
>
>некоторые успехи есть. спасибо за помощь.
>после внесенных изменеие предложеных тобой sh ip route vrf TEST
>показывает таблицу маршрутизации такую какую нужно. В роут-мапе прописал set vrf xxx
>
>но debug ip packet опять показывает что пакеты идет через fast 0/0.20
>
>роут-мап вешал и на fast 0/0.20 и на fast 0/0.30
>
>З.Ы. нужно что бы пакеты приходили и уходили через fast 0/0.30врядли тебе нужны врф и тд и тп.
может тебе нужен ip cef per-destination?
>врядли тебе нужны врф и тд и тп.
>может тебе нужен ip cef per-destination?насколько я понял это касается load-balancing. мне же нужно железно на какой интерфейс пришел через такой и ушел. При load-balancing меня будет кидать то на одного прова то на другого. Вот не знаю важно это или нет но я бы хотел подчеркнуть один нюанс, речь идет о пакетах предназначеных самой цике, мы считаем что что ни НАТа ни локальной сети у меня нет, есть только циска с двумя провайдерами.
ИМХО vrf мне подходит так как есть возможность создать альтернативную таблицу маршутизации в которой будет нужный мне дефаулт.Но в любом случае пока мне не удалось решить проблему никаких способом.
>[оверквотинг удален]
>то на одного прова то на другого. Вот не знаю важно
>это или нет но я бы хотел подчеркнуть один нюанс, речь
>идет о пакетах предназначеных самой цике, мы считаем что что ни
>НАТа ни локальной сети у меня нет, есть только циска с
>двумя провайдерами.
>ИМХО vrf мне подходит так как есть возможность создать альтернативную таблицу маршутизации
>в которой будет нужный мне дефаулт.
>
>Но в любом случае пока мне не удалось решить проблему никаких способом.
>на сколько я понял у тебя 2 линка и клиенты конектятся по впн каждый с со стороны своего прова. в этом случае то что ты видишь, что пакеты приходят с одного порта а уходят с другого не является проблемой. это несимметричный роутинг и всё. такое очень часто встречается.
>на сколько я понял у тебя 2 линка и клиенты конектятся по
>впн каждый с со стороны своего прова. в этом случае то
>что ты видишь, что пакеты приходят с одного порта а уходят
>с другого не является проблемой. это несимметричный роутинг и всё. такое
>очень часто встречается.все бы хорошо, но провайдеров разные. Вот если бы у меня была бы AS и своя сеточка, да БГП провайдерами вот тогда про несимметричность можно было бы говорить, тогда бы это была бы не большая проблема. А в моем случае эта нисиметричность означает что весь мир не видит моего второго провайдера, а это для меня проблема. Раньше это все дело работало потмоу что первый провайдер (тот который дефаулт) пропускал через себя трафик не со свимх айпишек, а теперь видимо перекрыл это дело ну и где-то он прав. Вернее перекрыл частично, есть дружественный провайдер сеть которого он через себя пропускает и вот там все работает прекрасно, весь остальной мир не работает.
>[оверквотинг удален]
>бы AS и своя сеточка, да БГП провайдерами вот тогда
>про несимметричность можно было бы говорить, тогда бы это была бы
> не большая проблема. А в моем случае эта нисиметричность означает
>что весь мир не видит моего второго провайдера, а это для
>меня проблема. Раньше это все дело работало потмоу что первый провайдер
>(тот который дефаулт) пропускал через себя трафик не со свимх айпишек,
>а теперь видимо перекрыл это дело ну и где-то он прав.
>Вернее перекрыл частично, есть дружественный провайдер сеть которого он через себя
>пропускает и вот там все работает прекрасно, весь остальной мир не
>работает.похоже понял в чём дело. у тебя внешний айпишник х.х.х.х данный провом 1, на него конектятся, а ответ идет от адреса х.х.х.х но уже через другого прова и тот режет эти пакеты так как исходящий адрес не в его сети. так?
>[оверквотинг удален]
>>(тот который дефаулт) пропускал через себя трафик не со свимх айпишек,
>>а теперь видимо перекрыл это дело ну и где-то он прав.
>>Вернее перекрыл частично, есть дружественный провайдер сеть которого он через себя
>>пропускает и вот там все работает прекрасно, весь остальной мир не
>>работает.
>
>похоже понял в чём дело. у тебя внешний айпишник х.х.х.х данный провом
>1, на него конектятся, а ответ идет от адреса х.х.х.х но
>уже через другого прова и тот режет эти пакеты так как
>исходящий адрес не в его сети. так?думаю что так. ну такой вывод напрашивается после анализа debug ip packet.
>[оверквотинг удален]
>
>некоторые успехи есть. спасибо за помощь.
>после внесенных изменеие предложеных тобой sh ip route vrf TEST
>показывает таблицу маршрутизации такую какую нужно. В роут-мапе прописал set vrf xxx
>
>но debug ip packet опять показывает что пакеты идет через fast 0/0.20
>
>роут-мап вешал и на fast 0/0.20 и на fast 0/0.30
>
>З.Ы. нужно что бы пакеты приходили и уходили через fast 0/0.30
>[оверквотинг удален]
>>после внесенных изменеие предложеных тобой sh ip route vrf TEST
>>показывает таблицу маршрутизации такую какую нужно. В роут-мапе прописал set vrf xxx
>>
>>но debug ip packet опять показывает что пакеты идет через fast 0/0.20
>>
>>роут-мап вешал и на fast 0/0.20 и на fast 0/0.30
>>
>>З.Ы. нужно что бы пакеты приходили и уходили через fast 0/0.30
>
>http://cisco.far.ru/2isp.htmlда. покаж весь конфиг. мож че придумаем.
>да. покаж весь конфиг. мож че придумаем.когфиг просто монстроидальный.
сейчас вопрос стоит не где ошибка в конфиге, а как вообще такое сделать.
как бы это конфиг не запутал народ. :)
>>да. покаж весь конфиг. мож че придумаем.
>
>когфиг просто монстроидальный.
>сейчас вопрос стоит не где ошибка в конфиге, а как вообще такое
>сделать.
>как бы это конфиг не запутал народ. :)понять бы что у тебя сейчас имеется, чтобы плясать уже от этого.
>>>да. покаж весь конфиг. мож че придумаем.
>>
>>когфиг просто монстроидальный.
>>сейчас вопрос стоит не где ошибка в конфиге, а как вообще такое
>>сделать.
>>как бы это конфиг не запутал народ. :)
>
>понять бы что у тебя сейчас имеется, чтобы плясать уже от этого.
>покажи кусок с роутмапами и аксес листами для set next hop которые делал.
>покажи кусок с роутмапами и аксес листами для set next hop которые
>делал.так как циска нагружена и обслуживает много клиентов, то все неудачные попытки решения проблемы я из конфига уберал. Но могу воспроизвести что я делал
ip vrf ISP2-vpn
rd 1хх.4хх.1хх.хх2:1
route-target export 1хх.4хх.1хх.хх2:1
route-target import 1хх.4хх.1хх.хх2:1
interface FastEthernet0/0.20
description ISP1
bandwidth 1945
encapsulation dot1Q 20
ip address 2xx.1xx.2x.x3 255.255.255.192
ip access-group safe-in in #этот АЦЛ блочик netbios,RCP и еще пару фигней
no ip redirects
no ip proxy-arp
ip nat outside
no ip virtual-reassembly
no ip mroute-cache
no cdp enable
crypto map office1interface FastEthernet0/0.30
description ISP2
bandwidth 3072
encapsulation dot1Q 30
ip vrf receive ISP2-vpn
ip address 1хх.4хх.15.73 255.255.255.248 secondary #это провайдер дает нам дополнительно еще одну сеточку которую я разруливаю через роутемап ISP2-add-NET
ip address 1хх.4хх.1хх.хх2 255.255.255.252
ip access-group safe-in in
no ip redirects
no ip proxy-arp
ip nat outside
no ip virtual-reassembly
ip policy route-map ISP2-add-NET
no ip mroute-cache
no cdp enable
crypto map office1ip route vrf ISP2-vpn 0.0.0.0 0.0.0.0 1хх.4хх.1xx.18x
ip access-list extended ISP2-add-NET
deny ip 1хх.4хх.15.72 0.0.0.7 192.168.0.0 0.0.255.255 #т.к. досутп к этим хостам должны иметь юзеры из локалки через роут мап его пропускать не надо
permit ip 1хх.4хх.15.72 0.0.0.7 any #это дополнительная сеть
permit ip 1хх.4хх.1xx.180 0.0.0.3 any
permit icmp 1хх.4хх.1xx.180 0.0.0.3 any
route-map ISP2-add-NET permit 10
match ip address ISP2-add-NET
set vrf ISP2-vpnпосле добавления ip vrf receive ISP2-vpn и конфигурации связаной с vrf появилась таблица маршрутизации гед дефаултом является 1хх.4хх.1xx.18x что собственно мне и нужно.
забыл дабовить. ip policy route-map ISP2-add-NET вешал на оба интерфейса в целях эксперимента и на interface FastEthernet0/0.30 и на interface FastEthernet0/0.20
>[оверквотинг удален]
>>>когфиг просто монстроидальный.
>>>сейчас вопрос стоит не где ошибка в конфиге, а как вообще такое
>>>сделать.
>>>как бы это конфиг не запутал народ. :)
>>
>>понять бы что у тебя сейчас имеется, чтобы плясать уже от этого.
>>
>
>покажи кусок с роутмапами и аксес листами для set next hop которые
>делал.сделал лабу. тоже что и у тебя, только вместо резания пакетов просто нет маршрута.
Router(config-ext-nacl)#
*Mar 1 00:16:16.047: ICMP: echo reply sent, src 10.10.10.10, dst 30.30.30.30
*Mar 1 00:16:16.155: ICMP: dst (10.10.10.10) host unreachable rcv from 192.168.
2.1
отправляет в 192.168.2.1 хотя пришло с интерфейса 192.168.1.2 и отправлено должно быть в 192.168.1.1сделал так:
ip http server
ip route 0.0.0.0 0.0.0.0 192.168.1.1
ip route 0.0.0.0 0.0.0.0 192.168.2.1
!
!
!
!
ip access-list extended acl-isp1
permit icmp any host 30.30.30.30
deny icmp any any
!
route-map ISP1 permit 10
match ip address acl-isp1
set ip next-hop 192.168.1.1и теперь всё окей.
Mar 1 00:18:05.155: ICMP: echo reply sent, src 10.10.10.10, dst 192.168.1.1
Mar 1 00:18:05.235: ICMP: echo reply sent, src 10.10.10.10, dst 192.168.1.1
Mar 1 00:18:05.259: ICMP: echo reply sent, src 10.10.10.10, dst 192.168.1.1
>[оверквотинг удален]
> match ip address acl-isp1
> set ip next-hop 192.168.1.1
>
>и теперь всё окей.
>Mar 1 00:18:05.155: ICMP: echo reply sent, src 10.10.10.10, dst 192.168.1.1
>
>Mar 1 00:18:05.235: ICMP: echo reply sent, src 10.10.10.10, dst 192.168.1.1
>
>Mar 1 00:18:05.259: ICMP: echo reply sent, src 10.10.10.10, dst 192.168.1.1
>к сожалению, мне не понятна эта лаба :(
было бы неплохо увидеть интерфеймы и короткое описание действий.
Насколько я понял речь идет о чистом PBR.
>[оверквотинг удален]
>>Mar 1 00:18:05.155: ICMP: echo reply sent, src 10.10.10.10, dst 192.168.1.1
>>
>>Mar 1 00:18:05.235: ICMP: echo reply sent, src 10.10.10.10, dst 192.168.1.1
>>
>>Mar 1 00:18:05.259: ICMP: echo reply sent, src 10.10.10.10, dst 192.168.1.1
>>
>
>к сожалению, мне не понятна эта лаба :(
>было бы неплохо увидеть интерфеймы и короткое описание действий.
>Насколько я понял речь идет о чистом PBR.R1(lo0 30.30.30.30, fa0/0 192.168.1.1)<---->R2(lo 10.10.10.10, fa0/0 192.168.1.2, fa1/0 192.168.2.2)<----->R3(fa0/0 192.168.2.1);
R1fa0/0
ip address 192.168.1.1 255.255.255.0
!
ip route 10.10.10.10 255.255.255.255 192.168.1.2R2
fa0/0
ip address 192.168.1.2 255.255.255.0
!
fa1/0
ip address 192.168.2.2 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 192.168.1.1
ip route 0.0.0.0 0.0.0.0 192.168.2.1
два дефолтных маршрута и пер дестенейшн цеф. так уж получилось(что хорошо), что пакеты на адрес 30.30.30.30 роутер решил отправлять через не верный маршрут.R3
просто один айпи и
fa0/0
192.168.2.1 255.255.255.0при пинге с R1 указывая соурс 30.30.30.30 пакеты приходят на R2 и он не зная маршрута на этот адрес отвечает по дефолту, а их 2 штуки. в итоге он выберает не правильный.
пакет приходит на R3 а R3 ничего про 30.30.30.30 не знает и отвечает, что хост не доступен.
лог с R2
*Mar 1 00:16:16.047: ICMP: echo reply sent, src 10.10.10.10, dst 30.30.30.30
*Mar 1 00:16:16.155: ICMP: dst (10.10.10.10) host unreachable rcv from 192.168.2.1после применения вышеуказанного пбр
роутер видит, что пакет должен быть отправлен в 30.30.30.30 и ему указано что некстхоп
192.168.1.1 и всё. теперь он отправляет пакеты через нужный интерфейс.
проблема в том что я нез наю откуда придет пакет он может прийти от 30.30.30.30 а может прийти от 20.20.20.20. я не могу вписать в роутмап весь интернет :) Условия должны быть такими, что отправлять ответ в тот интерфейс через который пришел запрос, а не на конкретную ИП.
>проблема в том что я нез наю откуда придет пакет он может
>прийти от 30.30.30.30 а может прийти от 20.20.20.20. я не могу
>вписать в роутмап весь интернет :) Условия должны быть такими, что
>отправлять ответ в тот интерфейс через который пришел запрос, а не
>на конкретную ИП.если бы я знал откуда прийдет пакет можно было бы выкруиться и статическими маршрутами. Что вобщем-тоу меня и реализовано но немного в другой области. У меня есть клиенты с которыми у меня установлен IPSEC я знаю их ИП и с обоих сторон прописаны статические маршруты. Но в данной ситуации работает pptp и клиент может законектиться из любой точки мира.
>[оверквотинг удален]
>>вписать в роутмап весь интернет :) Условия должны быть такими, что
>>отправлять ответ в тот интерфейс через который пришел запрос, а не
>>на конкретную ИП.
>
>если бы я знал откуда прийдет пакет можно было бы выкруиться и
>статическими маршрутами. Что вобщем-тоу меня и реализовано но немного в другой
>области. У меня есть клиенты с которыми у меня установлен IPSEC
>я знаю их ИП и с обоих сторон прописаны статические маршруты.
>Но в данной ситуации работает pptp и клиент может законектиться из
>любой точки мира.у тебя один внешний адрес или два? если то он выдан одним провайдером и тока через него будут приходить пакеты. логично?
>[оверквотинг удален]
>>
>>если бы я знал откуда прийдет пакет можно было бы выкруиться и
>>статическими маршрутами. Что вобщем-тоу меня и реализовано но немного в другой
>>области. У меня есть клиенты с которыми у меня установлен IPSEC
>>я знаю их ИП и с обоих сторон прописаны статические маршруты.
>>Но в данной ситуации работает pptp и клиент может законектиться из
>>любой точки мира.
>
>у тебя один внешний адрес или два? если то он выдан одним
>провайдером и тока через него будут приходить пакеты. логично?может копнуть Reflexive Access Lists ?
>[оверквотинг удален]
>>
>>если бы я знал откуда прийдет пакет можно было бы выкруиться и
>>статическими маршрутами. Что вобщем-тоу меня и реализовано но немного в другой
>>области. У меня есть клиенты с которыми у меня установлен IPSEC
>>я знаю их ИП и с обоих сторон прописаны статические маршруты.
>>Но в данной ситуации работает pptp и клиент может законектиться из
>>любой точки мира.
>
>у тебя один внешний адрес или два? если то он выдан одним
>провайдером и тока через него будут приходить пакеты. логично?кое-какие успехи есть. ИМХО вариант с любыми роут-мапами это тупик, т.к. роутмап отрабатывает тогда когда пакет пришел на интерфейс, и что-то делать с ним уже поздно. PBR работает только на input, где потом уже можно принять решение про output.
Поэтому я решил помучать версию с ip vrf forwarding. Да, оно ругается что у меня висит PBR но я решил временно забить на этот PBR и просто его убрал. Так вот моя проблема с PPTP решилась! Но зато появилось еще несколько побочиных проблем :( А именно. перестал работать IPSEC+L2TP. Если не вдаваться в подробности то раньше это было так.
есть клиент ИП - 10.10.10.10
ip route 10.10.10.10 255.255.255.255 ISP2
ip route 0.0.0.0 0.0.0.0 ISP1После того как заработал vrf этот маршрут пропал. это скорее всего нормально. Я взял и создал статический маршрут в vrf
ip route vrf TEST 10.10.10.10 255.255.255.255 ISP2
ip route vrf TEST 0.0.0.0 0.0.0.0 ISP2
sh ip route vrf показывает маршрут все идеально.....но блин... теперь если я делаю трейс с циски на 10.10.10.10 то пакет игнорирует маршруты и валит через дефаулт (ISP1). А должен идит как записано ip route vrf TEST 10.10.10.10 255.255.255.255 ISP2 через ISP2У меня есть тихое чувство что я где-то еще не прописал этот vrf, но где я пока понять не могу. Пришлось все вернуть как было раньше.
>[оверквотинг удален]
>ip route vrf TEST 10.10.10.10 255.255.255.255 ISP2
>ip route vrf TEST 0.0.0.0 0.0.0.0 ISP2
>sh ip route vrf показывает маршрут все идеально.....но блин... теперь если я
>делаю трейс с циски на 10.10.10.10 то пакет игнорирует маршруты и
>валит через дефаулт (ISP1). А должен идит как записано ip route
>vrf TEST 10.10.10.10 255.255.255.255 ISP2 через ISP2
>
>У меня есть тихое чувство что я где-то еще не прописал этот
>vrf, но где я пока понять не могу. Пришлось все вернуть
>как было раньше.а трейс делал так:
traceroute vrf TEST 10.10.10.10 или просто traceroute 10.10.10.10 ?
>[оверквотинг удален]
>>делаю трейс с циски на 10.10.10.10 то пакет игнорирует маршруты и
>>валит через дефаулт (ISP1). А должен идит как записано ip route
>>vrf TEST 10.10.10.10 255.255.255.255 ISP2 через ISP2
>>
>>У меня есть тихое чувство что я где-то еще не прописал этот
>>vrf, но где я пока понять не могу. Пришлось все вернуть
>>как было раньше.
>
>а трейс делал так:
>traceroute vrf TEST 10.10.10.10 или просто traceroute 10.10.10.10 ?просто трейс :(
Вам необходимо использовать VRF для каждого провайдера.
Ни PBR, ни local route-map не смогут решить вашу задачу на 100%.
Будут появлятся побочные проблемы.
Как сделать -- смотрите ветку
https://www.opennet.ru/openforum/vsluhforumID6/18724.html(ответ 13)
Если потребуется помощь с IPSEC + VRF, обращайтесь. Кину конфигурацию.
>[оверквотинг удален]
>
>Будут появлятся побочные проблемы.
>
>
>Как сделать -- смотрите ветку
>https://www.opennet.ru/openforum/vsluhforumID6/18724.html
>
>(ответ 13)
>
>Если потребуется помощь с IPSEC + VRF, обращайтесь. Кину конфигурацию.Я вот бы с удовольствием посмотрел конфиг IPSEC+VRF
>[оверквотинг удален]
>
>Будут появлятся побочные проблемы.
>
>
>Как сделать -- смотрите ветку
>https://www.opennet.ru/openforum/vsluhforumID6/18724.html
>
>(ответ 13)
>
>Если потребуется помощь с IPSEC + VRF, обращайтесь. Кину конфигурацию.Простите, а мне IPSEC + VRF можно?