created date: 19.01.2015
author: @yugoslavskiy
Рабочая конфигурация DMVPN Phase I с двумя каналами связи (3G и витая пара) с отказоустойчивостью посредством OSPF.
Spoke Hub
3G
+---------+------------------+ __ __ __ __ __ __ +------------------+---------+
| S-300 | ppp0 (sim) | / \ / \ / \ / \ / \ / \ | ppp0 (sim) | S-300 |
| | dynamic ip |\_/ \_/ \_/ \_/ \_/ \_/ \| dynamic ip | |
| +------------------+ +------------------+ |
| | mgre1 | | mgre1 | |
| | 10.10.10.20/24 | | 10.10.10.10/24 | |
| +------------------+ +------------------+ |
| | gig 0/3 | | gig 0/3 | |
| | 172.18.20.30/24 | -----------------{ tp }------------------ | 172.18.20.20/24 | |
| +------------------+ +------------------+ |
| | mgre2 | | mgre2 | |
| | 10.200.10.20/24 | | 10.200.10.10/24 | |
| +------------------+ +------------------+ |
| | router interface | | router interface | |
| | 192.168.40.10/24 | | 192.168.10.10/24 | |
| | vlan 40 | | vlan 10 | |
| +------------------+ +------------------+ |
| | fa 0/1 | | fa 0/1 | |
| | 192.168.40.1/24 | --+ +-- | 192.168.10.1/24 | |
| | vlan 40 | | | | vlan 10 | |
+---------+------------------+ | | +------------------+---------+
| |
+--------{ tp }-----+ +----{ tp }----+
| |
+----+----+ +----+----+
| Host 2 | | Host 1 |
+---------+ +---------+
ip: 192.168.40.20/24 ip: 192.168.10.20/24
gw: 192.168.40.10 gw: 192.168.10.10
Host 1 (за Hub):
- коммутируем в порт fa 0/1 Hub
- ip: 192.168.10.20/24
- gw: 192.168.10.10
Host 2 (за Spoke):
- коммутируем в порт fa 0/1 Spoke
- ip: 192.168.40.20/24
- gw: 192.168.40.10
Отключить firewall на время проверки работы туннелей.
Запустить ping друг на друга (по серым адресам).
!
! --- настройка физического интерфейса
!
delete startup-cfg
reload
!
config
vlan 40
ports fastethernet 0/1 gigabitethernet 0/3 untagged fastethernet 0/1
exit
!
interface fastethernet 0/1
switchport pvid 40
exit
!
interface vlan 40
shutdown
ip address 192.168.40.1 255.255.255.0
no shut
exit
!
vlan 30
ports fastethernet 0/8 gigabitethernet 0/3 untagged fastethernet 0/8
exit
!
interface fastethernet 0/8
switchport pvid 30
exit
!
ip route 0.0.0.0 0.0.0.0 192.168.40.10 1
end
!
app con
cellular wan update admin-status enable apn-name static.beeline.ru sim-slot 1 operator-name beeline user-name beeline password beeline
cellular wan update admin-status enable apn-name static.beeline.ru sim-slot 2 operator-name beeline user-name beeline password beeline
cellular disable
cellular modem power-up
cellular enable
cellular wan show
cellular network show
cellular connection show
!
! --- будет гнать, мол: cellular interface does not exists
! --- не верить и отчаянно ждать пока оно заведется
! --- обычно выдает тонну логов в течение 2х минут и заводится
! --- на этом этапе остается только курить бамбук и молиться
!
! --- итак, интерфейс завелся и получил адрес:
!
cellular connection show
+-----------+-------------+---------+--------+----------+--------+
| interface | local ip | tx | tx | rx | rx |
| | | packet | error | packets | error |
+===========+=============+=========+========+==========+========+
| ppp0 | 89.113.6.81 | 6 | 0 | 5 | 0 |
+-----------+-------------+---------+--------+----------+--------+
!
cellular settings update quality-check 0
cellular settings update default-route yes
commit
!
! --- создадим интерфейс для связи с локальной сетью
!
app con
!
router interface create address-prefix 192.168.40.10/24 vlan 40 purpose application-host
!
router interface create address-prefix 172.18.20.30/24 vlan 30 purpose general
!
commit
!
! --- настройка DMVPN
!
dm-vpn multipoint-gre create address-prefix 10.10.10.20/24 lower-layer-dev ppp0 name mgre1 key 10.0.0.0 holding-time 120
!
dm-vpn multipoint-gre create address-prefix 10.200.10.20/24 lower-layer-dev eth1.30 name mgre2 key 20.0.0.0 holding-time 120
!
commit
!
! --- статическая NHRP-запись, которой мы объявляем соответствие
! --- белого ip-адреса Hub туннельному ip-адресу Hub
!
dm-vpn nhrp map create multipoint-gre-name mgre1 protocol-address-prefix 10.10.10.10/24 nbma-address 89.113.6.82
!
dm-vpn nhrp map create multipoint-gre-name mgre2 protocol-address-prefix 10.200.10.10/24 nbma-address 172.18.20.20
!
commit
!
dm-vpn nhrp enable
!
commit
!
! --- заруливание трафика в туннель GRE
!
application connect
router ospf enable
configure terminal
!
interface mgre1
ip ospf priority 0
ip ospf mtu-ignore
ip ospf cost 20
exit
!
interface mgre2
ip ospf mtu-ignore
ip ospf cost 10
exit
!
router ospf
router-id 10.10.10.20
network 10.10.10.0/24 area 0.0.0.0
network 10.200.10.0/24 area 0.0.0.0
network 192.168.40.0/24 area 0.0.0.0
write mem
end
exit
commit
!
! --- настройка IPsec
!
application connect
ipsec isakmp update my-id RTU1.Symanitron.com
ipsec preshared create id PC.Symanitron.com key secretkey
ipsec preshared create id RTU1.Symanitron.com key secretkey
ipsec isakmp update id-type fqdn
ipsec policy create protocol gre
ipsec enable
commit
exit
!
!
! --- настройка физического интерфейса
!
delete startup-cfg
reload
!
config
vlan 10
ports fastethernet 0/1 gigabitethernet 0/3 untagged fastethernet 0/1
exit
!
interface fastethernet 0/1
switchport pvid 10
exit
!
interface vlan 10
shutdown
ip address 192.168.10.1 255.255.255.0
no shut
exit
!
vlan 20
ports fastethernet 0/8 gigabitethernet 0/3 untagged fastethernet 0/8
exit
!
interface fastethernet 0/8
switchport pvid 20
exit
!
ip route 0.0.0.0 0.0.0.0 192.168.10.10 1
end
write startup-cfg
!
! --- sim-ки
!
app con
cellular wan update admin-status enable apn-name static.beeline.ru sim-slot 1 operator-name beeline user-name beeline password beeline
cellular wan update admin-status enable apn-name static.beeline.ru sim-slot 2 operator-name beeline user-name beeline password beeline
cellular disable
cellular modem power-up
cellular enable
cellular wan show
cellular network show
cellular connection show
!
! --- будет гнать, мол: cellular interface does not exists
! --- не верить и отчаянно ждать пока оно заведется
! --- обычно выдает тонну логов в течение 2х минут и заводится
! --- на этом этапе остается только курить бамбук и молиться
!
! --- итак, интерфейс завелся и получил адрес:
!
cellular connection show
+-----------+-------------+---------+--------+----------+--------+
| interface | local ip | tx | tx | rx | rx |
| | | packet | error | packets | error |
+===========+=============+=========+========+==========+========+
| ppp0 | 89.113.6.82 | 6 | 0 | 6 | 0 |
+-----------+-------------+---------+--------+----------+--------+
!
cellular settings update quality-check 0
cellular settings update default-route yes
commit
!
! --- создадим интерфейс для связи с локальной сетью
!
app con
!
router interface create address-prefix 192.168.10.10/24 vlan 10 purpose application-host
!
router interface create address-prefix 172.18.20.20/24 vlan 20 purpose general
!
commit
!
! --- настройка DMVPN
!
dm-vpn multipoint-gre create address-prefix 10.10.10.10/24 lower-layer-dev ppp0 name mgre1 key 10.0.0.0 holding-time 120
!
dm-vpn multipoint-gre create address-prefix 10.200.10.10/24 lower-layer-dev eth1.20 name mgre2 key 20.0.0.0 holding-time 120
!
commit
!
dm-vpn nhrp enable
!
commit
!
! --- динамическая маршрутизация, балансировка между двумя каналами
!
app con
router ospf
enable
configure terminal
!
interface mgre1
ip ospf mtu-ignore
ip ospf cost 20
exit
!
interface mgre2
ip ospf mtu-ignore
ip ospf cost 10
exit
!
router ospf
router-id 10.10.10.10
network 10.10.10.0/24 area 0.0.0.0
network 10.200.10.0/24 area 0.0.0.0
network 192.168.10.0/24 area 0.0.0.0
write
end
exit
commit
!
! --- настройка IPsec
!
application connect
ipsec isakmp update my-id PC.Symanitron.com
ipsec preshared create id PC.Symanitron.com key secretkey
ipsec preshared create id RTU1.Symanitron.com key secretkey
ipsec isakmp update id-type fqdn
ipsec policy create protocol gre
ipsec enable
commit
exit
write startup-cfg
Убедиться что белые ip-адреса (динамически присвоенные) доступны (пингуются) из интернета.
Послать трафик с хостов друг на друга (на серые адреса).
!
! —-- Spoke
!
show vlan
router interface show
cellular show
cellular wan show
cellular connection show
ipsec show
!
! --- Hub
!
show vlan
router interface show