Setup:inet:pptp:fedora

Материал из campus.mephi.ru

Перейти к: навигация, поиск

Настройка PPTP (MPPE) - соединения


Настройка соединения

В данной пошаговой инструкции описан способ реализации защищенного VPN соединения по протоколу PPTP через MPPE. Перед началом настойки удостоверьтесь, что у вас есть рабочее соединение с интернетом по какому-либо другому протоколу для установки требуемых пакетов. Возможность автономной установки пакетов в данной инструкции не рассматривается.

  • Откройте терминал с правами суперпользователя (root). Если в вашей системе это запрещено из соображений безопасности, вам следует выполнять все действия с использованием утилиты sudo.
  • Проверьте наличие поддержки PPP и MPPE в вашем ядре:
# cat /boot/config-`uname -r` | grep G_PPP=
CONFIG_PPP=y
# cat /boot/config-`uname -r` | grep MPPE
CONFIG_PPP_MPPE=y
  • Установите пакет
# yum install pptp
  • Откройте файл etc/ppp/options.pptp и отредактируйте его содержимое:
lock
noauth
refuse-pap
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate

Если файл не существует, его следует создать. Не следует удалять закомментрированные строки.

  • Откройте файл /etc/ppp/chap-secrets и допишите в конец:
foo PPTP bar

, где вместо «foo» следует подставить ваш логин, вместо «bar» - пароль.

  • Создайте файл /etc/ppp/peers/mephi со следующим содержимым:
pty "pptp pptp.campus.mephi.ru --nolaunchpppd"
name foo
remotename PPTP
require-mppe-128
file /etc/ppp/options.pptp

ipparam mephi
  • Откройте в текстовом редакторе файл /etc/ppp/*ip-up и допишите перед exit 0:
#!/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

DEFAULT_GW=$(netstat -nr | awk '{if($1=="0.0.0.0") print $2}')
route add -host pptp.campus.mephi.ru gw "$DEFAULT_GW"
route add -net 0.0.0.0/1 gw $5
route add -net 128.0.0.0/1 gw $5

аналогично в /etc/ppp/*ip-down

#!/bin/bash

route del pptp.campus.mephi.ru
route del -net 0.0.0.0/1
route del -net 128.0.0.0/1
  • Подготовьте стартовые скрипты:
# cp /usr/share/ppp*/scripts/pon /usr/sbin
# cp /usr/share/ppp*/scripts/poff /usr/sbin
# chmod +x /usr/sbin/pon
# chmod +x /usr/sbin/poff
  • Для подключения соединения выполните команду:
# pon mephi

После этого таблица маршрутизации должна выглядеть примерно так:

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.50.0.1       0.0.0.0         UG    0      0        0 eth0
0.0.0.0         10.0.57.1       128.0.0.0       UG    0      0        0 ppp0
10.7.2.21       0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
10.50.0.0       0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.50.0.21      10.50.0.1       255.255.255.255 UGH   0      0        0 eth0
128.0.0.0       10.0.57.1       128.0.0.0       UG    0      0        0 ppp0
  • Проверьте доступность удалённого PtP хоста:
# ping `netstat -nr | awk '{if($3=="255.255.255.255" && $8=="ppp0") print $1}' | head -1`
PING 10.7.2.21 (10.7.2.21) 56(84) bytes of data.
64 bytes from 10.7.2.21: icmp_req=1 ttl=63 time=0.745 ms
64 bytes from 10.7.2.21: icmp_req=2 ttl=63 time=0.617 ms
64 bytes from 10.7.2.21: icmp_req=3 ttl=63 time=0.650 ms
64 bytes from 10.7.2.21: icmp_req=4 ttl=63 time=0.606 ms
^C

--- 10.7.2.21 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 0.606/0.654/0.745/0.060 ms

Если сервер доступен, то настройка соединения прошла успешно.

Отладка

Proxy

Если в командной строке "ping 77.88.21.3" сообщает о том, что связь до 77.88.21.3 есть, а тем ни менее на сайты не заходит, значит, вполне возможно, что вы забыли отключить прокси в настройках вашего браузера