Cisco и MikroTik

Пример гибридного использования маршрутизаторов и коммутаторов Cisco вместе с MikroTik.

Статья не даст ответа что лучше, а проведет параллель настройки.

Рассмотрим симметричную настройку Cisco/MikroTik:

  1. Vlan (Access/Trunk)
    Настроим как на маршрутизаторе, так и на коммутаторе
    Сделаем Vlan управления
  2. GRE
    Настроим резервный туннель через Интернет
  3. IPsec
    Зашифруем GRE
  4. Routing (OSPF/Static)
    Создадим статичный маршрут GRE и запасной OSPF по кабелю
  5. DHCP Server
    Выдадим фиксированные IP
  6. DNS
    Будем DNS сервером в сети
  7. NAT
    Выпустим в Интернет только нужные сети
    Пробросим порт на внутренний сервер
  8. Поставим пароли

Схема сети

Симметричная схема двух офисов с чередованием оборудования в EVE-NG

Планирование Vlan

  1. Vlan10 — сеть серверов (Static)
    Верхний офис 10.1.10.0/24
    Нижний офис 10.0.10.0/24
  2. Vlan20 — сеть управления (Static)
    Верхний офис 10.1.20.0/24
    Нижний офис 10.0.20.0/24
  3. Vlan30 — сеть ПК (DHCP Server)
    Верхний офис 10.1.20.0/24
    Нижний офис 10.0.20.0/24

Роли оборудования

  1. GW_MT и GW_iOS — Маршрутизаторы MikroTik и Cisco
  2. SW_MT_1 и SW_iOS_1 — Магистральные коммутаторы MikroTik и Cisco
  3. SW_MT_2 и SW_iOS_2 — Коммутаторы доступа MikroTik и Cisco
  4. Server_Vlan10 — Пример подключения сервера к магистральному коммутатору
  5. PC_Vlan30 — Пример подключения ПК на коммутатор уровня доступа

Базовая настройка маршрутизаторов

Настройка Vlan

  1. Vlan10 — 10.x.10.1/24
  2. Vlan20 — 10.x.20.1/24
  3. Vlan30 — 10.x.30.1/24

MikroTik

Создаем Bridge1
/interface bridge
add name=bridge1
Добавляем в него ether3
/interface bridge port
add bridge=bridge1 interface=ether3
Вешаем на Bridge1 наши Vlan
/interface vlan
add interface=bridge1 name=Vlan10-SRV vlan-id=10
add interface=bridge1 name=Vlan20-MGMT vlan-id=20
add interface=bridge1 name=Vlan30-PC vlan-id=30
Вешаем адреса на Vlan’ы
/ip address
add address=10.0.10.1/24 interface=Vlan10-SRV network=10.0.10.0
add address=10.0.20.1/24 interface=Vlan20-MGMT network=10.0.20.0
add address=10.0.30.1/24 interface=Vlan30-PC network=10.0.30.0

Cisco

interface GigabitEthernet0/2.10
 description SRV
 encapsulation dot1Q 10
 ip address 10.1.10.1 255.255.255.0
!
interface GigabitEthernet0/2.20
 description MGMT

 ip address 10.1.20.1 255.255.255.0
!
interface GigabitEthernet0/2.30
 description PC
 encapsulation dot1Q 30
 ip address 10.1.30.1 255.255.255.0
!

Настройка WAN

IP будем получать по DHCP. Но почти всегда используется статика. Рассмотрим оба варианта.

MikroTik

DHCP Client
Получаем IP автоматически с созданием маршрута по умолчанию
Static
Либо добавляем статичный адрес
Не забыв указать маршрут по умолчанию

Cisco

DHCP Client
interface GigabitEthernet0/0
 ip address dhcp
!
Static
interface GigabitEthernet0/0
 ip address 10.254.251.201 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.254.251.1

Настройка NAT

NAT будет на все сети

MikroTik

