Jump to content
Калькуляторы

Cisco 19xx/29xx/39xx и два(или более) провайдеров.

Итак, имеем железку Cisco 19xx/29xx/39xx

Далее, имеем двух провайдеров, один провайдер дает статический ip и он вставлен в наш роутер . Второй же провайдер подключен не на прямую, а подключаются в наш роутер через глупый роутер длинк или аналоги.

Подключить второго провайдера на прямую не возможно. 

Итак, на втором интерфейсе мы прописываем настройки:


interface GigabitEthernet0
 ip address dhcp
 ip nat outside
 ip virtual-reassembly in
!

 

Статику из внутренней подсети длинка прописать нельзя. Только ip address dhcp

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

Что мы делаем, мы подняли ip sla на обоих провайдеров, и создали два track

но проблема в другом, мы не можем создать на второго провайдера роут чтоб он корректно работали с track

точнее - прописать мы можем только командой: ip route 0.0.0.0 0.0.0.0 gigabitEthernet 0 track 1

но в этом случае циска ругается что будет низкая производительность и на деле при попытке открыть какой то ресурс - циска зачем то пытается определить arp запись с удаленным ресурсом, далее запись не определяется  и у нас в команде show ip arp вот такие записи:

 


ip route 0.0.0.0 0.0.0.0 gigabitEthernet 0 track 1
%Default route without gateway, if not a point-to-point interface, may impact performance

так же оно не корректно работает если мы прописываем два маршрута /1 через track

 

В итоге - если мы на циске вводим команду ping 8.8.8.8

 

ping 8.8.8.8
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

show ip arp
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  8.8.8.8                  0   Incomplete      ARPA   

 


 

если же прописать вариант:


ip route 0.0.0.0 0.0.0.0 GigabitEthernet0 dhcp

 

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

 

Внимание - внутренние сети двух провайдеров не пересекаются, внутренние сети провайдеров маленькие - /28 и /24 

Кто что посоветует, как можно или прописать маршрут на имя сетевого интерфейса чтоб оно не тупило из за arp записей, и при этом работало через track ?

 

 

 

Edited by artplanet

Share this post


Link to post
Share on other sites

Победить я конечно победил задачку, но пришлось использовать 3 vrf, bgp, импорт/экспорт маршрутов из vrf в vrf с двумя ip sla/track

может кто знает как решить задачку по проще без vrf ?

Share this post


Link to post
Share on other sites

Поставить любой роутер с OpenWRT) 

Share this post


Link to post
Share on other sites
1 час назад, alexgreat сказал:

Поставить любой роутер с OpenWRT) 

интересует решение задачи на cisco - обход задачи не интересен

Share this post


Link to post
Share on other sites

Через event-manager можно попробовать (ну если верно понимаю задачу), чтобы он сбрасывал все на основной при его наличии (а для этого сделать пинговалку ip sla до 8.8.8.8). На текущем роутере портов сколько, точнее линки от обоих провайдеров подключены в отдельный порты?

Share this post


Link to post
Share on other sites
2 часа назад, kapydan сказал:

Через event-manager можно попробовать (ну если верно понимаю задачу), чтобы он сбрасывал все на основной при его наличии (а для этого сделать пинговалку ip sla до 8.8.8.8). На текущем роутере портов сколько, точнее линки от обоих провайдеров подключены в отдельный порты?

 

думал про event manaer - но останавливает то - что месть вероятность сохранить конфиг на железке в тот момент когда будут роуты, а потом пропадет электричество. В итоге железка загрузиться с активными роутами - при том что трек не будет работать. В итоге переключение на первого оператора не произойдет.

 

Так же по наличию линка смотреть нельзя. так как интернет может пропасть даже при условии что роутер длинк будет работать и анонсировать по dhcp роут.

пока что вариант с bgp и обменом маршрутами через разные vrf работает стабильно, но извращенно. 

Share this post


Link to post
Share on other sites

для этого и упомянут ip sla - ставить на пинговалку 8.8.8.8 через основной провайдер и при недоступности скидывать все на резервный. а при возврате основного - все перекидывать на него.

 

