Настройка L2TP/IPsec для объединения офисов

Материал из MikroTik Wiki

Введение

В статье поэтапно описана настройка маршрутизаторов MikroTik для объединения двух офисов (двух сетей) посредством протокола L2TP. С помощью этого соединения можно будет передавать данные между офисами через защищенный канал связи (VPN-туннель), а не через Интернет. Кроме того, здесь описана настройка маршрутизации и брандмауэра, а также типичные проблемы, с которыми можно столкнуться при этом процессе, и способы проверки полученных результатов. Настройка описывается на примере графического интерфейса  (GUI) утилит WinBox 3 и WinBox 4, а также на примере интерфейса командной строки (CLI).

Протокол L2TP использует слабое шифрование, поэтому для надежной защиты данных он будет дополнен набором протоколов IPsec. Использовать только IPsec (без L2TP) не рекомендуется из-за недостатков IPsec, которые, в свою очередь, компенсируются L2TP. Но детальное описание специфики этих двух протоколов находится за рамками этой статьи. Обязательно надо учитывать, что использование IPsec может значительно уменьшить пропускную способность маршрутизатора.

В статье рассматривается быстрая настройка протокола IPsec, которая доступна при использовании его в связке с L2TP. Преимуществами этого способа являются быстрота и простота настройки, а недостатком - невозможность изменить большую часть параметров IPsec. Но в подавляющем большинстве случаев достаточно параметров, используемых при быстрой настройке.

Протокол L2TP работает по клиент-серверной модели, т.е. один маршрутизатор должен быть L2TP-сервером, принимающим подключения, а второй – L2TP-клиентом, инициирующим подключения. Для возможности установления соединения через Интернет внешний интерфейс маршрутизатора, на котором будет настроен L2TP-сервер, должен иметь маршрутизируемый в Интернете (публичный, «белый») IP-адрес. Если такие адреса есть на обоих маршрутизаторах, то чаще всего L2TP-сервер располагают в головном офисе. Если же такой IP-адрес есть только в одном из офисов, то L2TP-сервер располагают именно в нем.

Рисунок 1. Схема сети

Схема сети при настройке на оборудовании MikroTik объединения офисов с помощью L2TP/IPSec


Параметр маршрутизатора Офис 1 Офис 2
Имя R1 R2
Тип VPN-интерфейса L2TP-сервер L2TP-клиент
Адрес VPN-интерфейса 172.16.1.1/32 172.16.1.2/32
Адрес внешнего (WAN) интерфейса 100.64.111.1/24 100.64.222.1/24
Адрес внутреннего (LAN) интерфейса 10.11.11.1/24 10.22.22.1/24
Адрес внутренней (LAN) сети 10.11.11.0/24 10.22.22.0/24

Настройка L2TP-соединения

Настройка L2TP-сервера

Общее описание

L2TP-сервер расположен на маршрутизаторе R1. Для его настройки необходимо выполнить следующие действия:

Включить L2TP-сервер. Аутентификация (проверка подлинности учетных данных клиента) выполняется силами протокола L2TP. Необходимо применять только аутентификацию MS-CHAPv2 как наиболее безопасную. По умолчанию можно использовать и протокол L2TPv2, и протокол L2TPv3, однако для L2TPv3 могут потребоваться дополнительные настройки, которые не рассматриваются в этой статье.Также надо настроить принудительное использование IPsec, чтобы без него было невозможно подключиться. Это делается с помощью активации параметра Use IPsec (use-IPsec).

Создать учетную запись. Чтобы упростить работу с учетными записями в будущем, рекомендуется использовать названия, которые сразу будут указывать на конкретный офис (например, «office-samara» или «office-novosibirsk») вместо абстрактных «office-1», «office-2» и т. д. Это позволит избежать путаницы при большом количестве подобных записей.

Создать статическую запись L2TP-сервера. Наличие такой записи не является обязательным, т.к. и без нее необходимый виртуальный интерфейс будет создаваться динамически при каждом новом подключении. Однако, что динамический интерфейс исчезнет после разрыва соединения и, даже если после восстановления соединения заново появится с тем же самым именем, то уже не отобразится в правилах, в которых ранее мог быть использован. Таким образом это может нарушить работу правил Firewall, Mangle, NAT и других блоков. А при наличии статической записи L2TP-сервера такой проблемы не возникает.

Настройка через графический интерфейс

Рисунок 2. Настройка L2TP сервера через графический интерфейс Winbox 3.x

Настройка L2TP сервера через графический интерфейс Winbox 3.x


Рисунок 3. Настройка L2TP сервера через графический интерфейс Winbox 4.x

Настройка L2TP сервера через графический интерфейс Winbox 4.x


Рисунок 4. Создание учетной записи на L2TP сервере через графический интерфейс Winbox 3.x

Создание учетной записи на L2TP сервере через графический интерфейс Winbox 3.x


Рисунок 5. Создание учетной записи на L2TP сервере через графический интерфейс Winbox 4.x

Создание учетной записи на L2TP сервере через графический интерфейс Winbox 4.x


