Меню

Dfl 260e настройка nat



Токарчук Андрей

Мне 30 лет. Профессионально занимаюсь PHP-программированием. В работе использую 1C-Битрикс, Symfony, Doctrine и многое другое. А вообще мне нравится всё новое и интересное 🙂

Делаем IPSEC туннель между Dlink DFL-260E и Mikrotik 450G

Всем привет! В этом посте я расскажу, как организовать безопасный ipsec-туннель между D-link DFL-260E (актуально для линейки устройств DFL: 210\260E\800\860E) и Mikrotik 450G. Будет много картинок и рабочий пример конфига. Так что, если у вас есть интерес к сабжу — велкам под кат.

Схема сети

Пусть у нас имеется две локальных сети, которые нужно объединить через IPsec туннель.
Сеть A (DFL — 192.168.0.1/24) и сеть B (Mikrotik — 192.168.1.1/24). Выглядит это все примерно так:


Также обращаю внимание, что у вас должно быть два публичных статических белых адреса для обоих маршрутизаторов. В принципе, если у вас в этой схеме будет два Mikrotik, то это не обязательно, т.к. в свежих версиях они поддерживают такую фишку, как IP Cloud, где в роли IPsec-endpoint может выступать не ip адрес, а символическое имя. Но у меня был DFL, поэтому статика.

Подготовка

Во время активного изучения сабжа на этих железках я узнал про несколько грабель. Первые из них состоят в том, что по-умолчанию DFL-260e (прошивка RU) не подерживает необходимые для IPSec алгоритмы шифрования (3Des, AES), а работает только с теми(NULL, DES), которые подвластны нашим чекистам. Полноценное шифрование доступно в общемировой (WW) прошивке. Так что первым делом обновляем прошивку стандартными средствами. На российском FTP D-Link вы их не найдете. Я нашел свежую прошивку на этом сайте. Качал версию 6310-DFL-260E_Ax_FW_v2.60.02.02-upgrade.img

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

Настраиваем на нём доступ в интернет, работу LAN, DHCP, т.е. всё, как обычно. Единственный момент, у меня были какие-то грабли при предыдущей настройке, поэтому у меня вся сеть сидит не в LAN сегменте, а в DMZ. Знаю, что неправильно, граблей уже и не помню, поэтому держите в уме, что в сети А, DMZ — это по сути LAN.

Теперь займемся подготовкой Mikrotik. Там уже не просто прошивка, а вполне себе система пакетного менеджмента, поэтому обновляем пакеты в System -> Packages.

ПО обновили, доступ к интернету настроили с обоих концов, проверили пинги по публичным адресам из обеих подсетей. Тогда всё ок, можно начинать.

Настраиваем туннель со стороны DFL-260E

Первым делом создаём в адресной книги объекты удалённой сети (Network) и точки туннеля (Endpoint).

К чести D-link, он умеет работать с endpoint с динамическим IP адресом. Для этого надо перед IP прописать в виде dns:hostname.com

Дальше создаём в Objects -> Address book -> Keyring) PSK-key, по сути пароль от туннеля.

После этого определем алгоритмы шифрования IKE (Objects -> VPN objects -> IKE Algrithms)…

и алгоритмы шифрования IPSec (Objects -> VPN objects -> IPSec Algrithms).

Теперь у нас есть все данные, чтобы создавать сам туннель (Network -> VPN and tunnels -> IPSec).

После сохранения и применения настроек (Configuration -> Apply configuration) у вас среди маршрутов должны появиться автоматические маршруты созданные для туннеля.

Осталось добавить правила, чтобы трафик мог ходить по туннелю (Network -> Policies -> Firewalling). Я разрешил пинг везде, а для тоннелей создал отдельную папку с правилами.

Ок, применяем настройки и идём настраивать другой конец.

Настраиваем Mikrotik

Подклбчаемся по WinBox / WebFig к роутеру и идём в IP -> IPSec -> Policies. Добавляем туда новую политику для ipsec.

Теперь идём в IP->IPSec->Peers и добавляем DFL-ку.

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

Читайте также:  Приборы для настройки спутникова оборудования

Теперь идём в Interfaces и добавляем IPIP-туннель.

Настройки применяются мгновенно, так что по идее после этого мы должны увидеть сертификаты поднятого туннеля со стороны Mikrotik…

И со стороны DFL (Status->Subsystems->IPSec)…

Дальше настраиваем Firewall. Столбец «In Interface» = ether1-gateway (интерфейс, торчащий в интернет).

Не забываем про NAT для новой сети (порядок правил важен, надо выше masquerade).

Это кусок дефолтовой конфигурации, я его не трогал.

Маршруты выставились так:

Теперь, чтобы трафик шел от Mikrotik в сторону DFL нужно добавить соответствующий маршрут. В графе Dst Address пишем сеть назначения (сеть DFL), в поле gateway указываем интерфейс туннеля, а в поле Pref.Source указываем адрес Mikrotik с этой стороны туннеля.

