Mikrotik l2tp server windows client

Инструкция по настройке L2TP VPN сервера на роутере MikroTik. Будут рассмотрены два примера использования VPN: удаленное подключение Windows VPN клиент типа L2TP+IpSec и настройка VPN туннеля между двумя роутерами MikroTik. Наличие белого(статического) IP со стороны VPN клиента необязательно.

Инструкция настройки L2TP MikroTik VPN

  1. Настройка L2TP VPN сервера
    • Active direсtory авторизация
  2. VPN между MikroTik
    • Настройка на сервере
    • Настройка на клиенте
    • Маршрутизация
  3. Windows VPN
  4. Заказать настройку
  5. Задать вопрос

L2TP VPN сервер на базе роутера MikroTik является одним из самых популярных решений в задаче, когда нужно настроить VPN между роутерами MikroTik для отдельных офисов или предоставить удаленный доступ к RDP серверу для удаленного сотрудника. L2TP VPN на роутере MikroTik представляет собой клиент серверную архитектуру, которая подразумевает, что сервер может быть один, а клиентов N-ое количество. Как правило количество L2TP VPN клиентов ограничивается уровнем лицензии(Licence Level) роутера и минимальные значения начинаются от 200 подключений, что в значительной мере может покрыть любые потребности в обеспечении удаленного доступа или создании общей сети на базе L2TP VPN.

Для удаленного доступа сотрудников

Доступ к рабочему пространству с любого места, где есть интернет. Почта, сетевые папки, принтер, 1с – все это становится доступным.

Объединение офисов

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

Наличие IpSec позволяет повысить уровень защищённости трафика путём шифрования самыми современными методами. А аппаратная поддержка IpSec позволит сделать это быстро. В случаях, когда используется роутер MikroTik без аппаратной поддержки IpSec, нагрузка ложится на CPU роутера, что может быть причиной в понижении пропускной способности L2TP VPN сервера или конкретного туннеля в частности.

Для VPN клиентов использующие ПК на базе: Windows, Linux или MacOS есть возможность подключиться с помощью встроенных L2TP VPN клиентов. Для большинства смартфонов на базе: Android и IOS исключили поддержку L2TP VPN подключений и в качестве альтернативы можно использовать:

  • OpenVPN(инструкция по настройке OpenVPN )
  • Wireguard(инструкция по настройке Wireguard )

Настройка MikroTik VPN сервера L2TP

Первым примером по настройке MikroTik VPN сервера L2TP будет рассмотрен случай, когда нужно объединить два роутера MikroTik в единую сеть. Это может быть два офиса, центральный и региональный или отдельная локация с видеорегистратором и отдельная локация для IP камер. Итак начнём с настройки L2TP VPN сервера на центральном роутере MikroTik, обязательным условием для которого будет наличие статического IP адреса со стороны интернет провайдера.

Добавление новой L2TP VPN подсети

Этим действием нужно задать диапазон IP адресов, которые будут выдаваться L2TP VPN клиентам в установленном профиле, которые будут подключаться к VPN серверу MikroTik. Этот pool IP адресов аналогичен pool адресам DHCP сервера, только будет использоваться L2TP VPN сервером.

Настройка находится IP→Pool

Настройка MikroTik VPN сервер L2TP, создание подсети IP Pool

/ip pool add name=vpnpool ranges=192.168.10.100-192.168.10.150

Настройка профиля L2TP VPN сервера

Для L2TP VPN подключений нужно создать отдельный профиль PPP Profile. Не стоит использовать профили default и default-encryption, т.к. они могут быть задействованы в других типах VPN серверов на центральном роутере MikroTik. Новый профиль будет содержать перечень сетевых настроек, которые будут выдаваться L2TP VPN клиентам, а также общие параметры шифрования.

Настройка находится PPP→Profile

  • Local AddressIP адрес, который будет назначен VPN интерфейсу со стороны центрального роутера MikroTik;
  • Remote Address IP адрес для VPN клиента;
  • DNS сервер – используется в случаях, когда настраивается Windows VPN клиент типа L2TP, который по умолчанию заворачивает интернет трафик через VPN сервер MikroTik. Однако эта опция по умолчанию выключена и VPN клиент не получает настройки DNS.
/ppp profile
add name=l2tp dns-server=192.168.10.1 local-address=\
192.168.10.1 remote-address=vpnpool

Включить L2TP VPN сервер

L2TP Server это основной раздел настройки VPN сервера на центральном роутере MikroTik. Он содержит основные параметры, которые будут использоваться в работе как со стороны сервера, так и со стороны VPN клиента.

Настройка находится PPP→Interface→L2TP Server

  • Default Profile VPN профиль, содержащий согласованные сетевые настройки и методы шифрования между MikroTik VPN сервером и клиентом;
  • Authenticaion – протокол проверки подлинности соединения между VPN сервером и клиентом;
  • Use-ipsec – переключатель между обязательным и необязательным шифрованием IpSec для VPN клиента. Со значением required шифрование IpSec будет обязательным для всех клиентов;
  • Ipec Secret – ключ шифрование IpSec.
/interface l2tp-server server
set authentication=mschap2 default-profile=l2tp enabled=yes \
ipsec-secret=mikrotik-config.ukr use-ipsec=required

Создание учётной записи L2TP VPN клиента

PPP Secret учётной записью будет пользоваться VPN клиент для удаленного подключения к L2TP VPN серверу. Обычно такую учётную запись создают для VPN пользователей на ПК и смартфонах.

Настройка находится PPP→Interface→Secrets

  • Name – имя VPN пользователя;
  • Password VPN пароль;
  • Service – возможность использования VPN записи для любой VPN службы(pptp, ovpn, sstp и тд);
  • Profile – профиль VPN сервера, который содержит сетевые настройки и методы шифрования, которые будут использоваться клиентом при подключении к L2TP VPN серверу на роутере MikroTik.
/ppp secret
add name=user1 password=user1 profile=l2tp

Разрешение FireWall для подключения L2TP VPN клиентов

В разделе Filter Fules нужно создать два разрешающих правила Firewall Rule для L2TP VPN. Firewall в роутере MikroTik работает сверху вниз, поэтому правила разрешения внешних подключений input следует размещать выше по списку правил, которые запрещают внешние подключения. Такую ситуацию можно встретить в базовой конфигурации роутера MikroTik, когда присутствует правило, которое удаляет все пакеты, которые приходят не с LAN интерфейсов.

Настройка находится IP→Firewall

  • Protocol = udp и Dst. Port = 500,1701,4500 – протокол и порт, на котором работает L2TP проколол;
  • Protocol = ipsec-esp – если L2TP VPN сервер используется шифрование IpSec.

Настройка MikroTik VPN сервер L2TP, добавление правила FireWall 1701

Настройка MikroTik VPN сервер L2TP, firewall для обязательного шифрования

Настройка MikroTik VPN сервер L2TP, добавление правила FireWall Accept

/ip firewall filter
add action=accept chain=input comment="Port Access" dst-port=500,1701,4500 \
in-interface=WAN-ether1 protocol=udp
add action=accept chain=input in-interface=WAN-ether1 protocol=ipsec-esp

Настройка L2TP VPN подключения между роутерами MikroTik

В настройке L2TP VPN будут участвовать два роутера MikroTik, один в качества сервера, другой в качестве клиента. На этапе создание такого подключения стоит обратить внимание на модель MikroTik, т.к. от неё зависит количество VPN подключений, а также возможностями обрабатывать большие потоки данных и наличием аппаратного шифрования IpSec.

Настройка MikroTik VPN сервер L2TP, VPN между офисами

Добавление учётной записи для L2TP VPN клиента

Для корректной работы маршрутизации, в учётной записи MikroTik VPN L2TP клиента нужно добавить статические адреса для сервера и клиента. Настройку нужно совершать со стороны L2Tp VPN сервера центрального роутера MikroTik. Такой тип учётной записи PPP Secret характерен при настройке общей сети между двумя роутерами MikroTik.

Настройка находится PPP→Interface→Secrets

  • Name – имя пользователя для удаленного роутера MikroTik;
  • Password VPN пароль;
  • Service – возможность использования VPN записи для любой VPN службы(pptp, ovpn, sstp и тд);
  • Profile – профиль, содержащий согласованные сетевые настройки и методы шифрования между MikroTik VPN сервером и клиентом;
  • Local AddressIP адрес, который будет назначен VPN интерфейсу со стороны центрального роутера MikroTik;
  • Remote Address IP адрес для VPN клиента.
  • И можно переходить на создание L2TP VPN клиента на удаленном роутере MikroTik.
/ppp secret
add local-address=192.168.10.1 name=user2 password=user2 profile=l2tp \
remote-address=192.168.10.2

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

Со стороны удаленного роутера MikroTik нужно добавить учётную запись L2TP клиента, которая будет содержать список настроек, для подключения к MikroTik VPN серверу. Успешное подключение к серверу будут отображаться статусом running в свойствах интерфейса L2TP Client.

Настройка находится PPP→Interface→L2TP Client

  • Connect To – внешний IP адрес VPN сервера MikroTik;
  • User – имя учётной записи, разрешенной для удаленного подключения. Предварительно создаётся на MikroTik VPN сервере;
  • Password VPN пароль;
  • Use-ipsec – использовать обязательное шифрованием IpSec для VPN клиента;
  • Ipec Secret – ключ шифрование IpSec;
  • Allow – протокол проверки подлинности соединения между VPN сервером и клиентом;

Настройка MikroTik VPN сервер L2TP, настройка клиента на MikroTik-2

/interface l2tp-client
add connect-to=90.200.100.99 disabled=no ipsec-secret=mikrotik-config.ukr use-ipsec=yes name=\
l2tp-out1 password=user2 user=user2

Настройка маршрутизации со стороны VPN сервера

Это правило укажет центральному роутеру MikroTik через какой шлюз направлять трафик для удаленного роутера MikroTik.

Настройка находится IP→Routes

  • Dst. Address – удаленная сеть MikroTik VPN клиента;
  • Gateway – значение Remote Address учётной записи L2TP VPN клиента.

Настройка MikroTik VPN сервер L2TP, добавление статического маршрута на сервере

/ip route
add distance=1 dst-address=192.168.88.0/24 gateway=192.168.10.2

Настройка маршрутизации со стороны VPN клиента

Аналогичное правило маршрутизации нужно создать со стороны MikroTik VPN клиента.

Настройка находится IP→Routes

  • Dst. Address – удаленная сеть MikroTik VPN сервера;
  • Gateway – значение Local Address учётной записи L2TP VPN клиента.

Настройка MikroTik VPN сервер L2TP, добавление статического маршрута на клиенте

/ip route
add distance=1 dst-address=192.168.0.0/24 gateway=192.168.10.1

Настройка Windows VPN подключения L2TP