Весь трафик, исходящий из сети 10.x.x0.0/24 в порт ether1 — делаем частное правило NAT — Masquerade
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1 src-address=10.0.10.0/24
add action=masquerade chain=srcnat out-interface=ether1 src-address=10.0.20.0/24
add action=masquerade chain=srcnat out-interface=ether1 src-address=10.0.30.0/24
При статичном адресе мы будем использовать src-nat вместо Masquerade
/ip firewall nat
add action=src-nat chain=srcnat out-interface=ether1 src-address=10.0.10.0/24 to-addresses=10.254.251.202
add action=src-nat chain=srcnat out-interface=ether1 src-address=10.0.20.0/24 to-addresses=10.254.251.202
add action=src-nat chain=srcnat out-interface=ether1 src-address=10.0.30.0/24 to-addresses=10.254.251.202

Cisco

Объявим, какие интерфейсы являются «входными» и «выходными»:

Интерфейс Gi0/0 является выходным за NAT:

interface GigabitEthernet0/0
 ip nat outside
!

Субинтерфейсы Gig0/2.X являются входными в NAT

interface GigabitEthernet0/2.10
 ip nat inside
!
interface GigabitEthernet0/2.20
 ip nat inside
!
interface GigabitEthernet0/2.30
 ip nat inside
!

Определим, какие сети NAT’им:

Используется Wildcard маска — из 255.255.255.255 вычитается 255.255.255.0

ip access-list standard NAT_Vlan10
 permit 10.1.10.0 0.0.0.255
ip access-list standard NAT_Vlan20
 permit 10.1.20.0 0.0.0.255
ip access-list standard NAT_Vlan30
 permit 10.1.30.0 0.0.0.255

Настроим NAT:

ip nat inside source list NAT_Vlan10 interface GigabitEthernet0/0 overload
ip nat inside source list NAT_Vlan20 interface GigabitEthernet0/0 overload
ip nat inside source list NAT_Vlan30 interface GigabitEthernet0/0 overload

Настройка DHCP Server

MikroTik

Выделяем пул адресов
/ip pool
add name=dhcp_pool0 ranges=10.0.30.2-10.0.30.254
Создаем dhcp на Vlan30
/ip dhcp-server
add address-pool=dhcp_pool0 disabled=no interface=Vlan30-PC name=dhcp1
Выдаем опцией шлюз и DNS
/ip dhcp-server network
add address=10.0.30.0/24 dns-server=10.0.30.1 gateway=10.0.30.1
Фиксируем IP адрес у клиента (мак адрес нам известен заранее)
/ip dhcp-server lease
add address=10.0.30.50 client-id=1:50:1:0:9:0:0 mac-address=50:01:00:09:00:00 server=dhcp1

Cisco

Создадим пул адресов

ip dhcp pool Vlan30
 network 10.1.30.0 255.255.255.0
 default-router 10.1.30.1
 dns-server 10.1.30.1

Сделаем исключение IP адреса маршрутизатора

ip dhcp excluded-address 10.1.30.1 10.1.30.10

Зафиксируем IP адрес у клиента через создание отдельного пула (мак адрес нам известен заранее)


ip dhcp pool Vlan30_PC
 host 10.1.30.50 255.255.255.0
 client-identifier 0150.0100.0a00.00
 client-name PC1

Настройка магистральных коммутаторов

Это может быть и L3 коммутатор, который будет выполнять роль маршрутизации и отдавать сети по OSPF. Но мы не будем так сильно заморачиваться.

Скриншотов MikroTik не будет, за подробной настройкой лучше перейти в статью:

MikroTik

Создаем bridge1, который принимает только vlan кадры, и активируем настройку vlan-filtering

/interface bridge
add frame-types=admit-only-vlan-tagged name=bridge1 vlan-filtering=yes

Создаем Vlan20 управления

/interface vlan
add interface=bridge1 name=Vlan20-MGMT vlan-id=20

Вешаем на него IP адрес

/ip address
add address=10.1.20.2/24 interface=Vlan20-MGMT network=10.1.20.0

Добавляем в bridge1 порты с обозначением их типов и Vlan
ether1-2 пропускают только тэгированный трафик, а ether3 является портом доступа с Vlan10

/interface bridge port
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=ether1
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=ether2
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether3 pvid=10

Объявляем, какие Vlan пропускают порты
Vlan20 является управляющим, поэтому участвует bridge1