Если будете настраивать динамический конец туннеля (IPCloud), то оно в секции IP.

Если вы внесли изменения в тоннель и он упал

Немного о возможных ошибках в логах DFL:
1. statusmsg=«No proposal chosen» — не правильно выбраны методы шифрования
2. reason=«Invalid proposal» — то же, что и п.1
3. reason=«IKE_INVALID_COOKIE» — туннель уже был поднят, но после этого были внесены изменения в его настройки. Заходим на DFL «Status->IPsec->Habratest_cloud_IPsec->справа вверху страницы List all active IKE SAs» и удаляем устаревший IKE SA. Перезагружаем DFL

Заключение

Что мне понравилось в Microtik, так это продуманность. Да, есть грабли, но в общем чувствуется, что железка создана что называется админом для админа. Одно то, что в Firewall показывается в real-time режиме количество пакетов по каждому правилу чего стоит. Конечно лучше использовать железки одного вендора, но, как показала практика связать DFL и Mikrotik вполне реально. За рамками статьи остались вопросы бенчмаркинга туннелей, и переача трафика последовательно через несколько туннелей, но думаю в будущем я посвещу отдельную статью этим вопросам.

Дальше приведу пример конфига Microtik, а ссылки, вы, как всегда найдёте в конце статьи. Удачи, траварищи!

Источник

Dfl 260e настройка nat

Основной VPN IPsec будет устанавливаться между WAN1 DFL-860E и WAN DFL-260E, резервный тоннель будет установлен между WAN2 DFL-860E и DMZ DFL-260E.

Данный пример настройки подразумевает, что настройки интерфейсов для подключения к интернет уже настроены, в т.ч. резервирование интернет канала если это необходимо.

Настройка DFL-860E:

Создайте в адресной книге DFL следующие объекты:
remote_net 192.168.20.0/24, remote_dmz 192.168.60.2
remote_wan 192.168.50.2, remote_mon 192.168.20.1

Пример для CLI:

add Address IP4Address remote_net Address=192.168.20.0/24
add Address IP4Address remote_dmz Address=192.168.60.2
add Address IP4Address remote_wan Address=192.168.50.2
add Address IP4Address remote_mon Address=192.168.20.1

Пример для WEB.

Пройдите в WEB интерфейсе Objects → Address Book, нажмите кнопку Add, из выпадающего меню выберите IP4 Address.

Заполните поля следующим образом:

Name: remote_net
Address: 192.68.20.0/24

Затем нажмите кнопку Ок.

Повторите эти действия создав следующие объекты:

Name: remote_dmz
Address: 192.168.60.2

Name: remote_wan
Address: 192.168.50.2

Name: remote_mon
Address: 192.168.20.1

Далее создадим VPN PSK ключи для IPSec тоннелей в адресной книге:
key1 1234567890
key2 0987654321

Пример для CLI.

add PSK key1 Type=ASCII PSKAscii=1234567890
add PSK key2 Type=ASCII PSKAscii=0987654321

Пример для Web интерфейса.

Пройдите в Web интерфейсе Objects → Key Ring, нажмите кнопку Add, из выпадающего меню выберите Pre-Shared Key.

Заполните поля следующим образом:
Name: key1
Type: Passphrase
Shared Secret: 1234567890
Confirm Secret: 1234567890

Затем нажмите кнопку Ок.

Создайте аналогично объект key2 с заполненными полями следующим образом:

Name: key1
Type: Passphrase
Shared Secret: 0987654321
Confirm Secret: 0987654321

Создание 2х IPSec тоннелей.

Пример для CLI.

add Interface IPsecTunnel tun1 PSK=key1 LocalNetwork=InterfaceAddresses/lan_net RemoteNetwork=remote_net IPsecAlgorithms=Standard IKEAlgorithms=Standard RemoteEndpoint=remote_wan AutoEstablish=Yes AddRouteToRemoteNet=No LocalEndpoint=InterfaceAddresses/wan1_ip IncomingInterfaceFilter=wan1 AutoInterfaceNetworkRoute=No

Пройдите Network → Interfaces and VPN→ VPN and tunnels → IPSec, нажмите кнопку add выберите IPSec tunnel.

Выполните настройки на вкладках, как указано на скриншотах ниже.

После выполнения настройки тоннеля, нажмите Ок.

Читайте также:  Vray настройка сетевого рендеринга

Создадим второй IPSec тоннель.

Пример для CLI

add Interface IPsecTunnel tun2 PSK=key2 LocalNetwork=InterfaceAddresses/lan_net RemoteNetwork=remote_net AutoEstablish=Yes IPsecAlgorithms=Standard IKEAlgorithms=Standard LocalEndpoint=InterfaceAddresses/wan2_ip IncomingInterfaceFilter=wan2 RemoteEndpoint=remote_dmz

