MikroTik настройка офис-филиал. Часть 2: Филиал

. Просмотров: 5107

Рейтинг:  4 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда не активна
 

Часть 2, Настройка MikroTik в филиале с использованием двух каналов интернет, рекурсивной маршрутизацией, ospf и VPN.

Начало: Часть 1: Офис

Напомню нашу схему сети.

схема сети

Есть центральный офис с стабильным каналом, и филиал с не очень стабильным интернет-каналом и запасным через USB LTE модем.
Для большей безопасности используем VPN тунели (l2tp для основного и sstp для резервного).
Для надежности используем два канала с отказоустойчивостью (если один канал не работает, автоматически переключаемся на второй), рекурсивной маршрутизацией и ospf.

Настройка MikroTik в филиале.

К маршрутизатору в первый порт подключаем интернет, второй к компьютеру для настройки. Подключаем USB модем.
Запускаем Winbox, подключаемся к маршрутизатору и сбрасываем настройки.
Если не знаете как это сделать - вот подробная инструкция.

Переподключаемся и открываем New Terminal.

После перезагрузки первым делом устанавливаем пароль для admin

/user set admin password=ВашПароль

 Указываем имя для маршрутизатора

/system identity set name="Filial01"


Настраиваем интерфейсы

В первый порт подключаем первый канал интернета.

/interface ethernet set [ find default-name=ether1 ] name=ether1-wan comment=isp1

 

Остальные в локальную сеть. Второй за главного.

/interface ethernet set [ find default-name=ether2 ] name=ether2-master-local
/interface ethernet set [ find default-name=ether3 ] master-port=ether2-master-local name=ether3-slave-local
/interface ethernet set [ find default-name=ether4 ] master-port=ether2-master-local name=ether4-slave-local
/interface ethernet set [ find default-name=ether5 ] master-port=ether2-master-local name=ether5-slave-local

 

Настройка локальной сети

Создаем мост, чтобы можно было в маршрутизаторе использовать остальные порты для подключения компьютеров к локальной сети.
Вводим по одной строке. После этой команды Winbox может отключитсья от маршрутизатора. Переподключитесь.

 /interface bridge add name=bridge-local auto-mac=no protocol-mode=rstp admin-mac=[/interface ethernet get ether2-master-local mac-address]

 

продолжаем

/interface bridge port add bridge=bridge-local interface=ether2-master-local
/ip address add address=192.168.1.1/24 interface=bridge-local network=192.168.1.0

Создаем пул-адресов для локальной сети и настраиваем DHCP сервер, чтобы компьютеры в локальной сети получали адрес автоматически.

/ip pool add name=pool-lan ranges=192.168.1.11-192.168.1.99
/ip dhcp-server add address-pool=pool-lan disabled=no interface=bridge-local name=dhcp-lan
/ip dhcp-server network add address=192.168.1.0/24 dns-server=192.168.1.1 gateway=192.168.1.1

Настраиваем DNS. Я использую DNS сервера Яндекса, Безопасный. 

/ip dns set allow-remote-requests=yes servers=77.88.8.88,77.88.8.2

Создадим статическую запись для маршрутизатора.

/ip dns static add address=192.168.1.1 name=router1

 

Подключение к интернет

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

/ip address add address=172.16.0.64/24 interface=ether1-wan
/ip firewall nat add action=masquerade chain=srcnat out-interface=ether1-wan

Второе, резервное, подключение у нас через USB LTE модем. Обычно модем выдает автоматически настройки в сети 192.168.8.0/24 (обязательно проверьте), но чтобы не заморачиваться с динамическими настройками укажем ip-адрес в ручную, и также настроим маскарадинг для этого интерфейса.

/interface lte set [find name=lte1] name=usb-wan2 comment=isp2
/ip address add address=192.168.8.2/24 interface=usb-wan2
/ip firewall nat add action=masquerade chain=srcnat out-interface=usb-wan2

Настраиваем рекурсивную маршрутизацию, чтобы в случае проблем с основным каналом использовался запасной

/ip route add dst-address=8.8.8.8 gateway=172.16.0.1 distance=1 scope=30
/ip route add dst-address=8.8.4.4 gateway=192.168.8.1 distance=1 scope=30
/ip route add dst-address=0.0.0.0/0 gateway=8.8.8.8 distance=1 check-gateway=ping target-scope=30
/ip route add dst-address=0.0.0.0/0 gateway=8.8.4.4 distance=2 check-gateway=ping target-scope=30

 

Подключение туннелей

У нас будет два туннеля к центральному офису.
l2tp пойдет через первый интернет канал, а sstp через второй. Т.к. ip адрес сервера, с которым устанавливаем туннель один, то необходимо немного пошаманить, а именно промаркировать соединения для каждого канала отдельно.

/ip firewall mangle add action=mark-connection chain=output comment=l2tp_c_udp dst-port=1701 new-connection-mark=l2tp_c passthrough=yes protocol=udp
/ip firewall mangle add action=mark-routing chain=output comment=l2tp_r connection-mark=l2tp_c new-routing-mark=isp1only passthrough=no
/ip firewall mangle add action=mark-connection chain=output comment=sstp_c dst-port=443 new-connection-mark=sstp_c passthrough=yes protocol=tcp
/ip firewall mangle add action=mark-routing chain=output comment=sstp_r connection-mark=sstp_c new-routing-mark=isp2only passthrough=no

И укажем принудительно маршрутизацию:

/ip route add distance=1 gateway=172.16.0.1 routing-mark=isp1only
/ip route add distance=1 gateway=192.168.8.1 routing-mark=isp2only

