NAT-Traversal

Тут мы не будем вдаваться в принципы работы NAT-T Передам только суть: за счёт дополнительного UDP-заголовка IPSec может строить туннель сквозь NAT. Это позволяет строить VPN даже на тех узлах, где у вас нет публичного адреса. Нет необходимости этот функционал каким-то особым образом активировать и настраивать – он работает по умолчанию. Усложним схему добавлением ещё одного маршрутизатора в Брно.

Допустим, это провайдерская железка, осуществляющая натирование. То есть фактически на роутере в филиале у нас будет динамический адрес из приватного диапазона на физическом интерфейсе. GRE в чистом виде не может построить VPN при таких условиях, IPSec может, но сложно настраивать. mGRE в связке с IPSec может легко!

Давайте посмотрим как выглядит таблица NHRP в этом случае:

msk-arbat-gw1#show ip nhrp brief Target Via NBMA Mode Intfc Claimed 172.16.254.4/32 172.16.254.4 10.0.0.2 dynamic Tu0 < >

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

На туннельном интерфейсе у нас активирован IPSec, следовательно должны быть карты шифрования:

msk-arbat-gw1#show crypto map Crypto Map «Tunnel0-head-0» 65537 ipsec-isakmp Map is a PROFILE INSTANCE. Peer = 198.51.103.2 Extended IP access list access-list permit gre host 198.51.100.2 host 10.0.0.2 Current peer: 198.51.103.2 Security association lifetime: 4608000 kilobytes/3600 seconds PFS (Y/N): N Transform sets={ AES128-SHA, } Interfaces using crypto map Tunnel0-head-0: Tunnel0

Таким образом шифрованный туннель строится между 198.51.100.2 и 198.51.103.2, дальше, данные по-прежнему шифрованные за счёт NAT-T в туннеле идут до 10.0.0.2. А дальше вы уже знаете.

Толковая подробная статья по NHRP.

Last updated