Пример гибридного использования маршрутизаторов и коммутаторов Cisco вместе с MikroTik.
Статья не даст ответа что лучше, но проведет параллель настройки.
Профессиональная настройка MikroTik
Без предоплаты
Telegram: @Engineer_MikroTik
Рассмотрим симметричную настройку Cisco/MikroTik:
- Vlan (Access/Trunk)
Настроим как на маршрутизаторе, так и на коммутаторе
Сделаем Vlan управления - GRE
Настроим резервный туннель через Интернет - IPsec
Зашифруем GRE - Routing (OSPF/Static)
Создадим статичный маршрут GRE и запасной OSPF по кабелю - DHCP Server
Выдадим фиксированные IP - DNS
Будем DNS сервером в сети - NAT
Выпустим в Интернет только нужные сети
Пробросим порт на внутренний сервер - Поставим пароли
Схема сети
Планирование Vlan
- Vlan10 — сеть серверов (Static)
Верхний офис 10.1.10.0/24
Нижний офис 10.0.10.0/24 - Vlan20 — сеть управления (Static)
Верхний офис 10.1.20.0/24
Нижний офис 10.0.20.0/24 - Vlan30 — сеть ПК (DHCP Server)
Верхний офис 10.1.20.0/24
Нижний офис 10.0.20.0/24
Роли оборудования
- GW_MT и GW_iOS — Маршрутизаторы MikroTik и Cisco
- SW_MT_1 и SW_iOS_1 — Магистральные коммутаторы MikroTik и Cisco
- SW_MT_2 и SW_iOS_2 — Коммутаторы доступа MikroTik и Cisco
- Server_Vlan10 — Пример подключения сервера к магистральному коммутатору
- PC_Vlan30 — Пример подключения ПК на коммутатор уровня доступа
Базовая настройка маршрутизаторов
Настройка Vlan
- Vlan10 — 10.x.10.1/24
- Vlan20 — 10.x.20.1/24
- Vlan30 — 10.x.30.1/24
MikroTik
/interface bridge
add name=bridge1
/interface bridge port
add bridge=bridge1 interface=ether3
/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
/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
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
/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
/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
/ip dhcp-server
add address-pool=dhcp_pool0 disabled=no interface=Vlan30-PC name=dhcp1
/ip dhcp-server network
add address=10.0.30.0/24 dns-server=10.0.30.1 gateway=10.0.30.1
/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
/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 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
/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
/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
/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
/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
/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
/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
Выводы
Каждый делает свои 🙂