Рисунок 6. Создание статического интерфейса на L2TP сервере через графический интерфейс Winbox 3.x

Создание статического интерфейса на L2TP сервере через графический интерфейс Winbox 3.x


Рисунок 7. Создание статического интерфейса на L2TP сервере через графический интерфейс Winbox 4.x

Создание статического интерфейса на L2TP сервере через графический интерфейс Winbox 4.x

Настройка через командную строку

/interface/l2tp-server/server
set authentication=mschap2 enabled=yes IPsec-secret=IPsec_password use-IPsec=required

/ppp/secret
add local-address=172.16.1.1 name=office-2 password=office-2_password profile=default-encryption remote-address=172.16.1.2 service=l2tp

/interface/l2tp-server
add name="L2TP Server for office-2" user=office-2

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

Общее описание

L2TP-клиент расположен на маршрутизаторе R2. Для его настройки необходимо выполнить одно действие:

Создать L2TP-интерфейс. На этом этапе необязательно настраивать аутентификацию только с помощью MSCHAPv2, т.к. сервер все равно будет разрешать подключения только с этим способом аутентификации.

Настройка через графический интерфейс

Рисунок 8-1. Настройка L2TP клиента через графический интерфейс Winbox 3.x

Настройка L2TP клиента через графический интерфейс Winbox 3.x


Рисунок 8-2. Настройка L2TP клиента через графический интерфейс Winbox 3.x

Настройка L2TP клиента через графический интерфейс Winbox 3.x


Рисунок 9. Настройка L2TP клиента через графический интерфейс Winbox 4.x

Настройка L2TP клиента через графический интерфейс Winbox 4.x


Настройка через командную строку

/interface/l2tp-client
add connect-to=100.64.111.1 disabled=no IPsec-secret=IPsec_password name="L2TP office-1 connection" password=office-2_password use-IPsec=yes user=office-2

Проверка L2TP-соединения

Общее описание

И на L2TP-сервере, и на L2TP-клиенте при успешном установлении соединения рядом с интерфейсом должен появиться флаг «R», что значит running, т. е. «запущено».

Проверка на L2TP-сервере

Проверка через графический интерфейс

Рисунок 10. Проверка работоспособности туннеля на L2TP сервере через графический интерфейс Winbox 3.x

Проверка работоспособности туннеля на L2TP сервере через графический интерфейс Winbox 3.x


Рисунок 11. Проверка работоспособности туннеля на L2TP сервере через графический интерфейс Winbox 4.x

Проверка работоспособности туннеля на L2TP сервере через графический интерфейс Winbox 4.x


Проверка через командную строку

В результате выполнения команды

/interface/l2tp-server print

должен появиться следующий результат:

[admin@R1] > /interface/l2tp-server print
Flags: R - RUNNING
Columns: NAME, USER, MTU, CLIENT-ADDRESS, UPTIME
#   NAME                      USER       MTU  CLIENT-ADDRESS  UPTIME
0 R L2TP Server for office-2  office-2  1450  100.64.222.1    16s

Проверка на L2TP-клиенте

Проверка через графический интерфейс

Рисунок 12. Проверка работоспособности туннеля на L2TP клиенте через графический интерфейс Winbox 3.x

Проверка работоспособности туннеля на L2TP клиенте через графический интерфейс Winbox 3.x


Рисунок 13. Проверка работоспособности туннеля на L2TP клиенте через графический интерфейс Winbox 4.x

Проверка работоспособности туннеля на L2TP клиенте через графический интерфейс Winbox 4.x


Проверка через командную строку

В результате выполнения команды

/interface/l2tp-client print

должен появиться следующий результат:

[admin@R2] > /interface/l2tp-client print
Flags: X - disabled; R - running 
 0  R name="L2TP office-1 connection" max-mtu=1450 max-mru=1450 mrru=disabled 
      connect-to=100.64.111.1 user="office-2" password="office-2_password" 
      profile=default-encryption keepalive-timeout=60 use-peer-dns=no 
      use-IPsec=yes IPsec-secret="IPsec_password" allow-fast-path=no 
      add-default-route=no dial-on-demand=no allow=pap,chap,mschap1,mschap2 
      random-source-port=no l2tp-proto-version=l2tpv2 l2tpv3-digest-hash=md5

Потенциальные проблемы при установлении соединения

1. Некорректно указанный IP-адрес L2TP-сервера на L2TP-клиенте.

2. Несовпадающие учетные данные L2TP или IPsec. Для L2TP нужны имя пользователя и пароль, а для IPsec – только пароль.

3. Блокировка соединения брандмауэром маршрутизатора MikroTik (IP Firewall Filter). Для того чтобы избежать этой проблемы, необходимо разрешить для L2TP-пакетов UDP-порт 1701, а для IPsec-пакетов – UDP-порты 500 (ISAKMP) и 4500 (NAT-T), а также протокол IPsec ESP (IPsec-esp). Чтобы быстро понять, блокирует ли соединение именно брандмауэр MikroTik, можно ненадолго отключить все правила брандмауэра на обоих маршрутизаторах. Если после отключения правил соединение устанавливается, следует добавить соответствующие разрешающие правила. Чаще всего в этом нуждается L2TP-сервер, но не всегда. Все зависит от уже имеющихся правил. Кроме того, необходимо помнить, что правила брандмауэра должны рассматриваться как единое целое и  их порядок имеет большое значение.

4. В РФ VPN-соединения могут блокироваться Роскомнадзором (РКН). Чаще всего это касается именно IPsec, но могут блокироваться и другие протоколы. Чтобы определить находится ли проблема в IPsec, можно попробовать отключить его. Если после отключения L2TP-соединение успешно установилось, то, скорее всего, блокировка произошла именно из-за IPsec. Разумеется, при условии что уже были исключены описанные ранее причины. В случае такой проблемы необходимо обратиться в РКН.

5. Конфликт между существовавшими ранее статическими и динамическими правилами IPsec, добавленными при настройке L2TP-соединения. Подобный конфликт возможен, например, в правилах Peers и Identities. Для его устранения надо хорошо разбираться в работе IPsec и специфике его настройки на MikroTik.

6. Зависание соединений IPsec. Это возможно при наличии созданных ранее соединений IPsec. Чтобы решить данную проблему, нужно очистить все имеющиеся соединения IPsec. Для этого надо перейти во вкладку IP → IPsec → Installed SAs и нажать на кнопку Flush, после чего подтвердить очистку соединений.

Настройка маршрутизации

Для передачи данных между двумя сетями недостаточно наличия VPN-соединения. Чтобы она стала возможной, на каждом устройстве нужно добавить маршрут к внутренней сети другого офиса через IP-адрес VPN-интерфейса противоположного маршрутизатора. Для этого необходимо:

  • на маршрутизаторе R1 создать маршрут до внутренней сети офиса 2 (10.22.22.0/24) через VPN-интерфейс маршрутизатора R2 (172.16.1.2);
  • на маршрутизаторе R2 создать маршрут до внутренней сети офиса 1 (10.11.11.0/24) через VPN-интерфейс маршрутизатора R1 (172.16.1.1).

Для такой настройки понадобятся два параметра:

  • Dst. Address (dst-address), в котором нужно указать IP-адрес удаленной сети;
  • Gateway (gateway), в котором нужно указать IP-адрес VPN-интерфейса противоположного маршрутизатора.

Настройка маршрутизации на маршрутизаторе R1 (офис 1)

Настройка через графический интерфейс

Рисунок 14. Настройка маршрутизации на R1 через графический интерфейс Winbox 3.x

Настройка маршрутизации на R1 через графический интерфейс Winbox 3.x


Рисунок 15. Настройка маршрутизации на R1 через графический интерфейс Winbox 4.x

Настройка маршрутизации на R1 через графический интерфейс Winbox 4.x


Настройка через командную строку

/ip/route
add dst-address=10.22.22.0/24 gateway=172.16.1.2

Настройка маршрутизации на маршрутизаторе R2 (офис 2)

Настройка через графический интерфейс

Рисунок 16. Настройка маршрутизации на R2 через графический интерфейс Winbox 3.x

Настройка маршрутизации на R2 через графический интерфейс Winbox 3.x


Рисунок 17. Настройка маршрутизации на R2 через графический интерфейс Winbox 4.x

Настройка маршрутизации на R2 через графический интерфейс Winbox 4.x


Настройка через командную строку

/ip/route
add dst-address=10.11.11.0/24 gateway=172.16.1.1

Проверка маршрутизации

Проверка в головном офисе и в филиале

Если маршрутизация была правильно настроена, то данные между двумя сетями должны начать передаваться. Чтобы проверить корректность настройки, можно выполнить команду ping с компьютера в одной сети до компьютера в другой сети. Но здесь возможны нюансы. Некоторые антивирусы блокируют ICMP-запросы, и поэтому ping'и могут не проходить. Более того, некоторые антивирусы, например антивирус Касперского, умеют блокировать ICMP-запросы из других сетей и при этом не блокировать такие же запросы из своей сети. Поэтому если ping'и с компьютера на компьютер не проходят, то рекомендуется проверить прохождение ICMP-запросов с компьютера в локальной сети до внутреннего интерфейса маршрутизатора в другой сети. Для этого необходимо:

  • при проверке из офиса 1 запустить ping до IP-адреса 10.22.22.1;
  • при проверке из офиса 2 запустить ping до IP-адреса 10.11.11.1.

Если такие ping'и проходят, то с вероятностью 100 % VPN-соединение и маршрутизация с обеих сторон настроены корректно и с вероятностью 99 % проблему нужно искать не на маршрутизаторах. При этом существует 1-процентная вероятность того, что причиной невозможности передачи данных являются какие-то другие неверные настройки.

Потенциальные проблемы при маршрутизации

Если маршрутизация между двумя маршрутизаторами MikroTik не выполняется, необходимо проверить следующее:

  1. Настройки маршрутизации на обоих маршрутизаторах.
  2. Настройки брандмауэра на компьютере, который пингуется. Для надежности можно временно отключить встроенный брандмауэр и антивирус, чтобы исключить их влияние на ICMP-запросы.