Пример для Web интерфейса.

Пройдите в Web интерфейсе Network → Interfaces and VPN→ VPN and tunnels → IPSec, нажмите кнопку add выберите IPSec tunnel. Выполните настройки на вкладках как указано ниже на скриншотах.

После выполнения настройки тоннеля, нажмите Ок.

ВНИМАНИЕ, только при настройки первого тоннеля изменяются настройки автоматического создания маршрутов на вкладке Advanced.

Теперь необходимо создать 2 маршрута для того, чтоб привязать IPSec тоннели к WAN интерфейсам.

Пример для CLI.

Выберем таблицу маршрутизации main.

cc RoutingTable main

add Route Interface=wan1 Network=remote_wan Gateway=InterfaceAddresses/wan1_gw Metric=100

add Route Interface=wan2 Network=remote_dmz Gateway=InterfaceAddresses/wan2_gw Metric=100

Пример для Web интерфейса.

Пройдите Network → Routing → Routing tables → main

Нажмите кнопку add и выберите Route IPv4.

Ниже на скриншотах приведены 2 маршрута которые необходимо создать.

Создадим маршрут с мониторингом для IPSec тоннеля tun1

Пример для CLI

Выберем таблицу маршрутизации main.

cc RoutingTable main

add Route Interface=tun1 Network=remote_net Metric=80 RouteMonitor=Yes EnableHostMonitoring=Yes Reachability=ALL

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

Выберем этот маршрут

Добавим мониторинг к маршруту

add MonitoredHost IPAddress=remote_mon ReachabilityRequired=Yes

Снимаем выбор маршрута и таблицы маршрутизации

Пример для Web интерфейса

Создаем маршрут аналогично как предыдущие, только необходимо внести изменения во вкладках Monitor и Monitored host.

Перейдите во вкладку Monitor и выполните настройки как на скриншоте ниже:

Перейдите во вкладку Monitored hosts и нажмите кнопку Add, настройте хост как показано на скриншоте ниже:

Нажмите Ок, а затем еще раз Ок.

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

Для уменьшения количества IP правил, создадим группу c названием VPN_tuns из интерфейсов tun1 и tun2.

Пример для CLI.

add Interface InterfaceGroup VPN_tuns Members=tun1,tun2 Equivalent=Yes

Пример для Web интерфейса.

Пройдите Network → Interfaces and VPN→ Miscellaneous → Interface Groups нажмите кнопку add выберете Interface Group. Настройте так как показано на скриншоте ниже и нажмите Ок.

Создадим три IP правила.

Пример для CLI

Создадим правило разрешающее прохождения трафика в VPN тоннели из lan.

add IPRule Action=Allow SourceInterface=lan SourceNetwork=InterfaceAddresses/lannet DestinationInterface=VPN_tuns DestinationNetwork=remote_net Service=all_services Name=to_vpn

Создадим правило разрешающее прохождение трафика в lan из VPN.

add IPRule Action=Allow SourceInterface=VPN_tuns SourceNetwork=remote_net DestinationInterface=lan DestinationNetwork=InterfaceAddresses/lannet Service=all_services Name=from_vpn

Создадим правило разрешающие обращение ICMP трафика к core lan_ip для мониторинга VPN тоннеля удаленным устройством.

add IPRule Action=Allow SourceInterface=VPN_tuns SourceNetwork=remote_net DestinationInterface=core DestinationNetwork=InterfaceAddresses/lan_ip Service=ping-inbound Name=allow_mon

Пример для Web интерфейса.

Пройдите Policies → Firewalling → Rules → Main IP Rules и нажмите кнопку Аdd выберите IP Rules. Создайте три правила как указанно на скриншотах ниже.

Для обработки входящего трафика мониторинга от DFL-260E, необходимо создать альтернативную таблицу маршрутизации и правило маршрутизации. Это необходимо для обработки входящего трафика если VPN тоннель tun1 уже установлен, но система мониторинга еще не включила маршрут. В этом случае возможна не корректная работа резервирования и данные действия позволят избежать подобной ситуации.

Создадим альтернативную таблицу маршрутизации.

Пример для CLI.

add RoutingTable alt Ordering=Only

Пример для Web интерфейса

Пройдите Network → Routing → Routing tables и нажмите кнопку Add, из выпадающего меню выберите Routing Table.

Заполните поля как показано на скриншоте и нажмите Ок

Добавим 2 маршрута в созданную таблицу маршутизации.

Пример для CLI

Выберем таблицу маршрутизации alt

cc RoutingTable alt

Добавим 2 маршрута.

add Route Interface=tun1 Network=remote_net

add Route Interface=lan Network=InterfaceAddresses/lan_net

Пример для Web интерфейса.

