M:MPLS over GRE

Материал из xapmc.net
Перейти к: навигация, поиск
Задача

Имеются две сети разнесенные географически через Internet и есть желание прокинуть трафик l2, плюс что бы он еще содержал теги или как говорит cisco прокинуть trunk. Подчеркну, что всё оборудование реальное, и две сети находятся в одном городе, разделенные обычным Internet.

Решение

Воспользуемся услугами технологий: VPLS, GRE, OSPF, IPsec, VLAN.

Оборудование, которым мы располагаем
Вендор Модель
1. Mikrotik CCR1036-8G-2S+EM
2. Mikrotik RB2011iL-IN
3. Cisco WS-C2960-TT-L
4. Juniper srx100
5. Juniper ex9208
Схема сети

MPLS-GRE1.png

Настройка srx100

Сделаем порт тегированным, что бы он понимал различные VLAN-s

set interfaces fe-0/0/6 unit 0 family ethernet-switching port-mode trunk
set interfaces fe-0/0/6 unit 0 family ethernet-switching vlan members vlan-trust

Добавим vlan 3

set vlans vlan-trust vlan-id 3

Сделаем порт нетегированным, что бы добавить в него хост.

set interfaces fe-0/0/7 unit 0 family ethernet-switching vlan members vlan-trust

Сохраним и применим конфиг

commit
Настройка cisco 2960

Создадим vlan 3

conf t
vlan 3

Подадим на интерфейс gi0/1 trunk

conf t
interface GigabitEthernet0/1
 switchport trunk allowed vlan 3
 switchport mode trunk
 load-interval 30

Сделаем интерфейс fa0/24 access

conf t
interface FastEthernet0/24
 switchport access vlan 3
 switchport mode access
 load-interval 30
 no cdp enable
 spanning-tree portfast

Для MPLS увеличим MTU на коммутаторе для fast ethernet и gigabit ethernet

conf t
system mtu 1998
system mtu jumbo 1998
Настройка juniper ex9208

Создаем vlan vlan371

set vlans vlan371 vlan-id 371
set vlans vlan371 l3-interface vlan.371

Создаем l3 интерфейс

set interfaces irb unit 371 family inet address x.x.x.x/24

Делаем порт untagged vlan 371. MTU ставим 1550

set interfaces ge-4/0/1 description mikrotik-mpls
set interfaces ge-4/0/1 mtu 1550
set interfaces ge-4/0/1 unit 0 family ethernet-switching interface-mode access
set interfaces ge-4/0/1 unit 0 family ethernet-switching vlan members vlan371

И так мы с вами подготовили трассу для нашей технологии MPLS.

Теперь нам нужно создать : vlan 3, GRE tunnel, OSPF соседство, LDP peers, MPLS interfaces, bridge interfaces, vpls interfaces и как бонус обернем это все IPsec.

И все это мы сделаем на mikrotik.

Настройка Mikrotik RB2011iL-IN

Создадим vlan 3 и повесим его на интерфейс eth6, обращаем внимание на MTU оно должно больше 1500. Поставил 1526

/interface vlan
add interface=ether6 l2mtu=1594 mtu=1526 name=vlan3 vlan-id=3

Сделаем для mpls интерфейса MTU 1526

/mpls interface
set [ find default=yes ] mpls-mtu=1526

Займемся GRE туннелем. Создадим адрес.

/ip address
add address=172.32.1.17/30 interface=gre1 network=172.32.1.16

Создадим GRE интерфейс. 1.1.1.1.1 - Mikrotik RB2011iL-IN. 2.2.2.2 - Mikrotik CCR1036-8G-2S+EM. Делаем MTU 1600

/interface gre
add local-address=1.1.1.1.1 mtu=1600 name=gre1 remote-address=2.2.2.2

Создадим LDP и добавим туда наш GRE интерфейс с названием gre1

/mpls ldp
set enabled=yes lsr-id=172.32.1.17 transport-address=172.32.1.17
/mpls ldp interface
add interface=gre1

Создадим VPLS интерфейс vpls1 и пропишем соседа на той стороне 172.32.1.18. Эти два параметра cisco-style=yes cisco-style-id=5 можно не использовать, идентификация vpls будет через это vpls-id=1:1.

/interface vpls
add advertised-l2mtu=1526 cisco-style=yes cisco-style-id=5 disabled=no l2mtu=1526  name=vpls1 pw-type=tagged-ethernet remote-peer=172.32.1.18 vpls-id=1:1

Создадим bridge интерфейс mpls1 и добавим туда два интерфейса vlan3 и vpls1.

/interface bridge
add name=mpls1 protocol-mode=none
/interface bridge port
add bridge=mpls1 interface=vpls1
add bridge=mpls1 interface=vlan3

Поднимем OSPF и установим соседство. OSPF нужен когда таких mikrotik-ов будет больше двух, то есть можно объединить, к примеру 3 сети в один широковещательный домен. OSPF поднимаем на GRE интерфейсе gre1.

/routing ospf interface
add interface=gre1 network-type=point-to-point
/routing ospf network
add area=backbone network=172.32.1.16/30
Настройка Mikrotik CCR1036-8G-2S+EM

