Для того, что бы настроить VPN подключение в операционной системе Linux, Вам необходимо выполнить следующие шаги:
1. В первую очередь убедиться, в поддержке протокола PPP в ядре Вашей ОС.Следующие опции обязательно должны быть включены:
PPP (point-to-point protocol) support
PPP support for async serial ports
PPP support for sync tty ports
Если у вас установленно дефолтное ядро, то скорее всего поддержка протокола PPP уже включена в нем. Об этом можно узнать из конфигурационного файла поставляемого с ядром при помощи команды:
$cat config | grep PPP
Конфигурационный файл ядра config обычно находится в каталоге /boot, если Вы используете ядро установленное в систему по умолчанию. Если у Вас имеется поддержка протокола PPP, то появятся следующие строчки:
CONFIG_PPP=m
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
m - обозначает что поддержка PPP собрана в виде модуля. y - поддержка PPP включена непосредственно в ядро. Если в начале этих строк есть символ решетки - #, то у Вас отсутствует поддержка PPP, следовательно необходимо пересобрать ядро.
2. Скачайте себе pptp клиента для Linux. Его можно найти либо в интернете, либо скачать с нашего сайта: pptp-1.7.0.tar.gz. В данном архиве предоставлен pptp-клиент в виде исходных кодов. На сайтеhttp://pptpclient.sourceforge.net/ вы можете скачать его в любом удобном для Вас формате.Примечание: возможно в Вашей системе уже установлен pptp клиент, либо имеется в составе дистрибутива. Об этом можно узнать из поставляемой с системой документации, либо конфигурационных файлов Вашей системы.
3. Установка PPTP клиента в систему. Если вы выбрали для установки пакет отличный от представленного на нашем сайте, то его установка на Вашей совести. В случае, если Вы поспользоватлись пакетом представленным на нашем сайте, либо аналогичным, то выполните следующее: Распакуйте архив:
$tar -xvvf pptp-1.7.0.tar.gz
Перейдите в полученный каталог, содержащий исходные коды:
$cd pptp-1.7.0
Настоятельно рекомендуется ознакомиться с содержимым файлов README и INSTALL.Произведите сборку исходных кодов:
$make
И установку полученного исполняемого файла, а ткаже документации в Вашу систему:
#make install
Примечание: данную и нижеследующие команды Вы должны выполнять от имени пользователя root, либо с привилегиями данного пользователя.
4. Настройка PPTP подключения.Переходим в каталог /etc/ppp и создаем, либо редактируем файл chap-secrets. Он должен содержать следующую информацию:
# Secrets for authentication using CHAP
# client server secret IP addresses
login * passwd *
Где login - Ваш логин используемый при подключении VPN; passwd - пароль для подключения. Строки начинающиеся с символа "#" являются комментариями и не обязательны. После этого переходим в каталог /etc/ppp/peers (создаем его, если не существует) и создаем файл vpn_connect. Название файла может быть любым, но не забывайте, что при активизации подключения командой pppd Вы используете это имя в качестве аргумента. Данный файл должен содержать опции PPTP подключения. Пишем в него следующие строки:
pty "pptp vpnAAA.a-n-t.ru --nolaunchpppd"
name login
remotename ultra
lock
noauth
defaultroute
nobsdcomp
nodeflate
Не забудьте, если это необходимо, заменить vpnAAA.a-n-t.ru на адрес соответствующий вашему VPN серверу подключению (например, vnpnem.-a-n-t.ru).
Слово login обязательно замените на свой VPN-логин.Примечание: опция defaultroute означает, что после активации подключения, оно автоматически установится у Вас в маршрут по умолчанию. Поэтому желательно настроить маршрутизацию для локальной сети отдельно, при помощи команды route.
5. Подключение и проверка соединения. Для подключения VPN-соединения необходимо выполнить команду:
#pppd call vpn_connect
Примечание: если при создании файла содержащего опции подключения Вы задали название отличное от vpn_connect, то не забудьте заменить его в аргументе команды pppd.Проверить удачность подключения можно при помощи команды ifconfig:
#ifconfig
ppp0 Link encap:Point-to-Point Protocol
inet addr:xxx.xxx.xxx.xxx P-t-P:xxx.xxx.xxx.xxx Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:40 (40.0 b) TX bytes:46 (46.0 b)>
Вместо xxx.xxx.xxx.xxx у Вас должен быть IP адрес PPTP подключения. Если вы увидели подобную информацию, то можете проверить возможность передачи данных через созданное подключение при помощи команды ping. На случай возникновения возможных проблем с настройками маршрутизации в Вашей системе, рекомендуется выполнить ping с опцией -I:
#ping www.ru -I ppp0
Где ppp0 - имя созданного pptp интерфейса. Возможно в Вашей системе оно окажется другим. Например ppp1,ppp2 и т.д. Если связь удачно установлена, то вы будете получать ответы от узла заданного в аргументе команды ping. Если по какой-то причине после выполнения команды pppd call vpn_connect в системе не появился интерфейс ppp0 (либо любой другой ppp), т.е. его не видно в выводе команды ifconfig , то рекомендуется выполнить команду:
#pppd call vpn_connect debug logfd 2 nodetach
В результате Вы увидите возникающие ошибки, и сможете попробовать их устранить.