Arch Linux

Для настройки VPN-соединения нам понадобятся параметры этого соединения:

  • логин: knd-vpn-ХХХХ (указан в договоре)
  • пароль: PassWord (указан в договоре)
  • сервер доступа: plus.kerch.net
  • тип vpn-соединения: PPTP
  • тип аутентификации: CHAP, MS-CHAP
  • параметры TCP\IP: автоматически
  • шифрование данных: нет
  • компрессия данных: нет

Установка нужных пакетов

Для настройки собственно VPN-соединения, потребуются пакеты: ppp, pptpclient и некоторые зависимости.

Установка:

# pacman -S ppp pptpclient

Менеджер пакетов установит необходимые и ещё несколько зависимых пакетов.

Эти пакеты находятся на установочном компакт-диске, поэтому менеджер попросит вставить этот диск.



Настройка

После установки пакета ppp, будет создан каталог /etc/ppp , где собственно и будут содержаться файлы, управляющие PPP- и в частности VPN- -соединениями. Теперь нужно создать или изменить некоторые файлы. Естественно, это нужно делать из под учётной записи root`а. Редактируем или создаём файл конфигурации собственно соединения. Назовём его "mcckerchnet" и поместим в/etc/ppp/peers

Пример файла:
pty "pptp plus.kerch.net --nolaunchpppd"
user "knd-vpn-ХХХХ"
password "PassWord"
require-mschap
noauth
nobsdcomp
nodeflate
nomppe
mtu 1372
mru 1372
defaultroute
lcp-echo-failure 10

Когда файл создан (модифицирован) и скопирован в /etc/peers , нужно выставить необходимые права доступа для ограничения доступа к учётным данным, хранимым в файле. Читать и модифицировать файл следует разрешить только пользователю root. В консоли, это делается примерно так:

 

Переходим в каталог и просматриваем его:

[root@comp ~]# cd /etc/ppp/peers/
[root@comp peers]# ls -l
total 1
-rw-rw-rw- 1 user user 221 Sep 19 11:08 mcckerchnet

 

 

Изменяем владельца файла mcckerchnet, а затем меняем права доступа:

[root@comp peers]# chown root:root mcckerchnet
[root@comp peers]# chmod 600 mcckerchnet

 

Проверяем результат:

[root@comp peers]# ls -l
-rw------- 1 root root 221 Sep 19 11:08 mcckerchnet

Теперь доступ к учётным данным может получить только пользователь root.

Пробуем запустить наше соединение для начала от имени root`а:

 

[root@comp ~]# pon mcckerchnet

pon - активирует соединение с провайдером, сконфигурированным в файле /etc/ppp/peers/providers

Через 3...5 секунд читаем последние события лога /var/log/daemon.log на предмет ошибок. Это можно сделать через команду tail или воспользоваться файловым менеджером типа Midnight Commander, запущенным от имени root`а. Последние события лога будут выглядеть примерно так:

...
Dec 27 22:32:47 comp pppd[3151]: pppd 2.4.5 started by root, uid 0
Dec 27 22:32:47 comp pppd[3151]: Using interface ppp0
Dec 27 22:32:47 comp pppd[3151]: Connect: ppp0 <--> /dev/pts/4
Dec 27 22:32:47 comp pptp[3152]: anon log[main:pptp.c:314]: The synchronous pptp option is NOT activated
Dec 27 22:32:47 comp pptp[3156]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 1 'Start-Control-Connection-Request'
Dec 27 22:32:47 comp pptp[3156]: anon log[ctrlp_disp:pptp_ctrl.c:739]: Received Start Control Connection Reply
Dec 27 22:32:47 comp pptp[3156]: anon log[ctrlp_disp:pptp_ctrl.c:773]: Client connection established.
Dec 27 22:32:48 comp pptp[3156]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 'Outgoing-Call-Request'
Dec 27 22:32:48 comp pptp[3156]: anon log[ctrlp_disp:pptp_ctrl.c:858]: Received Outgoing Call Reply.
Dec 27 22:32:48 comp pptp[3156]: anon log[ctrlp_disp:pptp_ctrl.c:897]: Outgoing call established (call ID 0, peer's call ID 27136).
Dec 27 22:32:52 comp pppd[3151]: CHAP authentication succeeded
Dec 27 22:32:52 comp pppd[3151]: CHAP authentication succeeded
Dec 27 22:32:52 comp pppd[3151]: Cannot determine ethernet address for proxy ARP
Dec 27 22:32:52 comp pppd[3151]: local  IP address 93.190.176.251
Dec 27 22:32:52 comp pppd[3151]: remote IP address 93.190.176.251

Это лог нормально состоявшегося соединения.

Теперь проверим, появился ли в списке сетевых адаптеров VPN-адаптер. Сделать это можно командой ifconfig без параметров:

[root@comp ~]# ifconfig
eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX
inet addr:192.168.XXX.XXX Bcast:192.168.255.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:21554 errors:0 dropped:0 overruns:0 frame:0
TX packets:15437 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7894630 (7.5 Mb) TX bytes:1877575 (1.7 Mb)
Interrupt:20 Memory:d0300000-d0320000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:94 errors:0 dropped:0 overruns:0 frame:0
TX packets:94 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:10336 (10.0 Kb) TX bytes:10336 (10.0 Kb)
ppp0 Link encap:Point-to-Point Protocol
inet addr: 93.190.176.251 P-t-P:93.190.176.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1372 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:42 (42.0 B) TX bytes:48 (48.0 B)

Обратите внимание, что помимо аппаратной сетевой карты eth0 и интерфейса обратной связи, появился адаптер ppp0 - это и есть адаптер VPN-соединения. Проверить прохождение пакетов именно в VPN-канале можно командой ping:

[root@comp ~]# ping ya.ru
PING ya.ru (213.180.193.3) 56(84) bytes of data.
64 bytes from ya.ru (213.180.193.3): icmp_req=1 ttl=56 time=43.4 ms
64 bytes from ya.ru (213.180.193.3): icmp_req=2 ttl=56 time=42.1 ms
64 bytes from ya.ru (213.180.193.3): icmp_req=3 ttl=56 time=42.2 ms
^C
--- ya.ru ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 42.122/42.597/43.408/0.576 ms
[root@comp ~]#

 

Как видно пинг проходит, значит VPN-соединение работает. Отключаем соединение:

[root@comp ~]# poff mcckerchnet

Здесь poff - даёт команду на завершение работы mcckerchnet

Когда соединение настроено и проверено, нужно сконфигурировать операционную систему так, чтобы запускать соединение не от имени учётной записи root`а, а от имени обычного пользователя. Настройка sudo — отредактируйте файл /etc/sudoers до примерно такого вида:

 

root ALL=(ALL) ALL
Host_Alias LOCALHOST = localhost, compname
username LOCALHOST = NOPASSWD: /usr/bin/poff, /usr/bin/pon

 

Здесь вместо compname — подставьте своё имя компьютера, username — имя пользователя, который будет манипулировать VPN-соединением.

Теперь можно запускать\останавливать соединение от имени пользователя, указанного вместо username:

подключение:

$ sudo pon mcckerchnet

 

отключение:

$ sudo poff mcckerchnet

 

 

На этом настройку vpn-подключения к интернету можно считать завершённой.

 
Copyright Ⓒ 2003-2016 KerchNET Multiservice Networks Ltd.
KerchNET Ⓒ is a registered trademark