Личный MikroTik VPN сервер L2TP/SSTP/PPTP

Если вам нужен личный VPN определенной страны с не меняющимся постоянным белым IP адресом, то платные сервисы не помогут. К тому же никакой платный сервис не предоставит полную анонимность, что бы они об этом не писали.

Свой впн — это полный контроль трафика и качество работы.

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

Покупка сервера

Регистрируемся на vdsina, подтверждаем почту и входим в кабинет:

Заказ сервера VDS
Нажимаем «Создать сервер»
Создание сервера VDS
Выбираем:
Debian 11
Стандартные сервера
Тариф (самый дешевый)
Локация (в зависимости от ваших требований)
Отключаем резервное копирование
Нажимаем Создать
Процесс создания сервера
Процесс создания сервера
Получаем письмо на почту с данными для входа
Получаем письмо на почту с данными для входа

Скачиваем и устанавливаем PuTTY — https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Подключение через PuTTY
Указываем IP подключения и нажимаем Open
Предупреждение SSH PuTTY
Видим предупреждение, нажимаем Да и авторизовываемся по логину и паролю из письма

Установка Cloud Hosted Router

Обновляем список пакетов: apt update
Ставим архиватор: apt install unzip -y
Скачиваем CHR: wget —inet4-only —no-check-certificate https://download.mikrotik.com/routeros/6.48.6/chr-6.48.6.img.zip
Распаковываем: unzip chr-6.48.6.img.zip
Смотрим список устройств: fdisk -l

Вывод fdisk -l
Нам нужно название диска /dev/vda

Записываем образ на диск: dd if=chr-6.48.6.img of=/dev/vda bs=4M oflag=sync

Результат записи образа
Результат записи образа

Перезапустим машину:
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

Доступ на Cloud Hosted Router

После перезапуска нужно подключиться к машине через VNC.

Личный MikroTik VPN сервер L2TP/SSTP/PPTP
Заходим в кабинет и нажимаем на _VNC
Личный MikroTik VPN сервер L2TP/SSTP/PPTP
Видим окно авторизации в CHR

Логин: admin, пароля нет

Первым делом создаем администратор и удаляем старого:
/user add name=MikroTik password=1Q2w3e4r group=full
/user remove admin

Личный MikroTik VPN сервер L2TP/SSTP/PPTP
Как это выглядит в консоли

Назначаем IP адрес на интерфейс ether1:
/ip address add interface=ether1 address=1.1.1.2/24
Вместо 1.1.1.2 брать IP адрес, который указан в этой VNC панели. Маска /24 означает маску 255.255.255.0

Добавим маршрут по умолчанию:
/ip route add gateway=1.1.1.1
Вместо 1.1.1.1 брать GATEWAY адрес, который указан в этой VNC панели

Скачиваем WinBox — https://mt.lv/winbox64 и подключаемся по IP, логину и паролю:

Подключение через WinBox
Подключение через WinBox

Активация Cloud Hosted Router

Регистрируемся в кабинете https://mikrotik.com/client

Добавление в CHR DNS сервера

Личный MikroTik VPN сервер L2TP/SSTP/PPTP
IP > DNS
8.8.8.8

Активация CHR

Личный MikroTik VPN сервер L2TP/SSTP/PPTP
System > License
Указываем данные от кабинета MikroTik, в котором ранее зарегистрировались

Мы получили 60 дневную лицензию Cloud Hosted Router, которая будет работать вечно, если не обновлять систему. То есть если по истечению 60 дней обновить систему — лицензия слетит и скорость ограничится 1Мбит.

Настройка Firewall

Сразу защитим сервер. Сменим стандартные порты управления и откроем только нужные порты.

Так как это базовая настройка и расписывать каждое правило не имеет смысла, копируйте и вставляйте в терминал настройки:

New Terminal WinBox
Так выглядит вход в терминал на WinBox
/interface list
add name=WAN
add name=Tunnel
/interface list member
add interface=ether1 list=WAN
/ip firewall filter
add action=accept chain=input comment="accept established,related,untracked" connection-state=established,related,untracked
add action=drop chain=input comment="drop invalid" connection-state=invalid
add action=accept chain=input comment="accept ICMP" protocol=icmp
add action=accept chain=input comment=PPTP dst-port=1723 protocol=tcp
add action=accept chain=input comment=SSTP dst-port=443 protocol=tcp
add action=accept chain=input comment=LetsEncrypt dst-port=80 protocol=tcp
add action=accept chain=input comment=L2TP dst-port=1701,500,4500 protocol=udp
add action=accept chain=input comment=OpenVPN dst-port=1194 protocol=udp
add action=accept chain=input comment="accept MGMT" dst-port=22121,22122 protocol=tcp
add action=drop chain=input comment="drop all WAN" in-interface-list=WAN
add action=accept chain=forward comment="accept established,related, untracked" connection-state=established,related,untracked
add action=drop chain=forward comment="drop invalid" connection-state=invalid
add action=drop chain=forward comment="drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=WAN
/ip service
set telnet disabled=yes
set ftp disabled=yes
set ssh port=22121
set api disabled=yes
set winbox port=22122
set api-ssl disabled=yes
/system identity
set name=VPN
/ip dhcp-client remove 0

