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

#irzOS #роутеры #PPTP #tunnel #IPSec #vpn

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. Нажмите Apply для сохранения настроек.

  4. Перейдите в раздел /service → pptp-server.

pptp 2
Схема 2. Интерфейс настройки сервера

Описания полей:

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

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

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

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

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

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

Установите параметр Encryption как ipsec, задайте ключ в поле Pre-Shared Key, остальные настройки оставьте по умолчанию.

Настройка в 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 (клиента)

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

pptp3
Схема 3. Настройка клиента
  1. В качестве Local IP укажите интерфейс wan – WAN.

  2. Remote IP укажите как 2001.1.1.

  3. В примере username – user, password – заданный ему пароль.

  4. Encryption укажите как ipsec, в поле Pre-Shared Key укажите общий с сервером ключ.

Настройка в 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
Схема 4. Заполнение формы

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

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

Настройка в 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
Схема 6. Заполнение формы

На роутере, выступающим в роли сервера интерфейсу туннеля, автоматически присваивается имя 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
Схема 7. Заполнение формы
  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

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

pptp7

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

pptp8

Завершите настройку командой /system → config → commit.