Настройка PPTP подключения в Ubuntu Server
Размещено: 13-06-2015, 18:55 | Просмотров: 3214 | Комментариев: 0
Данной статьей мы продолжим тему настройки коммутируемых соединений в среде Ubuntu Server. Сегодня рассмотрим настройку PPTP подключений, которые могут использоваться как для подключения к интернету, так и для организации корпоративных сетей. Несмотря на то, что материал рассчитан в первую очередь на системных администраторов, он будет полезен всем пользователям Linux.

Для работы Ubuntu Server в качестве PPTP-клиента необходимо установить пакет pptp-linux:
apt-get install pptp-linux

Основные настройки пакета, применяемые ко всем PPTP соединениям по умолчанию хранятся в /etc/ppp/options.pptp, в большинстве случаев менять их нет необходимости, однако вы можете добавить какие-то свои опции, общие для всех соединений.

Для настройки подключения создадим в /etc/ppp/peers файл настроек с его именем:
nano /etc/ppp/peers/test-vpn

Откроем его и внесем следующее содержимое:
pty "pptp vpn.server.local --nolaunchpppd" #тип и адрес сервера
name vpnuser #логин
remotename TEST #имя соединения
require-mppe-128 #включаем поддержку MPPE
nodefaultroute #не создавать маршрут по умолчанию
unit 12 #номер ppp интерфейса
persist #переподключаться при обрыве
maxfail 10 #количество попыток переподключения
holdoff 15 #интервал между подключениями
file /etc/ppp/options.pptp
ipparam $TUNNEL

В нашем примере создано PPTP подключение для корпоративной сети, поэтому мы добавили опцию "не создавать маршрут по умолчанию", если вы настраиваете соединение для доступа в интернет, то нужно наоборот разрешить создание нулевого маршрута, для этого укажите опции:
defaultroute #создавать маршрут по умолчанию
replacedefaultroute #принудительно изменять маршрут по умолчанию

Опция "включаем поддержку MPPE" не является обязательной и требуется только тогда, когда сервер использует этот тип шифрования. Номер ppp интрефейса создает для подключения всегда один и тот же сетевой интерфейс, в нашем случае это будет ppp12.

Отдельно стоит остановиться на наборе опций для автоматического переподключения. Мы настоятельно советуем ограничить количество попыток (0 - неограничено) разумным числом и не ставить слишком маленький промежуток времени. Это позволит ограничить нагрузку на VPN-сервер в случае проблем с подключением (например нет денег на балансе или изменились учетные данные).

Если вы подключаетесь к доменной сети, то имя пользователя следует указывать следующим образом:
name DOMAIN\\vpnuser

Теперь укажем авторизационные данные для нашего пользователя, для этого в файл /etc/ppp/chap-secrets добавим следующую строку:
"vpnuser" TEST "vpnpassword"

которая предусматривает использование указанных учетных данных, где vpnpassword -пароль соединения, для удаленного соеднинения TEST (это имя мы указали в опции remotename). Для доменного пользователя строка будет выглядеть так:
"DOMAIN\\vpnuser" TEST "vpnpassword"

Теперь самое время проверить наше соединение. Первый раз лучше запустить его в интерактивном режиме, тогда все сообщения об ошибках и ходе подключения вы будете видеть прямо в консоли:
pon test-vpn nodetach

Настройка PPTP подключения в Ubuntu Server

В консоли сервера также видим подключившегося клиента:
Настройка PPTP подключения в Ubuntu Server

В дальнейшем управлять соединением можно при помощи команд pon и poff (подключить и отключить соответственно).

Чтобы автоматически поднимать соединение при запуске системы в файл /etc/network/interfaces добавим секцию:
auto tunnel
iface tunnel inet ppp
provider test-vpn

Для доступа в корпоративную сеть может понадобиться добавление статических маршрутов, это тоже можно делать автоматически, для этого в конец созданной секции в файле /etc/network/interfaces добавим строку:
up route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.222

Мы привели реальный маршрут используемый в нашем случае, вы должны указать здесь свои данные, если они не известны - уточните их у системного администратора.

Перезапустим сеть и убедимся что все работает правильно:
/etc/init.d/networking restart

Для получения списка маршрутов воспользуйтесь командой route, также можно пропинговать какой-нибудь внутренний хост.
Настройка PPTP подключения в Ubuntu Server

При подключении к сети интернет через PPTP бывают ситуации, когда, несмотря на указанные опции, нулевой маршрут через туннель не устанавливается. В этом случае можно в конец соответсвующей секции в /etc/network/interfaces добавить:
up route del default
up route add default dev ppp12

где ppp12 - имя вашего ppp интерфейса.