После настройки, вход через WinBox будет с указанием порта 22122, например 1.1.1.2:22122

Настройка NAT

IP > Firewall > NAT

Указываем выходящий интерфейс
Указываем выходящий интерфейс
Личный MikroTik VPN сервер L2TP/SSTP/PPTP
На какой внешний IP заменять
Вместо 1.1.1.2 укажите IP сервера
Личный MikroTik VPN сервер L2TP/SSTP/PPTP
Либо автоматическое определение внешнего IP

Настройка DNS over HTTPS

Используется для шифрования DNS запросов от провайдера.

Настройку выполняйте построчно:

/tool fetch url=https://cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
/certificate import file-name=DigiCertGlobalRootCA.crt.pem passphrase=""
/ip dns set use-doh-server=https://1.1.1.1/dns-query verify-doh-cert=yes
/ip dns set servers=""

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

Создание пула адресов для VPN:

Личный MikroTik VPN сервер L2TP/SSTP/PPTP
IP > Pool
/ip pool
add name=pool_VPN ranges=172.31.250.10-172.31.250.200

Создание профиля VPN:

PPP > Profiles

Указываем пул адресов и интерфейс лист
Указываем пул адресов и интерфейс лист
Включаем принудительное шифрование и отключаем лишнее
Включаем принудительное шифрование и отключаем лишнее
Ограничиваем одним подключением на пользователя
Ограничиваем одним подключением на пользователя
Если у вас частые обрывы связи, лучше поставить no
/ppp profile
add change-tcp-mss=yes interface-list=Tunnel local-address=pool_VPN name=profile_VPN only-one=yes remote-address=pool_VPN use-compression=no use-encryption=required use-mpls=no use-upnp=no

Включение PPTP

Личный MikroTik VPN сервер L2TP/SSTP/PPTP
PPP > PPTP Server

Включение L2TP Server

Личный MikroTik VPN сервер L2TP/SSTP/PPTP
PPP > L2TP Server
Указываем IPsec Secret и принудительное использование IPsec

Создание пользователей VPN

PPP > Secrets

Личный MikroTik VPN сервер L2TP/SSTP/PPTP
Создание пользователя VPN

Использование DoH для VPN

В настройках PPP профиля указать адрес DNS сервера сам MikroTik

Личный MikroTik VPN сервер L2TP/SSTP/PPTP
Вручную выставляем IP локального VPN и его же DNS сервером
Личный MikroTik VPN сервер L2TP/SSTP/PPTP
Включаем Allow Remote Requests

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

Личный MikroTik VPN сервер L2TP/SSTP/PPTP
L2TP IPsec подключение

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

Личный MikroTik VPN сервер L2TP/SSTP/PPTP
Настройка L2TP IPsec на Windows 10

Проверка DoH

На сайте https://1.1.1.1/help статус работы DNS over HTTPS

Личный MikroTik VPN сервер L2TP/SSTP/PPTP

Особенности работы L2TP IPsec

При нахождении двух клиентов в одной сети (за одним NAT) L2TP работать не будет, используйте PPTP

Настройка SSTP

VPN для продвинутых пользователей, если вы не знаете как купить домен и сделать SSL сертификат, этот вариант вам не подходит.

Обновление Cloud Hosted Router

Нужно обновиться до RouterOS 7 через System > Package > Check For Updates

Обновление CHR до 7 версии
На момент написания статьи нет версии long-term, но есть Stable со своими косяками

Покупка домена

На том же vdsina покупаем доменное имя в ru зоне

Процесс покупки домена.
Процесс покупки домена на примере super-vpn-vasya.ru. Для оформления нужно создать персону со своими данными.

Создаем A запись на поддомене vpn.super-vpn-vasys.ru и указываем IP адрес сервера VPN

Редактирование DNS на Яндексе
Как выглядит редактирование DNS на Яндексе
Вместо 1.1.1.2 указывайте IP сервера

Получение сертификата

certificate/enable-ssl-certificate dns-name=vpn.super-vpn-vasya.ru

Должно появиться уведомление: progress: [success] ssl certificate updated

Включение SSTP сервера

PPP > SSTP Server

Включение SSTP Server на MikroTik
Выбрать сертификат, версию TLS и профиль

Подключение к SSTP

Встроенная поддержка SSTP есть только на Windows, мобильные устройства только через сторонний клиент. Настройка не отличается от PPTP

SSTP VPN на Windows
Меняется только тип VPN на SSTP