Настройка сервера и клиента PPTP на роутере на базе irzOS

#irzOS #роутеры #PPTP #tunnel #IPSec #vpn #r0 #r2 #r10 #r50

PPTP – это сетевой протокол для создания виртуальных частных сетей (VPN), разработанный компанией Microsoft в 1990-х годах. Протокол позволяет обеспечить безопасное соединение между компьютерами, но считается небезопасным из-за устаревшего шифрования. В связи с этим, не рекомендуется использовать данный протокол в чистом виде, вместо этого рекомендуется использовать в связке с IPSec.

Роутеры на базе irzOS поддерживают работу как в качестве PPTP сервера, так и клиента.

Роутеры на базе irzOS имеют возможность автоматической настройки IPSec для туннеля PPTP, но взаимная совместимость гарантируется только между роутерами irzOS, настройка с другими устройствами может быть затруднена.

Настройка irzOS может производиться как посредством Web интерфейса, так и с помощью интерфейса CLI с помощью протокола SSH и терминального клиента. Несмотря на разные способы подключения, логика настройки идентична в обоих случаях.
pptp 1
Схема 1. Схема сети

В данной схеме роутер R1 выступает в качестве сервера PPTP, имеет локальную сеть 192.168.2.0/24 и адрес WAN 200.1.1.1.

Роутер R2 является клиентом, имеет локальную сеть 192.168.3.0/24.

Настройка R1 (сервер)

Первый шаг при настройке сервера – создание учетных записей клиентов, которые будут подключаться.

  1. В разделе /service → client нажмите Add и задайте имя.

  2. В открывшейся форме в выпадающем списке Service выберите сервис, для которого создается пользователь. В данном примере ppttp.

  3. Задайте пароль пользователя в поле Password.

  4. Нажмите Apply для сохранения настроек.

  5. Перейдите в раздел /service → pptp-server и задайте настройки по образцу:

    • Encryption: ipsec

    • Pre-Shared Key: ключ/пароль

Остальные настройки можно оставить по умолчанию. Для сохранения настроек нажмите Apply.

pptp 2

IP Address – IP Адрес, присваиваемый туннельному интерфейсу сервера

IP Pool – диапазон IP адресов, назначаемых клиентам PPTP сервера

Authentification – протокол аутентификации пользователей, mschap-v2 по умолчанию

Encryption – метод шифрования данных в туннеле: mppe, ipsec или none

Pre-Shared Key – общий ключ для IPSec (доступно в случае выбора ipsec в Encryption)

Options – дополнительные опции pppd

Настройка в CLI

/service pptp-server
    auth mschap-v2
    debug -
    disabled true
    encryption ipsec
    ip-addr -
    ip-addr 192.168.98.100
    ip-pool -
    ip-pool 192.168.98.101-192.168.98.200
    ppp-option -
    ppp-option lcp-echo-failure=5,lcp-echo-interval=60
    psk password

  /service pptp-server apply

Настройка R2 (клиента)

  1. Перейдите в раздел /tunnel → pptp и нажмите Add, задайте имя для подключения (PPTP в примере).

  2. В открывшейся форме задайте настройки по образцу:

    • Local IP: WAN.

    • Remote IP: 2001.1.1.

    • В примере Username – user, Password – заданный пароль.

    • Encryption: ipsec

    • Pre-Shared Key: общий ключ с сервером.

Для сохранения настроек нажмите Apply.

pptp3

Настройка в CLI

/tunnel pptp add name=PPTP
    auth any
    debug -
    disabled -
    encryption ipsec
    local-ip WAN
    password password
    ppp-option -
    psk ipseckey
    remote-ip 200.1.1.1
    username user

  /tunnel pptp apply

Настройка файрволла

При установке Encryption как ipsec, дополнительная настройка файрволла на роутере не требуется. При использовании варианта mmp или none требуется вручную создать правило, открывающее TCP порт 1723 на роутере для PPTP сервера.

Для этого в разделе /firewall → filter нажмите Add и заполнить форму следующим образом.

pptp4

После настройки нажмите Apply. В списке правил в /firewall → filter перетащите созданное правило вверх так, чтобы оно было выше запрещающего правила.

pptp9
Схема 2. Созданное правило

Настройка в CLI

/firewall filter add chain=input
    action accept
    dst-addr :1723
    protocol tcp
    src zone-wan
    reorder position=-1
    apply
/firewall filter status
/
/

Настройка маршрутов для доступа к локальным сетям роутеров

В разделе /ip → route → list нажмите Add и добавьте маршруты.

Настройка для R1 (сервер)

pptp5

На роутере, выступающим в роли сервера интерфейсу туннеля, автоматически присваивается имя in_pptp0.

  1. В поле Target укажите подсеть назначения, в данном случае это 192.168.3.0/24.

  2. В поле Source Interface ВРУЧНУЮ введите in_pptp0.

  3. В поле Gateway ничего указывать не требуется.

  4. Нажмите ОК и Apply.

Настройка для R1 (сервер) в CLI

/ip route list add dst-addr=192.168.3.0/24 interface=in_pptp0
    disabled true
    metric -
    src-addr -
    table main
    type unicast
/ip route list apply

Настройка для R2 (клиент)

pptp6
  1. В поле Target укажите подсеть назначения, в данном случае это 192.168.2.0/24.

  2. В поле Source Interface выберите название интерфейса туннеля, в данном примере это PPTP.

  3. В поле Gateway ничего указывать не требуется.

  4. Нажмите ОК и Apply.

Настройка для R2 (клиент) в CLI

/ip route list add dst-addr=192.168.2.0/24 interface=PPTP
    disabled -
    gateway -
    metric -
    src-addr -
    table main
    type unicast
/ip route list apply

Проверка результата с помощью Ping

Перейдите в раздел /tools → ping. Проверка доступности сети сервера R1 с клиента R2:

pptp7

Проверка доступности сети клиента R2 с сервера R1:

pptp8
Все настройки навсегда сохраняются в память роутера только после выполнения команды /system → config → commit или нажатия кнопки commit в web-интерфейсе.