Skip to content

Instantly share code, notes, and snippets.

@yugoslavskiy
Last active January 3, 2017 17:03
Show Gist options
  • Save yugoslavskiy/b61ac491ebb69e9de16fa2def1ed028c to your computer and use it in GitHub Desktop.
Save yugoslavskiy/b61ac491ebb69e9de16fa2def1ed028c to your computer and use it in GitHub Desktop.
Symanitron S300: Рабочая конфигурация DMVPN Phase I с двумя каналами связи (3G и витая пара) с отказоустойчивостью посредством OSPF.

Symanitron S300 DMVPN

created date: 19.01.2015
author: @yugoslavskiy

Description

Рабочая конфигурация DMVPN Phase I с двумя каналами связи (3G и витая пара) с отказоустойчивостью посредством OSPF.

Network scheme

           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

Full config

Хосты

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 друг на друга (по серым адресам).

Spoke

!
! --- настройка физического интерфейса
!
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
!

Hub

!
! --- настройка физического интерфейса
!
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

Tshoot

Убедиться что белые ip-адреса (динамически присвоенные) доступны (пингуются) из интернета.
Послать трафик с хостов друг на друга (на серые адреса).

!
! —-- Spoke
!
show vlan
router interface show
cellular show
cellular wan show
cellular connection show
ipsec show
!
! --- Hub
!
show vlan
router interface show
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment