Не отдавна ми се наложи да изградя VPN връзка с микротик ос. Четох доста по темата и установих, че е най добре да се изгради с L2TP. До тук трябва да имаме следното: - Връзка към Интернет на рутера и отдалечения компютър; - NAT на интерфейса към Интернет на рутера; - Компютър в локалната мрежа към който ще се достъпва от отдалечения компютър.

На схемата се вижда, че имаме компютър който е свързан към Интернет. Той ще играе ролята на отдалечения компютър изграждащ VPN връзка с рутера. В случая неговото IP не ни вълнува. Още имаме рутер който също е свързан с Интернет. Неговото IP е 185.163.245.186. Към локална мрежа интерфейса на рутера има IP 10.25.0.2/21. В локалната мрежа имаме и компютър с IP 10.25.2.11/21. Идеята е отдалечения компютър да достъпи локалния чрез VPN връзка. Отново в сбит режим, всичките команди през терминал, преди самата.
### L2TP сървър /ip address add address=10.25.0.1/24 interface=br1-lan /interface l2tp-server server set enabled=yes authentication=mschap2 use-ipsec=yes ipsec-secret=IPSecPass one-session-per-host=yes /ip pool add name=VPN-Pool ranges=10.25.0.95-10.25.0.98 /ppp profile add name=L2TP-Profile local-address=10.25.0.1 remote-address=VPN-Pool dns-server=8.8.8.8 /ip firewall nat add action=masquerade chain=srcnat out-interface=eth1-wan src-address=10.25.0.0/24 ### L2TP клиент със профил /ppp secret add name=Test2 password=test2 service=l2tp profile=L2TP-Profile ### L2TP клиент без профил /ppp secret add name=Test1 password=test1 service=l2tp profile=default local-address=10.25.0.1 remote-address=10.25.0.91
По-подразбиране Windows не позволява L2TP връзки без IPSec криптиране. За да се оправи проблема е нужно да се редактира регистъра.
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters" /v ProhibitIpSec /t REG_DWORD /d 1 /f
Създайте връзка със следните параметри: 🔹Connection name: L2TP-Home 🔹Server name or address: home.tlan.net 🔹VPN type: L2TP/IPsec with pre-shared key 🔹Pre-shared key: слагаме произволен символ, може и 123, Windows изисква полето да не е празно 🔹Type of sign-in info: Username and password 🔹Username: User 🔹Password (optional) : Pa$$W0rD 🔹Remember my sign-in info: чекваме квадратчето Изключване на IPsec (Критична стъпка) 1. Натиснете Win + R, въведете ncpa.cpl и натиснете Enter (това отваря Мрежовите връзки). 2. Намерете новосъздадената VPN връзка, кликнете върху нея с десен бутон и изберете Properties. 3. Отидете на таб Security и се уверете в следните настройки: - Data encryption: Променете на Optional encryption (connect even if no encryption). - В секцията Authentication маркирайте Allow these protocols и изберете нужните протоколи спрямо вашия сървър (най-често Microsoft CHAP Version 2 (MS-CHAP v2)). Задължително рестартирайте Windows машината!
Приемаме, че рутера е настроен да се свързва към Интернет. Имаме NAT на интерфейса гледащ към Интернет. Първото нещо което е необходимо да се стартира L2TP сървъра.
[admin@MikroTik] /interface l2tp-server server [admin@MikroTik] /interface l2tp-server server> set enabled=yes [admin@MikroTik] /interface l2tp-server server> set authentication=mschap2 [admin@MikroTik] /interface l2tp-server server> set use-ipsec=yes [admin@MikroTik] /interface l2tp-server server> set ipsec-secret=Pa$$w0rd [admin@MikroTik] /interface l2tp-server server> set one-session-per-host=yes [admin@MikroTik] /interface l2tp-server server> print enabled: yes max-mtu: 1450 max-mru: 1450 mrru: disabled authentication: mschap2 keepalive-timeout: 30 max-sessions: unlimited default-profile: default-encryption use-ipsec: yes ipsec-secret: Pa$$w0rd caller-id-type: ip-address one-session-per-host: yes allow-fast-path: no
Може и с една команда:
[admin@MikroTik] /interface l2tp-server server set enabled=yes authentication=mschap2 use-ipsec=yes ipsec-secret=Pass one-session-per-host=yes
През WinBox-a щеше да изглежда така: PPP -> Interface -> L2TP Server


ВНИМАНИЕ!!! IPSsec паролата може точно в този вариант да не я хареса защото символа $$ го приема като грешка. Пробвайте да ползвате някоя по проста примерно PaSSw0rd До тук имаме стартирал L2TP сървър. Сега трябва да укажем кои потребители имат право да се свързват към L2TP сървъра. Съществуват два метода, единия е потребителя да получава твърдо IP, което ние му укажем или другия вариант е да получава IP от DHCP.
[admin@MikroTik] ppp secret add name=Test1 password=test1 service=l2tp profile=default-encryption local-address=10.25.0.2 remote-address=10.25.0.91
През WinBox-a щеше да изглежда така: PPP -> Secrets -> +

На практика потребител Test1 може да изгради VPN връзка към Микротик-а и да достъпи потребителя с IP 10.25.2.11
Логиката е следната. В началото ще създадем пул за раздаване на IP адреси за VPN-а. След това ще създадем профайл за VPN-a. Накрая ще създадем потребител използващ профайла на VPN-a. Така като създаваме нов потребител ще му дефинираме само името и паролата, за останалото ще се грижи профайла. Започваме с пула от IP адреси.
[admin@MikroTik] ip pool add name=VPN-Pool ranges=10.25.0.95-10.25.0.98
През WinBox-a щеше да изглежда така: IP -> Pool -> +

Сега да създадем и профайла.
[admin@MikroTik] ppp profile add name=L2TP-Profile local-address=10.25.0.2 remote-address=VPN-Pool dns-server=8.8.8.8
През WinBox-a щеше да изглежда така: PPP -> Profiles -> +

И накрая преди да тестваме да създадем потребителя с динамични адреси.
[admin@MikroTik] ppp secret add name=Test2 password=test2 service=l2tp profile=L2TP-Profile
През WinBox-a щеше да изглежда така: PPP -> Secrets -> +

До тук имаме два потребителя с които можем да тестваме VPN връзката.
Ще покажа връзка на клиент с Windows операционна система към Микротика. Прехвърляме се на клиента с Windows и започваме. Settings -> Network & Internet

VPN.

+ Add a VPN connection.

Попълваме по указания по-долу начин. Внимавайте, Вашето реално IP ще е различно.

Натискаме бутона Save. Внимавайте в Pre-shared key, паролата трябва да съвпада с ipsec-secret от L2TP сървъра в Микротика.

Натискаме бутона Connect.

Това е, връзката е изградена. С ping от отдалечения компютър до локалния можете да проверите дали всичко работи.