Типичная задачка, когда есть центральный офис и филиалы, для которых необходимо обеспечить удаленный доступ к приложению в центральном офисе. Конечно можно отказаться от двух каналов, VPN и OSPF, опубликовав просто терминал-сервер наружу, но это совсем не секурно и не серьезно.
Схема следующая:
Центральный офис с стабильным интернет-каналом и белым статичским ip-адресом. Маршрутизатор выступает в качестчве VPN сервера. За маршрутизатором MS Terminal Server (порт 3389/tcp).
В качестве центрального маршрутизатора, для средней нагрузки, рекомендую MikroTik HEX (RB750Gr3). Несомненным плюсом является что прямо на нем можно запускать Dude сервер, для мониторинга сети.
Филиал с не очень стабильным интернет-каналом и запасным через USB LTE модем. Для филиала отлично подойдет MikroTik RB951Ui-2HnD. Одна из самых удачных моделей для дома и малого бизнеса.
И так, приступим.
Настройка маршрутизатора в центральном офисе
Подключаемся к маршрутизатору через Winbox и сбрасываем настройки. После перезагрузки первым делом устанавливаем пароль для admin.
/user set admin password=ВашПароль
Указываем имя для маршрутизатора:
/system identity set name="Office"
Настройка Интернета
К первому порту подключаем Интернет:
/interface ethernet set [ find default-name=ether1 ] name=wan
Прописываем адрес и шлюз (жирным выделено то что нужно под себя изменить):
/ip address add address=1.2.3.4/24 disabled=no interface=wan
/ip route add dst-address=0.0.0.0/0 gateway=1.2.3.1 distance=1
Делаем маскарадинг:
/ip firewall nat add action=masquerade chain=srcnat out-interface=wan
Настройка локальной сети
Локальную сеть подключаем к пятому порту. Остальные порты, в будущем, можно будет использовать для других целей, например для подключении резервного канала.
/interface ethernet set [ find default-name=ether5 ] name=lan
/ip address add address=192.168.0.1/24 disabled=no interface=lan
Создаем dhcp сервер для локальной сети:
/ip pool add name=pool-lan ranges=192.168.0.11-192.168.0.199
/ip dhcp-server add address-pool=pool-lan interface=lan name=dhcp-lan disable=no
/ip dhcp-server network add address=192.168.0.0/24 dns-server=192.168.0.1 gateway=192.168.0.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.0.1 name=router0
Настройки vpn-тунелей, для подключения филиалов.
Для l2tp адреса будем выдавать в сети 10.1.1.0/24:
/ip pool add name=pool-l2tp ranges=10.1.1.2-10.1.1.99
Для sstp в 10.1.2.0/24:
/ip pool add name=pool-sstp ranges=10.1.2.2-10.1.2.99
Настраиваем профиль для тунелей:
/ppp profile add change-tcp-mss=yes local-address=10.1.1.1 name=profile-l2tp remote-address=pool-l2tp use-encryption=yes
/ppp profile add change-tcp-mss=yes local-address=10.1.2.1 name=profile-sstp remote-address=pool-sstp use-encryption=yes
И разрешаем маршрутизатору быть l2tp & sstp сервером:
/interface l2tp-server server set authentication=mschap2 default-profile=profile-l2tp enabled=yes
/interface sstp-server server set authentication=mschap2 default-profile=profile-sstp enabled=yes
Настройка OSPF
Пакет routing должен быть на маршрутизаторе установлен и активирован.
На каждом маршрутизаторе instance должен быть свой. Предлагаю использовать локальный адрес сети филиала. Для центрального офиса это 192.168.0.0:
/routing ospf instance set [ find default=yes ] router-id=192.168.0.0
Добавляем локальные сети в 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.0.0/24
Настройка файервола
input - входящие соединения с маршрутизатором.
Разрешаем ping:
/ip firewall filter add chain=input action=accept protocol=icmp comment=icmp disabled=no
Разрешаем трафик по уже установленным соединениями и ответам на них:
/ip firewall filter add chain=input action=accept connection-state=established,related comment="established & related" disabled=no
Разрешаем доступ из локальной сети к dns серверу на маршрутизаторе:
/ip firewall filter add chain=input action=accept dst-port=53 protocol=udp in-interface=lan comment="dns" disabled=no
Создаем групу AdminIP которой будет разрешен доступ к маршрутизатору и добавляем туда локальную подсеть:
/ip firewall address-list add address=192.168.0.0/24 list=AdminIP
/ip firewall filter add chain=input action=accept src-address-list=AdminIP comment="access for AdminIP group" disabled=no
Пример добавления в группе ip-адреса по имени. Например для доступа к машрутизатору из дома. ЭТО ТОЛЬКО ПРИМЕР!
/ip firewall address-list add address=home.asp24.ru list=AdminIP
Разрешаем запрос соединения для l2tp:
/ip firewall filter add chain=input action=accept dst-port=1701 in-interface=wan protocol=udp comment=l2tp
Разрешаем запрос соединения для sstp:
/ip firewall filter add chain=input action=accept dst-port=443 in-interface=wan protocol=tcp comment=sstp
Для всех тунелей разрешаем служебный трафик ospf:
/ip firewall filter add chain=input action=accept in-interface=all-ppp protocol=ospf comment=ospf
Для всех тунелей разрешаем bfd (служебный протокол поверх ospf, позволяющий более оперативно переключаться на резерный маршрут):
/ip firewall filter add chain=input action=accept dst-port=3784-3785 in-interface=all-ppp protocol=udp comment=bfd
Все остальное блокируем:
/ip firewall filter add chain=input action=drop comment="all other drop" disabled=no
forward - соединения проходящие через маршрутизатор.
Все соединения из филиалов к локальной сети перенаправляем в цепочку FromFilial:
/ip firewall filter add action=jump chain=forward comment="branch to office" in-interface=all-ppp jump-target=FromFilial
Для цепочки FromFilial разрешаем соединения на Сервер терминалов (порт 3389/tcp):
/ip firewall filter add action=accept chain=FromFilial comment=rdp dst-port=3389 out-interface=lan protocol=tcp
Только для адресов входящих в группу AdminIP разрешаем доступ из локальной сети в сети филиалов:
/ip firewall filter add chain=forward action=accept in-interface=lan out-interface=all-ppp src-address-list=AdminIP comment="Allow access to Filial for AdminIP group"
Разрешаем трафик по уже установленным соединениями и ответам на них:
/ip firewall filter add chain=forward action=accept connection-state=established,related comment="Allow established & related" disabled=no
Создаем список адресов Internet и разрешаем ему выход в интернет:
/ip firewall address-list add address=192.168.0.0/24 list=Internet
/ip firewall filter add chain=forward action=accept in-interface=lan out-interface=wan src-address-list=Internet comment="Allow access to internet for Internet group"
Все остальное запрещаем:
/ip firewall filter add chain=forward action=drop comment="All other drop" disabled=no
Настраиваем время и сервер времени:
/system clock set time-zone-name=manual
/system clock manual set time-zone=+03:00
/system clock set time-zone-autodetect=no
/system ntp client set enabled=yes primary-ntp=95.213.132.254 secondary-ntp=213.28.138.38
Доступ к маршрутизатору по MAC адресу:
tool mac-server
set [ find default=yes ] disabled=yes
add interface=lan
/tool mac-server mac-winbox
set [ find default=yes ] disabled=yes
add interface=lan
При подключении удаленного филиала необходимо выполнить следующие команды:
Настройка тунелей:
/interface l2tp-server add name=l2tp-in01 user=l2tp-01
/interface sstp-server add name=sstp-in01 user=sstp-01
/ppp secret add name=l2tp-01 password=password1 profile=profile-l2tp service=l2tp
/ppp secret add name=sstp-01 password=password1 profile=profile-sstp service=sstp
Настройка ospf:
/routing ospf interface add cost=10 interface=l2tp-in01 network-type=broadcast use-bfd=yes
/routing ospf interface add cost=20 interface=sstp-in01 network-type=broadcast use-bfd=yes
На этом настройка центрального маршрутизатора закончена.
Для подключения каждого последующего филиала меняйте 01 на следующий номер.
Продолжение: MikroTik настройка офис-филиал. Часть 2: Филиал