Пройдите Network → Routing → Routing tables → alt

В этой таблице маршрутизации создаем 2 маршрута. Нажмите кнопку Add и создайте 2 маршрута настроенных как на скришотах ниже.

Читайте также:  Ubuntu mysql файлы настроек

Создадим правило маршрутизации.

Пример для CLI

add RoutingRule Service=ping-inbound SourceInterface=tun1 SourceNetwork=remote_net DestinationInterface=core DestinationNetwork=InterfaceAddresses/lan_ip ForwardRoutingTable=alt ReturnRoutingTable=alt Name=allow_mon

Пример для Web интерфейса.

Пройдите Network → Routing → Policy-based Routing Rules, нажмите кнопку Add из выпадающего меню выберите Routing Rule.

Настройте правило как показано на скриншоте ниже и нажмите Ок.

Сохраните и активируйте настройки.

Настройка DFL-260E:

Настройка DFL-260E будет во многом «зеркальна» настройке DFL-860E, поэтому будут использоваться отсылки к настройки предыдущего устройства.

Создайте в адресной книге DFL следующие объекты, этот процесс аналогичный с DFL-860E:
remote_net 192.168.10.0/24, remote_wan2 192.168.40.2
remote_wan1 192.168.30.2, remote_mon 192.168.10.1

Создайте VPN PSK ключи для IPSec тоннелей в адресной книге, этот процесс аналогичный с DFL-860E:
key1 1234567890
key2 0987654321

Создадим два IPSec тоннеля. Только в этом случае будут отличатся интерфейсы через которые они будут устанавливаться. На DFL-260E нет WAN2 интерфейса, поэтом вместо него будет использован интерфейс DMZ.

Пройдите Network → Interfaces and VPN→ VPN and tunnels → IPSec, нажмите кнопку add выберите IPSec tunnel. Выполните настройки на вкладках как указано ниже на скриншотах.

Пройдите Network → Routing → Routing tables → main и нажмите кнопку add и выберите Route IPv4. Настройки 2х маршрутов приведены на скриншотах ниже.

ВНИМАНИЕ, только при настройки первого тоннеля изменяются настройки автоматического создания маршрута на вкладке Advanced.

Теперь необходимо создать 3 маршрута для того, чтоб привязать IPSec тоннели к WAN/DMZ интерфейсам . Только в этом случае вместо WAN2 будет использован интерфейс DMZ и сопутствующие ему объекты.

Пройдите Network → Routing → Routing tables → main и нажмите кнопку add и выберите Route IPv4. Настройки 2х маршрутов приведены на скриншотах ниже.

Создадим маршрут с мониторингом для IPSec тоннеля tun1

Пример для Web интерфейса

Создаем маршрут аналогично как предыдущие, только необходимо внести изменения во вкладках Monitor и Monitored host.

Перейдите во вкладку Monitor и выполните настройки как на скриншоте ниже:

Перейдите во вкладку Monitored hosts и нажмите кнопку Add, настройте хост как показано на скриншоте ниже:

Нажмите Ок, а затем еще раз Ок.

Для разрешения прохождения трафика в/из VPN необходимо создать IP правила. Все это делается аналогично с DFL-860E.

Для уменьшения количества IP правил, создадим группу из интерфейсов tun1 и tun2,

Пройдите Network → Interfaces and VPN→ Miscellaneous → Interface Groups нажмите кнопку add выберете Interface Group. Настройте так как показано на скриншоте ниже и нажмите Ок.

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

Пройдите Policies → Firewalling → Rules → Main IP Rules и нажмите кнопку Аdd выберите IP Rules. Создайте два правила как указанно на скриншотах ниже.

Для обработки входящего трафика мониторинга от DFL-860E, необходимо создать альтернативную таблицу маршрутизации и правило маршрутизации. Это необходимо для обработки входящего трафика если VPN тоннель tun1 уже установлен, но система мониторинга еще не включила маршрут. В этом случае возможна не корректная работа резервирования и данные действия позволят избежать подобной ситуации.

Создадим альтернативную таблицу маршрутизации.

Пример для Web интерфейса

Пройдите Network → Routing → Routing tables и нажмите кнопку Add, из выпадающего меню выберите Routing Table.

Заполните поля как показано на скриншоте и нажмите Ок

Добавим 2 маршрута в созданную таблицу маршутизации.

Пройдите Network → Routing → Routing tables → alt

В этой таблице маршрутизации создаем 2 маршрута. Нажмите кнопку Add и создайте 2 маршрута настроенных как на скришотах ниже.

Создадим правило маршрутизации.

Пример для Web интерфейса.

Пройдите Network → Routing → Policy-based Routing Rules, нажмите кнопку Add из выпадающего меню выберите Routing Rule.

Настройте правило как показано на скриншоте ниже и нажмите Ок.

Источник

Adblock
detector