Не забываем установить заглушку, на тот случай, если один из каналов отвалится, и трафик не пошел через второй.

/ip route add distance=2 routing-mark=isp1only type=unreachable
/ip route add distance=2 routing-mark=isp2only type=unreachable

Создаем сами туннели.

/interface l2tp-client add connect-to=1.2.3.4 disabled=no name=l2tp-out1 password=password1 user=l2tp-01
/interface sstp-client add connect-to=1.2.3.4 disabled=no name=sstp-out1 password=password1 user=sstp-01

 На центральном маршрутизаторе, если открыть туннели, то видно что они с разных адресов идут.
туннели в филиале

 

Настройка файервола

input - входящие на маршрутизатор соединения

Со стороны офиса по тунелям разрешаем полный доступ. Чтобы легче было управлять, ограничения лучше настроить на центральном маршрутизаторе.

/ip firewall filter add action=accept chain=input in-interface=l2tp-out1
/ip firewall filter add action=accept chain=input in-interface=sstp-out1

Разрешаем пинги маршрутизатора

/ip firewall filter add chain=input action=accept protocol=icmp comment="Allow icmp"

Разрешаем прохождение трафика для уже установленных соединений

/ip firewall filter add chain=input action=accept connection-state=established,related comment="Allow established & related"

Разрешаем обращение к DNS серверу на маршрутизаторе из локальной сети

/ip firewall filter add chain=input action=accept dst-port=53 in-interface=bridge-local protocol=udp comment="Allow dns request from LAN"

Создаем список адресов ManageIP. В нем указываем адреса с которых хотим иметь доступ к машрутизатору.
Добавляю локальную сеть филиала

/ip firewall address-list add address=192.168.1.0/24 list=AdminIP

И локальную сеть центрального офиса

/ip firewall address-list add address=192.168.0.0/24 list=AdminIP

Разрешаем доступ к маршрутизатору с адресов в списке AdminIP.

/ip firewall filter add chain=input action=accept src-address-list=AdminIP comment="Allow access for AdminIP group"

Все остальное запрещаем

/ip firewall filter add chain=input action=drop comment="All other drop"

forward - соединения проходящие через маршрутизатор

Трафик между офисом и филиалом разрешаем, ограничение установлены на маршрутизаторе центрального офиса.

/ip firewall filter add chain=forward action=accept in-interface=bridge-local out-interface=all-ppp
/ip firewall filter add chain=forward action=accept in-interface=all-ppp out-interface=bridge-local

Разрешаем прохождение трафика для уже установленных соединений

/ip firewall filter add chain=forward connection-state=established,related action=accept comment="Allow established & related"

Блокируем некорректные пакеты

/ip firewall filter add chain=forward action=drop connection-state=invalid comment="Drop invalid connection packets"

В списке адресов Internet указывсаем адреса для которых в филиале будет выход в интернет через первый канал.
В примере указана вся локальная сеть.

/ip firewall address-list add address=192.168.1.0/24 list=Internet
/ip firewall filter add chain=forward action=accept in-interface=bridge-local out-interface=ether1-wan src-address-list=Internet comment="Allow Internet via ISP1 for Internet group"

В списке адресов Internet2 указываем адреса для которых в филиале будет выход в интернет через второй (резервный канал) канал.
Т.к. резерный канал у нас через сотовую сеть, и трафик дорогой, то максимально минимизируем доступ.
Я указал только один адрес 192.168.1.2, который может принадлежать, например, серверу или администратору.

/ip firewall address-list add address=192.168.1.2/32 list=Internet2
/ip firewall filter add chain=forward action=accept in-interface=bridge-local out-interface=usb-wan2 src-address-list=Internet2 comment="Allow Internet via ISP2 for Internet2 group"

Все остальное запрещаем

/ip firewall filter add chain=forward action=drop comment="All other drop"

 

Настрока ospf 

На каждом маршрутизаторе instance должен быть свой. Предлагаю использовать локальный адрес сети филиала.
Для первого филиала это 192.168.1.0

/routing ospf instance set [ find default=yes ] router-id=192.168.1.0

Настройка интерфейсов тунелей в ospf

/routing ospf interface add interface=l2tp-out1 network-type=broadcast use-bfd=yes
/routing ospf interface add cost=20 interface=sstp-out1 network-type=broadcast use-bfd=no

Добавляем сети в backbone

/routing ospf network add area=backbone network=10.1.1.0/24
/routing ospf network add area=backbone network=10.1.2.0/24
/routing ospf network add area=backbone network=192.168.1.0/24

 

Всякие мелочи

Обратите внимание на часовой пояс. При необходимости, измените под себя

/system clock manual set time-zone=+03:00
/system clock set time-zone-autodetect=no
/system clock set time-zone-name=manual

Вместо сервера имен предлагаю использовать ddns.

/ip cloud set ddns-enabled=yes update-time=yes

Доступ по MAC адресу

/tool mac-server
set [ find default=yes ] disabled=yes add interface=bridge-local /tool mac-server mac-winbox set [ find default=yes ] disabled=yes add interface=bridge-local

 

Вот и вся настройка.

 

Проверка как все работает. Для примера пингуем адрес маршрутизатора в центральном офисе, и отключаем первый канал. Как видите потери минимальные.

переключение на резервный канал

 

Комментарии  

0 # papa-admin 21.01.2017 18:56
Немного поправил код, убрал лишние комментарии, добавил картинку

Недостаточно прав для комментирования