VPN (PPTP PPPoE)

Материал из ALT Linux Wiki
Версия от 12:47, 6 мая 2010; EvgeniiTerechkov (обсуждение | вклад) (добавил описание хранения паролей в одном месте)
42px-Wikitext-ru.svg.png
Эту статью следует викифицировать.


Настройка VPN-соединения (PPtP и PPPOE)

NB: ошибка в ALT Linux Server 4.0.0/4.0.1, ALT Linux Desktop 4.0.0/4.0.1/4.0.2: FAQ#950

Данное руководство подразумевает использование etcnet. etcnet используется по умолчанию во всех дистрибутивах ALT Linux, начиная с версии 3.0. Для настройки «по-дубовому» см. раздел в конце документа.

PPtP

Необходимые пакеты: ppp.

Рассматривается настройка VPN-соединения (pptp), совместимого с клиентами Windows. Для начала рекомендуется читать документацию в /usr/share/doc/pptp* (на русском).

Создаем каталог /etc/net/ifaces/pppXX (где XX — любой свободный номер интерфейса). Пишем туда следующие файлы:

/etc/net/ifaces/pppXX/options:

ONBOOT=yes
PPPTYPE=pptp
PPTP_SERVER=10.0.0.1
REQUIRES=eth0

Пояснение: в параметр REQUIRES записывается имя того интерфейса, через который осуществляется доступ к PPTP (VPN) серверу. Наличие этого параметра гарантирует правильный порядок старта интерфейсов. Здесь и далее предполагается, что имя этого интерфейса eth0. /etc/net/ifaces/pppXX/pppoptions:

name ВАШ_ЛОГИН
password SUPER_SECRET_PASSWORD
noipdefault
defaultroute
noauth
hide-password
persist

(вместо user/password можно вписать параметр name, по аргументу которого будет производится поиск в первой колонке /etc/ppp/{pap,chap}-secrets)

Также рекомендуется в /etc/net/ifaces/eth0/ipv4route добавить отдельную строку для маршрута к VPN-серверу:

default via 10.0.66.1
10.0.0.1/32 via 10.0.66.1

Пояснение: первая строка — маршрут (в локальную сеть) по умолчанию для интерфейса eth0. Вторая строчка это указание статического маршрута до одного конкретного сервера (того самого сервера PPTP). Если его не указать (частая ошибка в настройках PPTP), то после присоединения к PPTP-серверу маршрут по умолчанию изменится, и сам сервер станет недоступен. Симптомы такой неправильной настройки: соединение устанавливается, но ничего не работает, и соединение почти сразу разрывается.

Для ручной остановки PPTP-соединения следует (от root) использовать команду ifdown pppXX, где вместо pppXX следует писать имя вашего PPTP-интерфейса. Для ручного запуска используйте команду ifup pppXX.

PPPOE

Необходимые пакеты: rp-pppoe-base.

Сначала настраиваем /etc/net/ifaces/eth0. Для этого удаляем из этого каталога всё кроме options. В options оставляем строчки

BOOTPROTO=static
MODULE=<имя_модуля_сетевой карточки>

После создаём в /etc/net/ifaces/ppp0 файлы:

options:

ONBOOT=yes
PPPTYPE=pppoe
HOST=eth0
PPPOE_EXTRA_OPTIONS="-T 80"

pppoptions:

noipdefault
noauth
default-asyncmap
defaultroute
hide-password
mtu 1492
mru 1492
noaccomp
noccp
nobsdcomp
nodeflate
nopcomp
novj
novjccomp
user ВАШ_ЛОГИН
password ВАШ_ПАРОЛЬ
lcp-echo-interval 20
lcp-echo-failure 3
persist

(вместо user/password можно вписать параметр name, по аргументу которого будет производится поиск в первой колонке /etc/ppp/{pap,chap}-secrets)


Проверяем что все работает

  1. service network restart

и… всё. Теперь при загрузке в процессе запуска сервиса network будет создаваться и подниматься pppoe соединение.

Ручная настройка (без etcnet)

PPtP

Кратко: устанавливаем пакет pptp-client, запускаем pptp-config и настраиваем. На всякий случай укажите данные для авторизации как PAP, так и CHAP. В /etc/sysconfig/pptp нужно указать название соединения (придуманное при pptp-config):

# Tunnel name
PPTP_TUNNEL=НАЗВАНИЕ_ТУННЕЛЯ

Данные о соединении запишутся в /etc/ppp/peers/название_соединения:

debug

pty "/usr/sbin/pptp 192.168.0.254 --nolaunchpppd"
connect /bin/true
defaultroute

# 
# Tags for CHAP secret selection
#
name ВАШ_ЛОГИН
remotename PPTP

#
# Tunnel name for ip-up.local or ip-up.d scripts
#
ipparam НАЗВАНИЕ_ТУННЕЛЯ

file /etc/ppp/options.pptp

а также в файлы /etc/ppp/pap-secrect и /etc/ppp/chap-secret

Далее делаем service pptptunnel start Если интерфейс ppp0 появляется, а обмена нет, попробуйте отключить сжатие: в /etc/ppp/options.pptp дописать nodeflate.

Если вы задали GATEWAY в /etc/sysconfig/network, то при подключении через VPN он не будет переопределяться, соответственно работать Инет не будет. Поэтому GATEWAY надо отключить, а в /etc/sysconfig/static-routes указать статические маршруты для локальной сети:

any net 192.168.2.0/24 gw 192.168.2.246

PPPOE

Необходимые пакеты: rp-pppoe-client.

Указываем настройки в /etc/ppp/pppoe.conf:

ETH=eth0  #сетевой интерфейс
USER=логин
DNSTYPE=SERVER
ACNAME=internet

Указать в /etc/ppp/chap-secret (и быть может в /etc/ppp/pap-secret) свой логин/пароль и

  1. service adsl start

для подключения.