где-то был подобный конфиг для 881 циски, в принципе съема рабочая.

Share this post


Link to post
Share on other sites
11 часов назад, kapydan сказал:

для этого и упомянут ip sla - ставить на пинговалку 8.8.8.8 через основной провайдер и при недоступности скидывать все на резервный. а при возврате основного - все перекидывать на него.

 

где-то был подобный конфиг для 881 циски, в принципе съема рабочая.

Такое прекрасно работает на 3945

Share this post


Link to post
Share on other sites

Логика понятна про event 

то есть чтоб учесть все варианты - нужно

1. сделать event на загрузку циски - в котором мы удаляем все маршруты

2. сделать 4ре event - которые будут добавлять и удалять маршруты у основного и резервного провайдера провайдера которые будут работать по ip sla. А так же в эти event нужно еще добавить "clear ip nat translation"

 

но по количеству строк конфиг становится примерно такой же как и конфиг на vrf,  только конфиг на vrf не меняет конфиг в циске в зависимости от ip sla а работает динамически

в общем два решения есть, но вообще в идеале - дописать track к команде Ip route dhcp - но такое циско не дает сделать - сволочи они. 

Share this post


Link to post
Share on other sites

там что-то типа такого. acl rmap - просто внутренние сети, которые должны натиться.

 

track 123 ip sla 1 reachability
!
interface FastEthernet3
 switchport access vlan 100
!
interface FastEthernet4
 description uplink
 bandwidth 512
 ip address 12.13.14.118 255.255.255.252
 ip access-group wan in
 no ip proxy-arp
 ip flow ingress
 ip nat outside
 ip inspect wan in
 ip inspect fw-global out
 ip virtual-reassembly in
 duplex auto
 speed 10
 no cdp enable
!

!
interface Vlan100
 ip address 56.57.58.122 255.255.255.252
 ip nat outside
 ip virtual-reassembly in


ip local policy route-map echo
ip forward-protocol nd
no ip http server
no ip http secure-server
ip http timeout-policy idle 600 life 86400 requests 10000
!
ip nat inside source route-map isp1 interface Vlan100 overload
ip nat inside source route-map isp2 interface FastEthernet4 overload

ip route 0.0.0.0 0.0.0.0 12.13.14.117 track 123
ip route 0.0.0.0 0.0.0.0 56.57.58.121 254
ip route 8.8.8.8 255.255.255.255 12.13.14.117
ip route 14.26.11.0 255.255.255.0 12.13.14.117
!

!
ip sla 1
 icmp-echo 8.8.8.8 source-ip 12.13.14.118
 threshold 3
 frequency 5
ip sla schedule 1 life forever start-time now
logging esm config
access-list 101 permit icmp any host 8.8.8.8 echo
!
!
route-map echo permit 10
 match ip address 101
 set interface FastEthernet4
!
route-map rmap permit 1
 match ip address rmap
!
route-map isp2 permit 10
 match ip address rmap
 match interface FastEthernet4
!
route-map isp1 permit 10
 match ip address rmap
 match interface Vlan100
!
event manager applet ISP_SWITCHED_20
 event track 123 state any
 action 1.0 cli command "enable"
 action 2.0 cli command "clear ip nat trans forced"
!
end
 

Share this post


Link to post
Share on other sites
On 11/17/2019 at 1:28 AM, artplanet said:

точнее - прописать мы можем только командой: ip route 0.0.0.0 0.0.0.0 gigabitEthernet 0 track 1

Это типичная ошибка новичков. Раньше IOS вообще не предупреждал и если у провайдера был включен proxy-arp (привет микротоводам-копипастерам) в таблицах ARP и CEF был весь интернет с закономерным превращением роутера в тыкву.

Quote

но в этом случае циска ругается что будет низкая производительность и на деле при попытке открыть какой то ресурс - циска зачем то пытается определить arp запись с удаленным ресурсом, далее запись не определяется

Что значит "зачем-то"? Роутер не телепат, мыслей админа не читает. Если нарисовали маршрут в не-p2p интерфейс, значит это link-local, будет искать хосты по ARP.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now