📋 Содержание
Введение
В этом руководстве мы подробно разберем, как настроить VPN Ubuntu MikroTik соединение с использованием PPTP протокола. Вы узнаете, как поднять безопасный туннель между Ubuntu клиентом и сервером MikroTik, настроить автоматический запуск при загрузке системы и решить распространенные проблемы подключения.
Почему PPTP? Несмотря на существование более современных протоколов (WireGuard, OpenVPN), PPTP остается востребованным благодаря:
- Простоте настройки
- Встроенной поддержке в большинстве ОС
- Минимальным требованиям к ресурсам
- Совместимости со старым оборудованием
⚠️ Важно: PPTP считается устаревшим протоколом. Для критически важных данных рекомендуем использовать L2TP/IPsec или WireGuard.
Подготовка и IP-адреса
Перед началом настройки определимся с сетевой схемой. Вот примерные IP-адреса, которые мы будем использовать:
| Компонент | IP-адрес | Назначение |
|---|---|---|
| MikroTik (WAN) | Публичный IP | Внешний адрес сервера |
| MikroTik (PPTP) | 10.41.0.1 | Адрес туннеля на сервере |
| Ubuntu Client | 10.41.0.5 | Адрес туннеля на клиенте |
| Локальная сеть | 10.40.0.0/24 | Сеть за MikroTik |
| VPN пул | 10.41.0.10-100 | Адреса для клиентов |
Требования к системе
- MikroTik RouterOS v6 или v7
- Ubuntu 20.04/22.04 LTS
- Доступ к терминалу обоих устройств
- Открытые порты на фаерволе (1723/tcp, GRE)
Настройка сервера MikroTik
Подключитесь к MikroTik через WinBox или терминал и выполните следующие команды:
1. Создание пула адресов
/ip pool add name=pptp-pool ranges=10.41.0.10-10.41.0.100
2. Настройка PPP профиля
/ppp profile add name=pptp-profile local-address=10.41.0.1 remote-address=pptp-pool use-encryption=yes
3. Создание пользователя VPN
/ppp secret add name=vpnuser password=strongpassword profile=pptp-profile service=pptp
4. Включение PPTP сервера
/interface pptp-server server set enabled=yes
5. Настройка Firewall
/ip firewall filter add chain=input protocol=tcp dst-port=1723 action=accept comment="Allow PPTP TCP"
/ip firewall filter add chain=input protocol=gre action=accept comment="Allow PPTP GRE"
6. Настройка NAT (для доступа в интернет)
/ip firewall nat add chain=srcnat src-address=10.41.0.0/24 action=masquerade comment="NAT for PPTP"
7. Добавление маршрута к клиенту
/ip route add dst-address=10.40.0.0/24 gateway=pptp-out1
Настройка клиента Ubuntu
1. Установка необходимых пакетов
sudo apt update
sudo apt install pptp-linux ppp -y
2. Создание конфигурации подключения
sudo nano /etc/ppp/peers/mikrotik-pptp
Добавьте следующее содержимое (замените IP на ваш):
pty "pptp 46.229.97.57 --nolaunchpppd"
name vpnuser
password strongpassword
noauth
require-mppe-128
require-mschap-v2
refuse-eap
refuse-chap
refuse-mschap
noipdefault
defaultroute
lock
nobsdcomp
novj
novjccomp
lcp-echo-interval 30
lcp-echo-failure 4
3. Настройка файла секретов
sudo nano /etc/ppp/chap-secrets
Добавьте строку:
vpnuser * strongpassword *
4. Установка правильных прав
sudo chmod 600 /etc/ppp/chap-secrets
sudo chmod 600 /etc/ppp/peers/mikrotik-pptp
5. Тестовое подключение
sudo pppd call mikrotik-pptp debug nodetach
При успешном подключении вы увидите:
CHAP authentication succeeded
MPPE 128-bit stateless compression enabled
local IP address 10.41.0.5
remote IP address 10.41.0.1
Проблемы и решения
В процессе настройки VPN Ubuntu MikroTik мы столкнулись с несколькими проблемами. Вот их решения:
Проблема 1: Опечатка в имени файла
pppd: Can't open options file /etc/ppp/peers/miktotik-pptp: No such file or directory
Решение: Исправить название файла с miktotik-pptp на mikrotik-pptp
Проблема 2: Конфликт аутентификации
LCP: timeout sending Config-Requests
Решение: Настроить MS-CHAPv2 на обоих концах туннеля
Проблема 3: Файл secrets не читается
peer refused to authenticate
Решение: Установить правильные права на файл:
sudo chmod 600 /etc/ppp/chap-secrets
Проблема 4: 🔑 Критическая ошибка noauth
The remote system is required to authenticate itself but I couldn't find any suitable secret
Решение: Добавить опцию noauth в конфиг подключения. Это разрешает клиенту аутентифицироваться у сервера, не требуя ответной аутентификации.
Проблема 5: Неверный путь к pppd
/us/bin/pppd: No such file or directory
Решение: Исправить путь на /usr/sbin/pppd (проверить через which pppd)
Проблема 6: Нет обратного маршрута
Пинг с Ubuntu идет, но обратно — нет.
Решение: Добавить маршрут на клиенте:
sudo ip route add 10.40.0.0/24 via 10.41.0.1 dev ppp0
Автоматизация запуска
Способ 1: rc.local (Рекомендуется)
sudo nano /etc/rc.local
Добавьте содержимое:
#!/bin/bash
sleep 30
/usr/sbin/pppd call mikrotik-pptp &
exit 0
Сделайте файл исполняемым:
sudo chmod +x /etc/rc.local
sudo systemctl enable rc-local
Способ 2: Cron (Альтернатива)
sudo crontab -e
Добавьте строку:
@reboot sleep 60 && /usr/sbin/pppd call mikrotik-pptp
Способ 3: Скрипт маршрутов (ip-up)
Для автоматического добавления маршрутов создайте скрипт:
sudo nano /etc/ppp/ip-up.d/99-add-vpn-route
Содержимое:
#!/bin/bash
ip route add 10.40.0.0/24 via 10.41.0.1 dev $1 2>/dev/null
Сделайте исполняемым:
sudo chmod +x /etc/ppp/ip-up.d/99-add-vpn-route
Проверка после перезагрузки
После настройки автозапуска перезагрузите сервер и выполните проверку:
1. Проверка процесса
ps aux | grep pppd
2. Проверка интерфейса
ip addr show ppp0
Ожидаемый результат:
4: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP>
inet 10.41.0.5 peer 10.41.0.1/32 scope global ppp0
3. Проверка маршрутов
ip route show | grep ppp0
4. Проверка связи
ping 10.41.0.1
ping 10.40.0.1
5. Проверка с вашего компьютера
ping 10.40.5.100
ssh silver@10.40.5.100
FAQ
❓ Почему не работает автозапуск VPN?
Проверьте:
- Правильность пути к pppd (
which pppd) - Права на файл rc.local (
chmod +x) - Статус службы (
systemctl status rc-local) - Логи (
journalctl -u rc-local)
❓ Как изменить IP-адреса в настройках?
Отредактируйте файлы:
/etc/ppp/peers/mikrotik-pptp— не требуется (IP берется от сервера)- MikroTik:
/ip poolи/ppp profile - Маршруты:
/etc/ppp/ip-up.d/99-add-vpn-route
❓ Можно ли использовать L2TP вместо PPTP?
Да, L2TP/IPsec безопаснее. Настройка сложнее, но рекомендуется для продакшена. Требуется установка пакетов network-manager-l2tp и настройка IPsec.
❓ Как отключить VPN?
sudo pkill -9 pppd
sudo pkill -9 pptp
❓ Почему пинг идет только в одну сторону?
Добавьте обратный маршрут на Ubuntu:
sudo ip route add 10.40.0.0/24 via 10.41.0.1 dev ppp0
И проверьте фаервол на MikroTik (разрешите forward между pptp и LAN).
❓ Как посмотреть логи подключения?
sudo grep ppp /var/log/syslog | tail -n 50
sudo journalctl -u ppp --no-pager -n 30
❓ Безопасно ли использовать PPTP?
PPTP считается устаревшим. Для важных данных используйте:
- WireGuard (современный, быстрый)
- L2TP/IPsec (хорошая совместимость)
- OpenVPN (проверенный временем)
✅ Заключение
Теперь у вас есть полностью настроенное VPN Ubuntu MikroTik соединение с автоматическим запуском при загрузке системы. Туннель работает стабильно, маршрутизация настроена корректно, и вы можете безопасно подключаться к серверу из любой точки сети.
Полезные команды для будущего:
# Статус VPN
ps aux | grep pppd
# Перезапуск VPN
sudo pkill -9 pppd && sudo pppd call mikrotik-pptp &
# Логи
sudo grep ppp /var/log/syslog | tail -n 50
# Отключить VPN
sudo pkill -9 pppd

Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.