Ест cisco 2911, настроил на ней DMVPN spoke. Так вот она не со всеми spoke строит туннели.
Вот она считает что NBMA адрес для данной сети это адрес хаба, что не правильно. И так с несколькими spoke. Что бы пнуть, чтобы корректно заработало?
Маршрутизация по ospf приходит для сети за роутером 10.10.0.40 правильно через 10.10.0.40, но так как туннель построился не правильно, то соответственно ничего не работает.
То есть надо либо как-то сказать, чтобы туннель пнулся, либо сделать маргрутизацию через HUB для данного филиала.
Будут идеи какие-нибудь?
Для начала как обычно неплохо было бы привести сюда конфигурацию spoke и hub ;)
да не вопрос.
HUB
crypto isakmp policy 100
hash md5
authentication pre-share
group 2
crypto isakmp key cisco address 0.0.0.0 0.0.0.0
crypto ipsec transform-set DMVPNset esp-3des esp-md5-hmac
mode transport
!
crypto ipsec profile DMVPN
set transform-set DMVPNset
interface Tunnel0
description "DMVPN-0"
bandwidth 4096
ip address 10.10.0.8 255.255.255.0
no ip redirects
ip mtu 1400
ip flow ingress
ip flow egress
ip nhrp authentication key
ip nhrp map multicast dynamic
ip nhrp network-id 1
ip nhrp holdtime 300
no ip mroute-cache
ip ospf network broadcast
ip ospf cost 9
ip ospf priority 30
tunnel source GigabitEthernet0/1
tunnel mode gre multipoint
tunnel key 10000
tunnel protection ipsec profile DMVPN shared
end
Spoke:
crypto isakmp policy 100
hash md5
authentication pre-share
group 2
crypto isakmp key cisco address 0.0.0.0 0.0.0.0
crypto ipsec transform-set DMVPNset esp-3des esp-md5-hmac
mode transport
interface Tunnel0
description "DMVPN-0"
bandwidth 4096
ip address 10.10.0.51 255.255.255.0
no ip redirects
ip mtu 1400
ip nhrp authentication key
ip nhrp map multicast 192.xxx.yyy.zzz
ip nhrp map 10.10.0.8 192.xxx.yyy.zzz
ip nhrp network-id 1
ip nhrp holdtime 300
ip nhrp nhs 10.10.0.8
ip ospf network broadcast
ip ospf priority 0
ip ospf cost 9
tunnel source GigabitEthernet0/0
tunnel mode gre multipoint
tunnel key 10000
tunnel protection ipsec profile DMVPN shared
На всех spoke конфиг идентичный, кроме адреса на туннельном интерфейсе. Это конфиг со spoke, который показывается неправильную NBMA в таблице nhrp
да, на всякий случай. У Spoke серый ip и натится он насколько я понял на оборудовании mikrotik, но уже не у нас.
Это конечно с NAT'ом связано. Не должно работать, если оба спока за динамическим NAT. В остальных случаях по идее должно, хотя тут много тонкостей, например, кто из двух споков инициатор, а кто - реципиент. Нужно смотреть для начала на:
show ip nhrp
show dmvpn
show crypto ipsec sa
Для хаба и споков одновременно плюс "show ver" и схема топологии и без купюр (первый байт real IP можно заменить на xxx). Лучше в TAC обратиться.
так все прелесть dmvpn в том, что серый ip можно испрользовать, потому как провайдер не дает. Так бы конечно, перешли на белый и все.
Статику выложу позже, если конечно поможет.
я бы делал от простого к сложному.
я бы убрал тунель протекшн везде и посмотрел как работает.
если работает то уже включал бы.
в вашем случае серый айпи из той же сети. т.е. должны пинговать друг друга и без ната у провайдера.
дело в том, что в 20 филиалах работает и только с двумя проблема. Так что вроде уже некуда идти от простого к сложному.
Так может действительно у вас провайдер фильтрует определенный тип трафика для этих 2х spoke? udp/500, udp/4500 для того, что за nat, udp/500,esp для того что с белым ip проверяйте, причем в сторону spoke-spoke, м.б. между ними в транзитном хопе затаился фильтр.
может быть конечно. Но оно сначала начинает вроде работать, а потом перестает сразу.
А что значит "начинает вроде работать", как Вы это определяете?
Ну это элементарно, Ватсон :).
Хотя конечно я не понимаю. Вот например на ping между двумя spoke
C:\>ping 192.168.25.1 -t
Обмен пакетами с 192.168.25.1 по 32 байт:
Ответ от 192.168.25.1: число байт=32 время=136мс TTL=252
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=91мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=80мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=87мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=82мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=82мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=84мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=99мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=87мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=83мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=82мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=82мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=82мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=83мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=82мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=82мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=134мс TTL=252
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Ответ от 192.168.25.1: число байт=32 время=136мс TTL=252
Превышен интервал ожидания для запроса.
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=82мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=80мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=81мс TTL=253
Ответ от 192.168.25.1: число байт=32 время=82мс TTL=253
Статистика Ping для 192.168.25.1:
Пакетов: отправлено = 56, получено = 41, потеряно = 15 (26% потерь),
Приблизительное время приема-передачи в мс:
Минимальное = 80мсек, Максимальное = 136 мсек, Среднее = 86 мсек
Control-C
И так далее, воде работает и вроде как отваливается. Но это конечно еще хорошо. Еще на одном spoke проходит пакета 4-5 и он просто отваливается и все.
10.10.0.40/32 via 10.10.0.40 Tunnel0 created 00:00:03, expire 00:03:01 Type: dynamic, Flags: used temporary NBMA address: hub-ip
"temporary" действительно означает "посылать все через hub, пока не построится туннель spoke-spoke". А не построится он может по той простой причине, что провайдер использует dynamic NAT (или даже PAT) и тогда трафик должен сначала пройти in->out, чтобы создалась dynamic NAT entry, а до тех пор out->in по определению пройти не может. Если оба спока за таким dynamic NAT, то капец. Все через hub пойдет, если провайдеровский NAT/PAT хотя бы на одной стороне не является статическим и не в состоянии прокинуть UDP/500 и UDP/4500 внутреннему споку.
Я уж не говорю про то, что для поддержки топологий со spoke behind NAT в свое время был переработан NHRP - добавлено NAT extension, чтобы споки знали в какой адрес их натирует провайдер (а говорит им про это хаб, когда подтверждает NHRP Registration Request с помощью NHRP Registration Reply). Плюс обязателен IPsec Transport mode (привлекается NAT-OA Payload в Transport Mode) и два спока не могут натироваться в один и тот же адрес.
Так что все не просто.
так вот за nat'ом один spoke, у второго белый ip. Да и фиг с ним, если бы трафик пошел через HUB, но ведь он не идет, вот что самое плохое.
Инициатор был spoke с серым ip. Статистику команд выложу завтра.
SPOKE1:
10.10.0.8/32 via 10.10.0.8
Tunnel0 created 1w2d, never expire
Type: static, Flags: used
NBMA address: xxx.166.117.6
10.10.0.40/32 via 10.10.0.40
Tunnel0 created 00:02:40, expire 00:00:24
Type: dynamic, Flags: used temporary
10.10.0.51/32 via 10.10.0.51
Tunnel0 created 1d13h, expire 00:04:46
Type: dynamic, Flags: router unique local
NBMA address: 192.168.0.33
(no-socket)
#sh dmvpn
Legend: Attrb --> S - Static, D - Dynamic, I - Incomplete
N - NATed, L - Local, X - No Socket
# Ent --> Number of NHRP entries with same NBMA peer
NHS Status: E --> Expecting Replies, R --> Responding, W --> Waiting
UpDn Time --> Up or Down Time for a Tunnel
==========================================================================
Interface: Tunnel0, IPv4 NHRP Details
Type:Spoke, NHRP Peers:5,
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
2 xxx.166.117.6 10.10.0.8 UP 00:59:49 S
10.10.0.40 UP 00:00:38 D
spoke2
10.10.0.8/32 via 10.10.0.8, Tunnel0 created 6d00h, never expire
Type: static, Flags: authoritative used
NBMA address: xxx.166.117.6
10.10.0.40/32 via 10.10.0.40, Tunnel0 created 2d22h, expire 00:04:57
Type: dynamic, Flags: router authoritative unique local
NBMA address: xxx.151.250.161
(no-socket)
10.10.0.51/32 via 10.10.0.51, Tunnel0 created 01:01:03, expire 00:03:57
Type: dynamic, Flags: router implicit
NBMA address: xxx.50.172.186
show dmvpn - нет такой команды. (Cisco 2811, c2800nm-advsecurityk9-mz.124-10a.bin) Может софт обновить имеет смысл, хотя для данной задачи наверное не важно.
HUB
10.10.0.40/32 via 10.10.0.40
Tunnel0 created 2d22h, expire 00:04:13
Type: dynamic, Flags: unique registered used
NBMA address: xxx.151.250.161
10.10.0.51/32 via 10.10.0.51
Tunnel0 created 2d03h, expire 00:03:29
Type: dynamic, Flags: unique registered
NBMA address: xxx.50.172.186
(Claimed NBMA address: 192.168.0.33)
sh dmvpn
Legend: Attrb --> S - Static, D - Dynamic, I - Incomplete
N - NATed, L - Local, X - No Socket
# Ent --> Number of NHRP entries with same NBMA peer
NHS Status: E --> Expecting Replies, R --> Responding
UpDn Time --> Up or Down Time for a Tunnel
==========================================================================
Interface: Tunnel0, IPv4 NHRP Details
Type:Hub, NHRP Peers:25,
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
1 195.151.250.161 10.10.0.40 UP 2d22h D
1 92.50.172.186 10.10.0.51 UP 2d03h DN
show crypto ipsec sa - что именно показать?