ОС семейства Windows имеют встроенный(штатный) VPN клиент, который отлично подходит под эту роль. Для его настройки нужно перейти по указанному пути:

Панель управления\Сеть и Интернет\Центр управления сетями и общим доступом

Создание Windows VPN клиента

Настройка MikroTik VPN сервер L2TP, создание Windows VPN клиента

Выбор нового подключения

Настройка MikroTik VPN сервер L2TP, выбор нового подключения

Использовать текущее подключение к интернету

Настройка MikroTik VPN сервер L2TP, использовать текущее подключение к интернету

Указать адрес IP адрес MikroTik VPN сервера

Настройка MikroTik VPN сервер L2TP, указать адрес VPN сервера

Общие настройки VPN клиента Windows

Указать ключ IpSec

Подключение Windows VPN

Статус подключения Windows VPN

На этом настройка L2TP VPN сервера на базе роутера MikroTik завершена. Были рассмотрены два самых распространённых примера использования VPN: создание общей сети и удаленное подключение пользователей.

Есть вопросы или предложения по настройке VPN типа L2TP в MikroTik? Активно предлагай свой вариант настройки! Оставить комментарий

Summary

Standards: RFC 2661

L2TP is a secure tunnel protocol for transporting IP traffic using PPP. L2TP encapsulates PPP in virtual lines that run over IP, Frame Relay and other protocols (that are not currently supported by MikroTik RouterOS). L2TP incorporates PPP and MPPE (Microsoft Point to Point Encryption) to make encrypted links. The purpose of this protocol is to allow the Layer 2 and PPP endpoints to reside on different devices interconnected by a packet-switched network. With L2TP, a user has a Layer 2 connection to an access concentrator — LAC (e.g., modem bank, ADSL DSLAM, etc.), and the concentrator then tunnels individual PPP frames to the Network Access Server — NAS. This allows the actual processing of PPP packets to be separated from the termination of the Layer 2 circuit. From the user’s perspective, there is no functional difference between having the L2 circuit terminate in a NAS directly or using L2TP.

It may also be useful to use L2TP just as any other tunneling protocol with or without encryption. The L2TP standard says that the most secure way to encrypt data is using L2TP over IPsec (Note that it is default mode for Microsoft L2TP client) as all L2TP control and data packets for a particular tunnel appear as homogeneous UDP/IP data packets to the IPsec system.

Multilink PPP (MP) is supported in order to provide MRRU (the ability to transmit full-sized 1500 and larger packets) and bridging over PPP links (using Bridge Control Protocol (BCP) that allows to send raw Ethernet frames over PPP links). This way it is possible to setup bridging without EoIP. The bridge should either have an administratively set MAC address or an Ethernet-like interface in it, as PPP links do not have MAC addresses.

L2TP includes PPP authentication and accounting for each L2TP connection. Full authentication and accounting of each connection may be done through a RADIUS client or locally.

MPPE 128bit RC4 encryption is supported.

L2TP traffic uses UDP protocol for both control and data packets. UDP port 1701 is used only for link establishment, further traffic is using any available UDP port (which may or may not be 1701). This means that L2TP can be used with most firewalls and routers (even with NAT) by enabling UDP traffic to be routed through the firewall or router.

L2TP Client

Sub-menu: /interface l2tp-client

Properties

Property Description
add-default-route (yes | no; Default: no) Whether to add L2TP remote address as a default route.
allow (mschap2 | mschap1 | chap | pap; Default: mschap2, mschap1, chap, pap) Allowed authentication methods.
connect-to (IP; Default: ) Remote address of L2TP server
comment (string; Default: ) Short description of the tunnel.
default-route-distance (byte; Default: ) Since v6.2, sets distance value applied to auto created default route, if add-default-route is also selected
dial-on-demand (yes | no; Default: no) connects only when outbound traffic is generated. If selected, then route with gateway address from 10.112.112.0/24 network will be added while connection is not established.
disabled (yes | no; Default: yes) Enables/disables tunnel.
keepalive-timeout (integer [1..4294967295]; Default: 60s) Since v6.0rc13, tunnel keepalive timeout in seconds.
max-mru (integer; Default: 1460) Maximum Receive Unit. Max packet size that L2TP interface will be able to receive without packet fragmentation.
max-mtu (integer; Default: 1460) Maximum Transmission Unit. Max packet size that L2TP interface will be able to send without packet fragmentation.
mrru (disabled | integer; Default: disabled) Maximum packet size that can be received on the link. If a packet is bigger than tunnel MTU, it will be split into multiple packets, allowing full size IP or Ethernet packets to be sent over the tunnel. Read more >>
name (string; Default: ) Descriptive name of the interface.
password (string; Default: «») Password used for authentication.
profile (name; Default: default-encryption) Used PPP profile.
user (string; Default: ) User name used for authentication.
use-ipsec (yes | no; Default: no) When this option is enabled, dynamic IPSec peer configuration and policy is added to encapsulate L2TP connection into IPSec tunnel.
ipsec-secret (string; Default: ) Preshared key used when use-ipsec is enabled.

Quick example

This example demonstrates how to set up L2TP client with username «l2tp-hm», password «123» and server 10.1.101.100

[admin@dzeltenais_burkaans] /interface l2tp-client>add name=l2tp-hm user=l2tp-hm password=123 \
\... connect-to=10.1.101.100 disabled=no
[admin@dzeltenais_burkaans] /interface l2tp-client> print detail   
Flags: X - disabled, R - running 
 0    name="l2tp-hm" max-mtu=1460 max-mru=1460 mrru=disabled 
      connect-to=10.1.101.100 user="l2tp-hm" password="123" 
      profile=default-encryption add-default-route=no dial-on-demand=no 
      allow=pap,chap,mschap1,mschap2 

L2TP Server

Sub-menu: /interface l2tp-server

This sub-menu shows interfaces for each connected L2TP clients.

An interface is created for each tunnel established to the given server. There are two types of interfaces in L2TP server’s configuration

  • Static interfaces are added administratively if there is a need to reference the particular interface name (in firewall rules or elsewhere) created for the particular user.
  • Dynamic interfaces are added to this list automatically whenever a user is connected and its username does not match any existing static entry (or in case the entry is active already, as there can not be two separate tunnel interfaces referenced by the same name).

Dynamic interfaces appear when a user connects and disappear once the user disconnects, so it is impossible to reference the tunnel created for that use in router configuration (for example, in firewall), so if you need persistent rules for that user, create a static entry for him/her. Otherwise it is safe to use dynamic configuration.

Note: in both cases PPP users must be configured properly — static entries do not replace PPP configuration.

Server configuration

Sub-menu: /interface l2tp-server server

Properties

Property Description
authentication (pap | chap | mschap1 | mschap2; Default: mschap1,mschap2) Authentication methods that server will accept.
default-profile (name; Default: default-encryption) default profile to use
enabled (yes | no; Default: no) Defines whether L2TP server is enabled or not.
max-mru (integer; Default: 1450) Maximum Receive Unit. Max packet size that L2TP interface will be able to receive without packet fragmentation.
keepalive-timeout (integer; Default: 30) If server during keepalive-timeout period does not receive any packets, it will send keepalive packets every second, five times. If the server still does not receive any response from the client, then the client will be disconnected after 5 seconds.
Logs will show 5x «LCP missed echo reply» messages and then disconnect. Available starting from v5.22 and v6rc3.
max-mtu (integer; Default: 1450) Maximum Transmission Unit. Max packet size that L2TP interface will be able to send without packet fragmentation.
use-ipsec (no | yes | require; Default: no) When this option is enabled, dynamic IPSec peer configuration is added to suite most of the L2TP road-warrior setups. When require is selected server will accept only those L2TP connection attempts that were encapsulated in the IPSec tunnel.
ipsec-secret (string; Default: ) Preshared key used when use-ipsec is enabled
mrru (disabled | integer; Default: disabled) Maximum packet size that can be received on the link. If a packet is bigger than tunnel MTU, it will be split into multiple packets, allowing full size IP or Ethernet packets to be sent over the tunnel. Read more >>

To enable L2TP server:

[admin@MikroTik] interface l2tp-server server> set enabled=yes
[admin@MikroTik] interface l2tp-server server> print
          enabled: yes
          max-mtu: 1450
          max-mru: 1450
             mrru: disabled
   authentication: pap,chap,mschap1,mschap2
  default-profile: default-encryption
[admin@MikroTik] interface l2tp-server server>

Monitoring

Monitor command can be used to monitor status of the tunnel on both client and server.

[admin@dzeltenais_burkaans] /interface l2tp-client> monitor 0
     status: "connected"
     uptime: 7h24m18s
  idle-time: 6h21m4s
   encoding: "MPPE128 stateless"
        mtu: 1450
        mru: 1450

Read-only properties

Property Description
status () Current L2TP status. Value other than «connected» indicates that there are some problems establishing tunnel.

  • dialing — attempting to make a connection
  • verifying password — connection has been established to the server, password verification in progress
  • connected — tunnel is successfully established
  • terminated — interface is not enabled or the other side will not establish a connection
uptime (time) Elapsed time since tunnel was established.
idle-time (time) Elapsed time since last activity on the tunnel.
encoding () Used encryption method
local-address (IP Address) IP Address of local interface
remote-address (IP Address) IP Address of remote interface
mru (integer) Negotiated and used MRU

Application Examples

Connecting Remote Client

The following example shows how to connect a computer to a remote office network over L2TP encrypted tunnel giving that computer an IP address from the same network as the remote office has (without any need of bridging over EoIP tunnels)

Consider following setup:

Office router is connected to internet through ether1. Workstations are connected to ether2.
Laptop is connected to the internet and can reach Office router’s public IP (in our example it is 192.168.80.1).

First step is to create a user

[admin@RemoteOffice] /ppp secret> add name=Laptop service=l2tp password=123
local-address=10.1.101.1 remote-address=10.1.101.100
[admin@RemoteOffice] /ppp secret> print detail
Flags: X - disabled
  0   name="Laptop" service=l2tp caller-id="" password="123" profile=default
      local-address=10.1.101.1 remote-address=10.1.101.100

[admin@RemoteOffice] /ppp secret>

Notice that L2TP local address is the same as routers address on local interface and remote address is from the same range as local network (10.1.101.0/24).

Next step is to enable L2TP server and L2TP client on the laptop.

[admin@RemoteOffice] /interface l2tp-server server> set enabled=yes
[admin@RemoteOffice] /interface l2tp-server server> print
            enabled: yes
            max-mtu: 1460
            max-mru: 1460
               mrru: disabled
     authentication: mschap2
    default-profile: default-encryption
[admin@RemoteOffice] /interface l2tp-server server>

L2TP client from the laptop should connect to routers public IP which in our example is 192.168.80.1.
Please, consult the respective manual on how to set up a L2TP client with the software you are using.

Note: By default Windows sets up L2TP with IPsec. To disable IpSec, registry modifications are required. Read more >>

At this point (when L2TP client is successfully connected) if you will try to ping any workstation from the laptop, ping will time out, because Laptop is unable to get ARPs from workstations. Solution is to set up proxy-arp on local interface

[admin@RemoteOffice] interface ethernet> set ether2 arp=proxy-arp
[admin@RemoteOffice] interface ethernet> print
Flags: X - disabled, R - running
  #    NAME                 MTU   MAC-ADDRESS         ARP
  0  R ether1              1500  00:30:4F:0B:7B:C1 enabled
  1  R ether2              1500  00:30:4F:06:62:12 proxy-arp
[admin@RemoteOffice] interface ethernet>

After proxy-arp is enabled client can now successfully reach all workstations in local network behind the router.

Site-to-Site L2TP

The following is an example of connecting two Intranets using a L2TP tunnel over the Internet.

Consider following setup:

Office and Home routers are connected to internet through ether1, workstations and laptops are connected to ether2.
Both local networks are routed through L2TP client, thus they are not in the same broadcast domain. If both networks should be in the same broadcast domain then you need to use BCP and bridge L2TP tunnel with local interface.

First step is to create a user

[admin@RemoteOffice] /ppp secret> add name=Home service=l2tp password=123
local-address=172.16.1.1 remote-address=172.16.1.2 routes="10.1.202.0/24 172.16.1.2 1"
[admin@RemoteOffice] ppp secret> print detail
Flags: X - disabled
  0   name="Home" service=l2tp caller-id="" password="123" profile=default
      local-address=172.16.1.1 remote-address=172.16.1.2 routes="10.1.202.0/24 172.16.1.2 1"

[admin@RemoteOffice] /ppp secret>

Notice that we set up L2TP to add route whenever client connects. If this option is not set, then you will need static routing configuration on the server to route traffic between sites through L2TP tunnel.

Next step is to enable L2TP server on the office router and configure L2TP client on the Home router.

[admin@RemoteOffice] /interface l2tp-server server> set enabled=yes
[admin@RemoteOffice] /interface l2tp-server server> print
            enabled: yes
            max-mtu: 1460
            max-mru: 1460
               mrru: disabled
     authentication: mschap2
    default-profile: default-encryption
[admin@RemoteOffice] /interface l2tp-server server>
[admin@Home] /interface l2tp-client> add user=Home password=123 connect-to=192.168.80.1 disabled=no
[admin@Home] /interface l2tp-client> print
Flags: X - disabled, R - running
 0 R  name="l2tp-out1" max-mtu=1460 max-mru=1460 mrru=disabled connect-to=192.168.80.1 user="Home" 
       password="123" profile=default-encryption add-default-route=no dial-on-demand=no 
       allow=pap,chap,mschap1,mschap2
[admin@Home] /interface l2tp-client>

On home router if you wish traffic for the remote office to go over tunnel you will need to add a specific static route as follows:

[admin@Home] /ip route> add dst-address=10.1.101.0/24 gateway=l2tp-out1

After tunnel is established and routes are set, you should be able to ping remote network.

Basic L2TP/IpSec setup

This example demonstrates how to easily setup L2TP/IpSec server on Mikrotik router (with installed 6.16 or newer version) for road warrior connections (works with Windows, Android And iPhones).

First step is to enable L2TP server:

/interface l2tp-server server
set enabled=yes use-ipsec=required ipsec-secret=mySecret default-profile=default

required is set to make sure that only IPSec encapsulated L2TP connections will be accepted.

Now what it does is enables L2TP server and creates dynamic ipsec peer iwth specified secret

[admin@MikroTik] /ip ipsec peer> print 
 0  D address=0.0.0.0/0 local-address=0.0.0.0 passive=yes port=500 
      auth-method=pre-shared-key secret="123" generate-policy=port-strict 
      exchange-mode=main-l2tp send-initial-contact=yes nat-traversal=yes 
      hash-algorithm=sha1 enc-algorithm=3des,aes-128,aes-192,aes-256 
      dh-group=modp1024 lifetime=1d dpd-interval=2m dpd-maximum-failures=5 

Note: Care must be taken if static ipsec peer configuration exists.

Next step is to create VPN pool and add some users.

/ip pool add name=vpn-pool range=192.168.99.2-192.168.99.100

/ppp profile
set default local-address=192.168.99.1 remote-address=vpn-pool

/ppp secret
add name=user1 password=123
add name=user2 password=234

If there are strict firewall policies, do not forget to add rules which accepts l2tp and ipsec.

/ip firewall filter
add chain=input protocol=udp port=1701,500,4500
add chain=input protocol=ipsec-esp

Now router is ready to accept L2TP/IpSec client connections.

L2TP/IpSec with static IPSec server setup

Ipsec/L2TP behind NAT

Consider setup as illustrated below

Client needs secure connection to the office with public address 1.1.1.1, but server does not know what will be the source address from which client connects. It is so called road-warrior setup.
Our client will also be located behind the router with enabled NAT.

For the setup RouterOS router will be used as the client device behind NAT (it can be any device: Windows PC, Smartphone, Linux PC, etc.)

IP Connectivity

On the server:

/ip address 
add address=1.1.1.1/24 interface=ether1

/ip route
add gateway=1.1.1.2

On the clients router:

/ip address 
add address=2.2.2.2/24 interface=ether1
add address=10.5.8.0/24 interface=ether2

/ip route
add gateway=2.2.2.1

/ip firewall nat
add chain=srcnat action=masquerade out-interface=ether1

On the client:

/ip address
add address=10.5.8.120/24 interface=ether1

L2TP Config

On the server:

/interface l2tp-server server
set enabled=yes profil=default

/ip pool 
add name=l2tp-pool ranges=192.168.1.2-192.168.1.20

/ppp profile 
set default local-address=192.168.1.1 remote-address=l2tp-pool

/ppp secret
add name=l2tp-test password=test123456

On the client:

/interface l2tp-client
add connect-to=1.1.1.1 disabled=no name=l2tp-out1 password=password user=l2tp-test

IpSec Config

On server side:

/ip ipsec proposal
set [ find default=yes ] enc-algorithms=3des,aes-128,aes-192,aes-256
/ip ipsec peer
add generate-policy=yes hash-algorithm=sha1 nat-traversal=yes secret=test123456

RouterOS as client:

/ip ipsec proposal
set [ find default=yes ] enc-algorithms=aes-128
/ip ipsec peer
add address=1.1.1.1/32 hash-algorithm=sha1 nat-traversal=yes secret=test123456

/ip ipsec policy
add dst-address=1.1.1.1/32 protocol=udp sa-dst-address=1.1.1.1 \
      sa-src-address=10.5.8.120 src-address=10.5.8.120/32

Notice that nat-traversal is enabled. This option is required because Ipsec connection will be established through the NAT router otherwise Ipsec will not be able to establish phase2.

Warning: Only one L2TP/IpSec connection can be established through the NAT. Which means that only one client can connect to the sever located behind the same router.

Apple iOS (iPhone/iPad) Client

You must choose L2TP as VPN type in iOS to connect to the IPsec/L2TP server on RouterOS (this includes the default IPsec server created by QuickSet VPN checkbox).

Read More

  • BCP (Bridge Control Protocol)
  • MikroTik RouterOS and Windows XP IPSec/L2TP

[ Top | Back to Content ]

Сегодня расскажу как настроил L2TP на Микротике с авторизацией через Active Directory (AD). Расскажу про 2 схемы реализации доступа к сетям( чуть-чуть про безопасность).

Конечно вы скажите что таких статей куча( пример, пример 2), но я сделал небольшую автоматизацию для пользователей, читайте далее….

Начнём с описания схемы

Пользователи подключаются к Mikrotik, лучше конечно Mikrotik с аппаратной поддержкой IPsec, это такие модели, как RB730Gr3 или RB4011 или CCR1009, авторизовываясь через AD, для этого нам и потребуется RAIDUS, а далее пользователь должен попадать в сеть для доступа в терминальный сервер( в нашем случаем только в сеть 192.168.10.0/24 vlan 20).

Пользователю запрещено подключаться к нам в сеть и сеть серверов( см. самый последний скриншот).

Начнём создания сети, создаём pool ip которые будем раздавать нашим клиентам

Создаём пул для нашей VPN сети

Вот такой диапазон я выбрал, вы же можете взять любой из частных:

вот такой диапазон я выбрал

Далее создаём PPP профиль IP->PPP->Profiles, DNS я указал -это тоже ip этого микротика, вы можете исходя из этого примера указать 172.16.45.1( это потом нам пригодится), указываем, имя, адрес нашего микротика 172.16.45.1 и выбираем наш только что созданный пул.

Change TCP MSS — yes

Use UPnP можно выбрать no

во вкладке протоколы убираем возможность использования IPv6 (если она у вас есть)

«В PPP Profile оставили Encryption, Compression в default — привет MPPE внутри IPsec», нам этого не надо, поэтому включаем.

После того как создали профиль возвращаемся в назад и включаем L2TP Server, указываем, всё как на рисунке, только между вторым и третьим шагом нужно выбрать наш только что созданный профиль.

На третьем шаге включаем использование шифрования, что бы наши данные если и смогу перехватить, то не смогли бы расшифровать. на четвёртом шаге указываем наш ключ IPsec (чем длиннее, тем лучше)

«Pre Shared Key для IKE AUTH должен быть не менее 32 символов и создан с энтропией не менее 256 бит.

IKE Aggressive exchange необходимо запретить для избегания Offline Dictionary Attack на ваш PSK.»

Called ID Type у меня указано ip address, а так же я чуть позже поставил галочку одна сессия на хост (но если работает из под NAT, то больше чем 1 клиент всё равно не подключится)

в Default-Profile указываем наш профиль см. рисунок

«Если вы не уменьшите MTU до fail-safe 1400, то будет выполняться fragmentation after encapsulation, а это приводит к низкой производительности IPsec туннеля.

То есть мы инкапсулируем IP пакет в PPP кадр, далее в L2TP пакет, далее в UDP, потом в ESP, потом если повезёт сразу в IP, если нет снова в UDP и потом в IP, последний этап потребует выполнить фрагментацию поскольку итоговый размер UDP/ESP будет превышать MTU.»

Очевидно, что причина этого — сложный путь обработки трафика, который полностью ложится на плечи CPU. Можно ли этого как-либо избежать? Можно, в RouterOS v6 для этого появилась новая технология — Fast Path (быстрый путь), которая позволяет направить трафик по быстрому пути, без обработки ядром ОС, что позволяет существенно снизить нагрузку на систему.

Основная мысль, положенная в основу этой технологии такова, что пакеты уже установленных соединений, а также тех участков передачи трафика, где не требуется фильтрация и контроль, можно отправить по быстрому пути, тем самым разгружая процессор и ускоряя передачу данных. Fast Path — это расширение драйвера интерфейса, которое позволяет ему напрямую взаимодействовать с некоторыми подсистемами RouterOS и пропускать остальные.

Авторизовывать пользователей мы будем через Windows Active Directory, для этого нам потребуется Radius, переходим

IP->PPP->Secrets и как указано на рисунке включаем Radius аутентификацию

включаем Radius аутентификацию

включаем Radius аутентификацию

Далее нам потребуется настроить работу Radius, начнём со стороны Микротик, как показано на рисунке ниже, радиус будет использоваться только для PPP соединений,

  • указываем ip нашего сервера с развёрнутой службой NPS на Windows Server, в нашем случае это 192.168.10.2

  • Придумываем ключ для работы Radius ( взаимодействия Mikrotik и NPS) это не тот ключ, что мы придумывали IPsec

  • Source IP address of the packets sent to RADIUS server оставляем 0.0.0.0/0

2. Настройка Windows Server

Для начала добавим новую роль, это «Сервер политики сети» (NPS), требуется для разворачивания Radius сервера, пошаговая инструкция ниже.

А так же нам потребуется пакет администрирования CMAK

включаем CMAK

включаем CMAK

Запускаем NPS,

Регистрируем сервер а Active Directory

Если работаем с Mikrotik, то достаточно оставить только порты 1812 и 1813

Создаём RADIUS клиента

В нашем случае, это будет Mikrotik, указываем его ip адрес, у нас это шлюз, в пунктах 3,4 (см. рисунок) указываем секретную фразу которую будем использовать для подключения клиента

Идём на контроллер AD, создаём группу доступа к VPN, добавляем в неё пользователей, кто будет иметь доступ к подключению.

Вернёмся в NPS.

Идём в «Политики->Сетевые политики», создаём новую

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

Указываем нормальное имя клиента, что бы боты не подключались

Проверка подлинности будет MS-CHAP-v2, EAP- сертификаты не используем, кто хочет может развернуть центр сертификации и выдавать сертификаты, но это совсем другая история…

Создаём политику запросов

Ограничим работу VPN по дням недели и времени суток( нечего нас ломать пока мы спим)

я запретил работу с 1 ночи до 5 утра и в воскресенье

3. Настройка клиентского пакета через CMAK

учтите если требуется создание пакета для 32-bit систем, то потребуется установить CMAK на машинке 32bit и на ней проделать те же самые манипуляции

Далее пошаговые скриншоты по созданию пакета

указываем более позднюю windows

указываем более позднюю windows
создаём новый профиль

создаём новый профиль
имя службы лучше называть названием организации так будет наглядней для юзера

имя службы лучше называть названием организации так будет наглядней для юзера
т.к. ip может поменяться, лучше указывайте доменное имя, прописать cname или A запись не составит труда

т.к. ip может поменяться, лучше указывайте доменное имя, прописать cname или A запись не составит труда
IPv6 мне тяжелова-то поэтому мы его не используем

IPv6 мне тяжелова-то поэтому мы его не используем
указываем стратеги VPN — L2TP, у меня не правильно выбрано!,

заходим в настройки

интернет мы через себя раздавать не будем, поэтому галочку снимаем

Указываем IPsec ключ в раздел и «общий ключ» тот что из раздела настройки Mikrotik (см.выше)

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

#You2021Company!, где YouCompany название вашей компании.

И вот тут как раз та заковырочка, здесь мы указываем «батничек» с маршрутом, что бы пользователь прозрачно попадал и работал с той сетью, которую мы хотим ему предоставить.

Вот что указано в нашем route.bat

Если хотите, то можно забрендировать, под стиль компании, указать логитип

Указываем файл-соглашение для пользователя (что-то пугающее, что бы свои пароли никому не разглашали!)

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

Настройка Firewall

Создаём правило в Микротике

Исключение из NAT L2TP клиентов через ipsec:out не требуется, это актуально только для транзитного трафика и чистого IPsec. Поскольку XFRM lookup выполняется после SNAT, для L2TP клиентов RD выполняется раньше чем SNAT, а после инкапсуляции L2TP в ESP, трафик порождается локально и в SNAT не попадает.»

В основном правиле  s-nat или маскарадинга (у кого настроен частный случай) указываем что  мы "НЕ НАТИМ"!

В основном правиле s-nat или маскарадинга (у кого настроен частный случай) указываем что мы «НЕ НАТИМ»!

Запрещаем взаимодействие сете между собой ip->firewall->вкладка rules, ставим значение действий «drop».

Вот и всё, теперь можно проверять, закидываем пользователя в доменную группу, скачиваем zip пакет, устанавливаем и пробуем авторизоваться.

Использовал следующие публикации:

  • https://xn—-7sba7aachdbqfnhtigrl.xn--j1amh/nastrojka-mikrotik-ipsec-vpn-tunnel-mezhdu-ofisami/

  • спасибо@zanswer за продуктивную критику, всё что рекомендовали-исправил

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

В статье разбирается настройка L2TP- и L2TP/IPSec-туннеля на оборудовании MikroTik с целью подключения рабочего места сотрудника (client-to-site VPN). После создания VPN-канала между сетями будет работать маршрутизация и будет выполнена проверка работоспособности. Также будут разобраны типичные проблемы, которые могут возникнуть в процессе настройки и проверки.

