Настройка PPTP VPN сервера на Vyatta
Еще одна интересная тема. Мне недавно было необходимо настроить работу PPTP сервера на Vyatta. Vyatta очень специфичный Linux-дистрибутив основанный на системе Debian и используется в качестве шлюзов, фаерволов и VPN-концентраторов. Сама по себей настройка PPTP сервера на Linux банальна, но в Vyatta для конфигурирования системы используется CLI интерфейс, ну точнее это и не интерфейс вовсе, а набор команд для работы системы (A command-line interface (CLI)) Мне сервер был необходим что-бы иметь защищенный доступ к офисному шлюзу через такие устройства как iPad, iPhone, Android 4.1 & 4.2 любой телефон или таблет. Т.е. будучи в сети 3G телефон соединяется по туннелю с PPTP сервером и получает доступ ко всей системе. Удобно во многих случаях, так как на моем Android 4.1 телефоне есть терминал и я могу выполнять удаленно манипуляции с серверами на Linux в офисной сети. Как реализовать все это, читайте ниже.
Настройка PPTP сервера на Vyatta
Сначала обрисую ситуацию, на Vyatta шлюзе есть 6-ть сетевых интерфейсов, 4-е внутренних, 1-ин для OpenVPN (vtun0) и один внешний, с постоянный IP адресом (pppoe). Наша цель подвесить PPTP сервер именно на внешний IP. PPTP туннельный протокол, соответственно необходимо будет дать клиентам внутренние IP адреса, также не стоит забывать, что на Vyatta шлюзе работает фаерволл, который закрывает все и вся, т.е. его необходимо настроить тоже, иначе он просто не пустит клиентов.
configure
set vpn pptp
Режим аутентификации это юзер\пароль. В моем случае юзер: user, пароль: 1234567
set vpn pptp remote-access authentication mode local
set vpn pptp remote-access authentication local-users username user password 1234567
Устанавливаем размер клиентского пула локальных адресов:
set vpn pptp remote-access client-ip-pool start 192.168.100.110
set vpn pptp remote-access client-ip-pool stop 192.168.100.120
Указываем DNS & WINS серверы, в моем случае, WINS необязательно.
set vpn pptp remote-access dns-servers server-1 192.168.98.2
set vpn pptp remote-access wins-servers server-1 192.168.98.2
Указываем внешний адрес, который и будет слушать PPTP сервер:
set vpn pptp remote-access outside-address 212.233.122.12
Принимаете изменения и сохраняем их в текущей конфиг:
commit
save
exit
На этом настройка сервера окончена. Посмотреть только что принятые настройки можно так:
root@gateway# show vpn
ipsec pptp
[edit]
root@gateway# show vpn pptp
remote-access {
authentication {
local-users {
username user {
password 1234567
}
}
mode local
}
client-ip-pool {
start 192.168.100.110
stop 192.168.100.120
}
dns-servers {
server-1 192.168.98.2
}
outside-address 212.233.122.12
}
[edit]
Настройка фаерволла на Vyatta
PPTP сервер слушает порт 1723, т.е. его надо открыть для доступа снаружи. Открываем конфигурационный файл:
vi /opt/vyatta/etc/config/config.boot
Идем в секцию фаервола и добавляем правило:
rule 20 {
action accept
description "Allow PPTP access from the Internet"
destination {
port 1723
}
protocol tcp
}
Принимаем изменения в системе:
configure
load /opt/vyatta/etc/config/config.boot
commit
save
Проверить статус соединения можно так:
root@gateway:/home/vyatta# show vpn remote-access
Active remote access VPN sessions:
User Time Proto Iface Remote IP TX pkt/byte RX pkt/byte
---------- --------- ----- ----- --------------- ------ ------ ------ ------
vyatta 00h00m12s PPTP ppp1 192.168.100.110 9 114 9 132
Факт что Vyatta редкий дистрибутив, по этому я в двойне надеюсь, что эта статья многим будет полезна. И конечно я продолжу цикл статей по настройке всевозможных сервисов сервисов для Vyatta.