ip: 78.78.78.78
netmask: 255.255.255.0
gateway: 78.78.78.1
broadcast: 78.78.78.255
nameserver: 78.78.78.254
vpn server: vpn.bydlotele.com
login: dim3dro1
password: CuCbKu
1. Для начала, настроим сетевушку:
# ifconfig eth0 78.78.78.78 netmask 255.255.255.0 broadcast 78.78.78.255 up
Пропишем маршрут по умолчанию:
# route add default gw 78.78.78.1
Укажем сервер имен:
# echo «nameserver 78.78.78.254» >> /etc/resolv.conf
Проверим подключение по сетевому интерфейсу eth0:
# ping -c 3 78.78.78.1
PING 78.78.78.1 (78.78.78.1): 56 data bytes
64 bytes from 78.78.78.1: icmp_seq=0 ttl=63 time=5.339 ms
64 bytes from 78.78.78.1: icmp_seq=1 ttl=63 time=7.041 ms
64 bytes from 78.78.78.1: icmp_seq=2 ttl=63 time=5.959 ms
--- 78.78.78.1 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 5.339/6.113/7.041/0.703 ms
PING 78.78.78.1 (78.78.78.1): 56 data bytes
64 bytes from 78.78.78.1: icmp_seq=0 ttl=63 time=5.339 ms
64 bytes from 78.78.78.1: icmp_seq=1 ttl=63 time=7.041 ms
64 bytes from 78.78.78.1: icmp_seq=2 ttl=63 time=5.959 ms
--- 78.78.78.1 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 5.339/6.113/7.041/0.703 ms
Если вывод идентичен, значит подключение работает и можно приступать к следующему шагу. Если нет, значит либо неверны настройки, либо проблема с сетевым кабелем, либо шлюзу провайдера стало плохо.
2. Узнаем ip-адрес нашего быдлопровайдера, поскольку с адресом работать легче, чем с именем:
# host vpn.bydlotele.com
vpn.bydlotele.com has address 66.66.66.66
vpn.bydlotele.com has address 66.66.66.66
3. Перейдем в директорию конфигурации демона ppp.
# cd /etc/ppp/
Отредактируем файл ppp.conf:
# Метка по умолчанию. Выполняется всегда
default:
# Список команд, которые будет выполнять демон при подключении
set log Phase Chat LCP IPCP CCP tun command
# Отключение IPv6
disable ipv6cp
# Метка vpn
vpn:
# Команда, с помощью которой демон подключится к vpn серверу
set device «!/usr/local/sbin/pptp --nolaunchpppd 66.66.66.66»
# Логин
set authname dim3dro1
# Пароль
set authkey CuCbKu
# Используем 128-битный ключ шифрования MPPE. Ключ генерируется заново при каждом
# подключении
set mppe 128 stateless
default:
# Список команд, которые будет выполнять демон при подключении
set log Phase Chat LCP IPCP CCP tun command
# Отключение IPv6
disable ipv6cp
# Метка vpn
vpn:
# Команда, с помощью которой демон подключится к vpn серверу
set device «!/usr/local/sbin/pptp --nolaunchpppd 66.66.66.66»
# Логин
set authname dim3dro1
# Пароль
set authkey CuCbKu
# Используем 128-битный ключ шифрования MPPE. Ключ генерируется заново при каждом
# подключении
set mppe 128 stateless
Создадим файл options.vpn, в котором перечислим все протоколы и опции, которые будут использоваться при подключении:
lock
mtu 1490
mru 1490
deflate 0
auth
+chap
-pap
nobsdcomp
nodeflate
defaultroute
mtu 1490
mru 1490
deflate 0
auth
+chap
-pap
nobsdcomp
nodeflate
defaultroute
Я не буду нагружать теорией. Если нужно — смотрите страницу документации ppp и pptp.
Создадим файл ppp.linkup, в котором будет указано, какие действия выполнять при поднятии vpn подключения:
# Метка vpn
vpn:
# Установить маршрут по умолчанию, который выдаст vpn сервер
add default HISADDR
vpn:
# Установить маршрут по умолчанию, который выдаст vpn сервер
add default HISADDR
Создадим файл ppp.linkdown, в котором будет указано, какие действия выполнять при разрыве vpn подключения:
# Метка vpn
vpn:
# Удалить из списка поключений сервер провайдера
delete 66.66.66.66
# Удалить из списка поключений сервер провайдера
delete 66.66.66.66
4. Запустим демона.
Синтаксис команды таков:
ppp флаги метка
Для нашего случая это выглядит так:
# ppp -ddial vpn
Флаг -ddial указывает, что необходимо делать реконнект при разрыве подключения.
Разорвать подключения можно с помощью команды
# killall ppp
5. Проверим, как обстоят дела.
Для этого посмотрим файл лога /var/log/ppp.log:
Если вывод примерно такой, значит подключение прошло успешно. Проверим маршрут:
# route|grep default
default 66.66.2.193 UGS 3 1265387 — tun0
default 66.66.2.193 UGS 3 1265387 — tun0
Проверим работу vpn:
# ping -c 3 google.com
PING google.com (64.233.187.99): 56 data bytes
64 bytes from 64.233.187.99: icmp_seq=0 ttl=243 time=161.310 ms
64 bytes from 64.233.187.99: icmp_seq=1 ttl=243 time=159.951 ms
64 bytes from 64.233.187.99: icmp_seq=2 ttl=243 time=163.220 ms
--- google.com ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 159.951/161.493/163.220/1.418 ms
PING google.com (64.233.187.99): 56 data bytes
64 bytes from 64.233.187.99: icmp_seq=0 ttl=243 time=161.310 ms
64 bytes from 64.233.187.99: icmp_seq=1 ttl=243 time=159.951 ms
64 bytes from 64.233.187.99: icmp_seq=2 ttl=243 time=163.220 ms
--- google.com ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 159.951/161.493/163.220/1.418 ms
Вроде бы все работает.
Возможно, что для Вашего провайдера опции подключения будут отличаться.
Сложные вопросы, как, например, установка нескольких маршрутов или фильтрация пакетов, не рассматриваются.
Я благодарен разработчикам OpenBSD за отличную документацию, которой я пользовался при настройке маршрутизатора.


state = Req-Sent