Создадим vlan 3 и повесим его на интерфейс eth3, обращаем внимание на MTU оно должно больше 1500. Поставил 1526

/interface vlan
add interface=ether3 l2mtu=1594 mtu=1526 name=vlan3 vlan-id=3

Сделаем для mpls интерфейса MTU 1526

/mpls interface
set [ find default=yes ] mpls-mtu=1526

Займемся GRE туннелем. Создадим адрес.

/ip address
add address=172.32.1.18/30 interface=gre1 network=172.32.1.16

Создадим GRE интерфейс. 1.1.1.1.1 - Mikrotik RB2011iL-IN. 2.2.2.2 - Mikrotik CCR1036-8G-2S+EM. Делаем MTU 1600

/interface gre
add local-address=2.2.2.2 mtu=1600 name=gre1 remote-address=1.1.1.1

Создадим LDP и добавим туда наш GRE интерфейс с названием gre1

/mpls ldp
set enabled=yes lsr-id=172.32.1.18 transport-address=172.32.1.18
/mpls ldp interface
add interface=gre1

Создадим VPLS интерфейс vpls1 и пропишем соседа на той стороне 172.32.1.17. Эти два параметра cisco-style=yes cisco-style-id=5 можно не использовать, идентификация vpls будет через это vpls-id=1:1.

/interface vpls
add advertised-l2mtu=1526 cisco-style=yes cisco-style-id=5 disabled=no l2mtu=1526  name=vpls1 pw-type=tagged-ethernet remote-peer=172.32.1.17 vpls-id=1:1

Создадим bridge интерфейс mpls1 и добавим туда два интерфейса vlan3 и vpls1.

/interface bridge
add name=mpls1 protocol-mode=none
/interface bridge port
add bridge=mpls1 interface=vpls1
add bridge=mpls1 interface=vlan3

Поднимем OSPF и установим соседство. OSPF нужен когда таких mikrotik-ов будет больше двух, то есть можно объединить, к примеру 3 сети в один широковещательный домен. OSPF поднимаем на GRE интерфейсе gre1.

/routing ospf interface
add interface=gre1 network-type=point-to-point
/routing ospf network
add area=backbone network=172.32.1.16/30

Проверка соединения через ping -s 1500. Запустим с адреса 192.168.33.146

 ifconfig eth0
eth0      Link encap:Ethernet  HWaddr b8:27:eb:89:b4:f3
          inet addr:192.168.33.146  Bcast:192.168.33.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:343971 errors:0 dropped:35790 overruns:0 frame:0
          TX packets:124361 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:35402150 (33.7 MiB)  TX bytes:23765914 (22.6 MiB)

ping -s 1500 192.168.33.145
PING 192.168.33.145 (192.168.33.145) 1500(1528) bytes of data.
1508 bytes from 192.168.33.145: icmp_req=1 ttl=64 time=4.30 ms
1508 bytes from 192.168.33.145: icmp_req=2 ttl=64 time=4.31 ms
1508 bytes from 192.168.33.145: icmp_req=3 ttl=64 time=4.46 ms
1508 bytes from 192.168.33.145: icmp_req=4 ttl=64 time=4.32 ms
1508 bytes from 192.168.33.145: icmp_req=5 ttl=64 time=4.26 ms
^C
--- 192.168.33.145 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 4.263/4.332/4.464/0.099 ms

Как видим ICMP отработал без потерь. Так же мной тестировался сервис www (apache, cacti) и SSH. Все сервисы работают без проблем.

IPsec

И теперь, так как мы используем общую сеть Internet, нам нужно защитить данные от прослушивания. И это мы сделаем с помощью IPsec. Приступим.

Настройка Mikrotik RB2011iL-IN

Сделаем туннель и повесим policy. 1.1.1.1.1 - Mikrotik RB2011iL-IN. 2.2.2.2 - Mikrotik CCR1036-8G-2S+EM.

/ip ipsec proposal
set [ find default=yes ] auth-algorithms=md5 enc-algorithms=aes-128-cbc,twofish
/ip ipsec peer
add address=2.2.2.2/32 nat-traversal=no secret=our_password
/ip ipsec policy
add dst-address=2.2.2.2/32 sa-dst-address=2.2.2.2 sa-src-address=1.1.1.1.1 src-address=1.1.1.1.1/32 tunnel=yes
Настройка Mikrotik CCR1036-8G-2S+EM

Сделаем туннель и повесим policy. 1.1.1.1.1 - Mikrotik RB2011iL-IN. 2.2.2.2 - Mikrotik CCR1036-8G-2S+EM.

/ip ipsec proposal
set [ find default=yes ] auth-algorithms=md5 enc-algorithms=aes-128-cbc,twofish
/ip ipsec peer
add address=1.1.1.1.1/32 nat-traversal=no secret=our_password
/ip ipsec policy
add dst-address=1.1.1.1.1/32 sa-dst-address=1.1.1.1.1 sa-src-address=2.2.2.2 src-address=2.2.2.2/32 tunnel=yes

На этом статья заканчивается. Цель достигнута. Две сети теперь находятся в одном широковещательном домене и так же благодаря тегированному трафику на концах сети, можно использовать другие vlans для своих нужд.