Схема сети

Схема сети VPN на маршрутизаторах MikroTik

Схема сети VPN на маршрутизаторах MikroTik

В головном офисе установлен маршрутизатор GW1. Он же будет настроен в качестве VPN-сервера. В этом же офисе работает сервер DC1, который является контроллером домена и параллельно выполняет функции DNS и WINS-сервера. К головному офису будет подключаться компьютер, который будет настроен как VPN-клиент.

Головной офис
IP-адрес внешней сети головного офиса: 10.1.100.0/24
IP-адрес внешнего интерфейса маршрутизатора GW1: 10.1.100.1/24

IP-адрес внутренней сети головного офиса: 192.168.15.0/24
IP-адрес внутреннего интерфейса маршрутизатора GW2: 192.168.15.1/24
IP-адрес сервера DC1: 192.168.15.10/24

Удаленный компьютер
IP-адрес удаленного компьютера: 10.1.200.1/24

VPN-канал
IP-адрес VPN-интерфейса маршрутизатора GW1: 172.16.30.101/32
Пулл адресов VPN-канала: 172.16.30.102 — 172.16.30.253

Полезные материалы по MikroTik

На Telegram-канале Mikrotik-сэнсей можно получить доступ к закрытой информации от официального тренера MikroTik. Подписывайтесь

ИП Скоромнов Дмитрий Анатольевич, ИНН 331403723315

Настройка

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

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

Включить L2TP-сервер. Не смотря на то, что L2TP не несет в себе нормального шифрования, лучше оставить только аутентификацию «mschap2» как наиболее надежную.

Включение L2TP-сервера на маршрутизаторе МикроТик

Включение L2TP-сервера на маршрутизаторе МикроТик

Создать пул адресов для VPN-подключений:

Создание пула адресов для L2TP client-to-site на маршрутизаторе МикроТик

Создание пула адресов для L2TP client-to-site на маршрутизаторе МикроТик

Создать профиль для VPN подключений. Указать адрес сервера DC1, который является DNS и WINS сервером. Без указания DNS и WINS VPN-подключение произойдет, но не будет возможности обращаться к узлам по именам.

Создание PPP-профиля для L2TP client-to-site на маршрутизаторе МикроТик

Добавить аккаунт пользователя:

Создание пользователя для L2TP client-to-site на маршрутизаторе МикроТик

На интерфейсе маршрутизатора, который смотрит в локальную сеть включить arp-proxy. Это нужно для того, чтобы удаленный клиент мог связываться с локальными хостами:

Включение arp-proxy для L2TP client-to-site на маршрутизаторе МикроТик

Включение arp-proxy для L2TP client-to-site на маршрутизаторе МикроТик

Создать профиль IPSec для подключения клиента (адрес 0.0.0.0/0 т.к. удаленный адрес клиента неизвестен):

Создание IPsec для L2TP client-to-site на маршрутизаторе МикроТик

Создание IPsec для L2TP client-to-site на маршрутизаторе МикроТик

Через консоль

/interface l2tp-server server
set authentication=mschap2 enabled=yes

/ip pool
add name=vpn-pool ranges=172.16.30.102-172.16.30.253

/ppp profile
add name="L2TP client-to-site" change-tcp-mss=yes local-address=172.16.30.101 remote-address=vpn-pool dns-server=192.168.15.10 wins-server=192.168.15.10

/ppp secret
add name=user-laptop password=user-laptop-password profile="L2TP client-to-site" service=l2tp

/interface ethernet
set ether1-LAN1 arp=proxy-arp

/ip ipsec peer
add address=0.0.0.0/0 comment=client-to-site enc-algorithm=3des,aes-128,aes-256 exchange-mode=main-l2tp generate-policy=port-strict nat-traversal=yes secret=ipsec-password send-initial-contact=no auth-method=pre-shared-key

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

Не требуется.

Следует учесть

  • AES является единственным алгоритмом, который поддерживается модулем аппаратного шифрования, если такой установлен на маршрутизатор.
  • Если требуется подключение только по L2TP без IPsec, то достаточно пропустить последний пункт по настройке IPsec. При этом надо учесть, что встроенный VPN-клиент Windows не поддерживает подключение по L2TP без IPSec. Для того, чтобы такое подключение заработало необходимо править реестр операционной системы.

Проверка

Для того, что бы проверить VPN-соединение достаточно запустить ping с компьютера VPN-клиента на любой компьютер в сети за маршрутизатором GW1.

Типичные проблемы

  • Если VPN-соединение не устанавливается, то надо проверить:
  1. Не мешает ли файервол. Для уверенности лучше временно отключить все правила файервола на маршрутизаторе.
  2. Совпадают ли имя пользователя, пароль и ключ IPsec.
  3. На VPN-клиенте указан правильный адрес VPN-сервера к которому должно происходить подключение.

Полезные материалы по MikroTik

На Telegram-канале Mikrotik-сэнсей можно получить доступ к закрытой информации от официального тренера MikroTik. Подписывайтесь

ИП Скоромнов Дмитрий Анатольевич, ИНН 331403723315

Полезные статьи

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.

Надежен в эксплуатации.

Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.

Гибкий в настройке.

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

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

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

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Ваш компьютер не может передавать изображение на другой экран windows 10 как исправить
  • Зачем нужно индексирование файлов windows 10
  • Taskbar groups windows 11
  • После обновления windows 10 пропал микрофон
  • Замена системных звуков windows