/interface bridge vlan
add bridge=bridge1 tagged=bridge1,ether1,ether2 vlan-ids=20
add bridge=bridge1 tagged=ether1,ether2 vlan-ids=30,10

Cisco

Порты Gi0/0-1 являются Trunk и пропускают только Vlan

interface range GigabitEthernet0/0-1
 switchport trunk allowed vlan 10,20,30
 switchport trunk encapsulation dot1q
 switchport mode trunk

Порт Gi0/2 является Access с Vlan10

interface GigabitEthernet0/2
 switchport access vlan 10
 switchport mode access

Вешаем на управляющий Vlan20 адрес

interface Vlan20
 description MGMT
 ip address 10.0.20.2 255.255.255.0

Настройка коммутаторов уровня доступа

Могут быть самыми простыми управляемыми коммутаторами. Часто вижу, когда приобретают гигабитные дорогие коммутаторы и гигабитная скорость срезается IP телефоном.

Настройка аналогична магистральному коммутатору

MikroTik

/interface bridge
add name=Bridge1 vlan-filtering=yes
/interface vlan
add interface=Bridge1 name=MGMT vlan-id=20
add interface=Bridge1 name=vlan10 vlan-id=10
add interface=Bridge1 name=vlan30 vlan-id=30

/interface bridge port
add bridge=Bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether2 pvid=30
add bridge=Bridge1 frame-types=admit-only-vlan-tagged interface=ether1
/interface bridge vlan
add bridge=Bridge1 tagged=Bridge1,ether1 vlan-ids=20
add bridge=Bridge1 tagged=ether1 vlan-ids=10
add bridge=Bridge1 tagged=ether1 vlan-ids=30
/ip address
add address=10.0.20.3/24 interface=MGMT network=10.0.20.0

Cisco

interface GigabitEthernet0/0
 switchport trunk allowed vlan 10,20,30
 switchport trunk encapsulation dot1q
 switchport mode trunk
!
interface GigabitEthernet0/1
 switchport access vlan 30
 switchport mode access
!
interface Vlan20
 ip address 10.1.20.3 255.255.255.0
!

Настройка GRE между офисами

MikroTik

Создаем GRE
/interface gre
add allow-fast-path=no keepalive=2s,2 local-address=10.254.251.202 mtu=1400 name=gre-iOS remote-address=10.254.251.201
Вешаем IP
/ip address
add address=172.31.255.5/30 interface=gre-iOS network=172.31.255.4

Cisco

Создаем Tunnel1 и в нем же указываем адресацию

interface Tunnel1
 description gre-MT
 ip address 172.31.255.6 255.255.255.252
 ip mtu 1400
 ip tcp adjust-mss 1360
 ip ospf network point-to-point
 ip ospf cost 10
 tunnel source 10.254.251.201
 tunnel destination 10.254.251.202

Шифруем GRE

MikroTik

Создаем профиль 1 фазы
/ip ipsec profile
add hash-algorithm=md5 name=ph_1
На его основе создаем пира
/ip ipsec peer
add address=10.254.251.201/32 local-address=10.254.251.202 name=peer profile=ph_1
Создаем профиль 2 фазы
/ip ipsec proposal
add auth-algorithms=md5 enc-algorithms=aes-256-cbc,aes-192-cbc,aes-128-cbc,3des name=ph_2
Настраиваем идентификацию пира
/ip ipsec identity
add peer=GRE secret=1q2w3e4r
Настраиваем политику шифрования GRE (47)
С указанием профиля и полного шифрования esp

/ip ipsec policy
add dst-address=10.254.251.201/32 peer=GRE proposal=ph_2 protocol=gre src-address=10.254.251.202/32

Cisco

Соберем шифрование


ip access-list extended GRE-IPsec
 permit gre host 10.254.251.201 host 10.254.251.202
!
crypto isakmp policy 20
 encr 3des
 hash md5
 authentication pre-share
 group 2
crypto isakmp key 1q2w3e4r address 10.254.251.202
crypto isakmp keepalive 30
!
!
crypto ipsec transform-set transform-2 esp-3des esp-md5-hmac
 mode transport


!
crypto dynamic-map dynmap 10
 set transform-set transform-2
 reverse-route
