Меню
Контакты
109147, Москва, ул.Воронцовская, 35Б, корп.2 офис.11, 4 этаж
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Интернет-магазин
сетевого оборудования
Москва +7 (495) 103-41-03 +7 (915) 420-28-94
109147, Москва, ул.Воронцовская, 35Б, корп.2 офис.11, 4 этаж
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Заказать звонок

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

 26 Янв 2017    MikroTik, О настройках и установке оборудования производителя Mikrotik, Практика и программирование MikroTik

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

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

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

MikroTik настройка офис-филиал

Есть центральный офис с стабильным каналом, и филиал с не очень стабильным интернет-каналом и запасным через 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=yes

Добавляем сети в 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

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

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

MikroTik настройка офис-филиал

Используемый материал