!
crypto map GRE-Map 93 ipsec-isakmp
 description MT
 set peer 10.254.251.202
 set security-association lifetime seconds 86400
 set transform-set transform-2
 set pfs group2
 match address GRE-IPsec

Применим на исходящий интерфейс

interface GigabitEthernet0/0
 crypto map GRE-Map

Помимо GRE имеется проводной или радиорелейный канал, который можно использовать как основной:

/ip address
add address=172.31.255.2/30 interface=ether2 network=172.31.255.0
interface GigabitEthernet0/1
 ip address 172.31.255.1 255.255.255.252
!

Настройка OSPF

MikroTik

Объявляем сети
/routing ospf network
add area=backbone network=172.31.255.4/30
add area=backbone network=10.0.20.0/24
add area=backbone network=10.0.30.0/24
add area=backbone network=10.0.10.0/24
add area=backbone network=172.31.255.0/30
Инстанс по умолчанию 0.0.0.0
Задаем параметры интерфейсам
/routing ospf interface
add interface=Vlan30-PC network-type=broadcast passive=yes
add interface=Vlan20-MGMT network-type=broadcast passive=yes
add interface=Vlan10-SRV network-type=broadcast passive=yes
add cost=5 interface=ether2 network-type=point-to-point

Объявляем у проводного канала приоритет больше, чем у GRE: cost=5 и делаем остальные интерфейсы пассивными. Включаем p-t-p

Cisco

Аналогично объявляем сети и пассивные интерфейсы:

router ospf 1
 passive-interface GigabitEthernet0/0
 passive-interface GigabitEthernet0/2.10
 passive-interface GigabitEthernet0/2.20
 passive-interface GigabitEthernet0/2.30
 network 10.1.10.0 0.0.0.255 area 0.0.0.0
 network 10.1.20.0 0.0.0.255 area 0.0.0.0
 network 10.1.30.0 0.0.0.255 area 0.0.0.0
 network 172.31.255.0 0.0.0.3 area 0.0.0.0
 network 172.31.255.4 0.0.0.3 area 0.0.0.0

И указываем приоритеты в настройках интерфейса:

interface GigabitEthernet0/1
 ip ospf network point-to-point
 ip ospf cost 5
interface Tunnel1
 ip ospf cost 10

Теперь при отключении провода трафик пойдет по GRE

Статические маршруты

Если нужно указать маршрут статически, то нужно учесть, что дистанция OSPF по умолчанию 110, значит запасной маршрут должен быть минимум 111

ip route 10.0.30.0 255.255.255.0 172.31.255.2 111
/ip route
add distance=111 dst-address=10.1.30.0/24 gateway=172.31.255.1

Настройка DNS

MikroTik

/ip dns
set allow-remote-requests=yes servers=8.8.8.8

Cisco

ip name-server 8.8.8.8
ip dns server

Проброс порта

Пробросим tcp 80 порт на сервер

MikroTik

Ловим tcp:81 на ether1
И отправляем на 80 порт
/ip firewall nat

add action=dst-nat chain=dstnat dst-port=81 in-interface=ether1 protocol=tcp to-addresses=10.0.10.2 to-ports=80

Cisco

ip nat inside source static tcp 10.1.10.2 80 10.254.251.202 81 extendable

Защита

Нужно поставить пароли и ограничить лишние интерфейсы настройки.

MikroTik

Вход по SSH и WinBox
/ip service
set telnet disabled=yes
set ftp disabled=yes
set api disabled=yes
set api-ssl disabled=yes
И поставить пароль/добавить пользователя

Cisco

Зададим доменное имя и сгенерируем RSA ключ:

ip domain name GW-iOS.ru
crypto key generate rsa encryption modulus 1024

Включим шифрование паролей и локальную авторизацию

service password-encryption
aaa new-model

Добавим пользователя:

username user secret 1q2w3e4r

Включим пароль на привилегированный режим

enable secret 1q2w3e4r

Включим пароли на линиях и удаленное подключение разрешим только SSH

line console 0
password 1q2w3e4r

line aux 0
password 1q2w3e4r

line vty 0 4
password 1q2w3e4r
transport input ssh

Выводы

Каждый делает свои 🙂