VPN (PPTP PPPoE): различия между версиями

Материал из ALT Linux Wiki
м НастройкаVPN» переименована в «VPN (PPTP PPPoE)»: новое название лучше отражает суть содержимого)
Нет описания правки
 
(не показано 9 промежуточных версий 7 участников)
Строка 1: Строка 1:
[[Категория:Admin]]
{{викифицировать}}
{{Stub}}
{{MovedFromFreesourceInfo|AltLinux/Документация/НастройкаVPN}}


== Настройка VPN-соединения (ppptp и pppoe) ==
== Настройка VPN-соединения (PPTP и PPPoE) ==


<div style="display: inline; color: red;">NB: ошибка в ALT Linux Server 4.0.0/4.0.1, ALT Linux Desktop 4.0.0/4.0.1/4.0.2: [http://faq.altlinux.ru/index.php?action=single&nf=1&qid=950 FAQ#950]</div>
<div style="display: inline; color: red;">NB: ошибка в ALT Linux Server 4.0.0/4.0.1, ALT Linux Desktop 4.0.0/4.0.1/4.0.2: [http://faq.altlinux.ru/index.php?action=single&nf=1&qid=950 FAQ#950]</div> (ссылка не работает, надо найти, куда делся старый FAQ)


Данное руководство подразумевает использование [[etcnet|etcnet]]. etcnet используется по умолчанию во всех дистрибутивах ALT Linux, начиная с версии 3.0. Для настройки «по-дубовому» см. раздел в конце документа.
Данное руководство подразумевает использование [[etcnet|etcnet]]. etcnet используется по умолчанию во всех дистрибутивах ALT Linux, начиная с версии 3.0, исключая десктопные дистрибутивы, начиная с 6.0. В последних используется Network Manager, хотя и etcnet тоже присутствует. Для настройки «по-дубовому» см. раздел в конце документа.


=== ppptp ===
=== PPTP ===


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


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


Строка 32: Строка 30:
hide-password
hide-password
persist</pre>
persist</pre>
(вместо <tt>user/password</tt> можно вписать параметр <tt>name</tt>, по аргументу которого будет производится поиск в первой колонке /etc/ppp/{pap,chap}-secrets)


Также рекомендуется в /etc/net/ifaces/eth0/ipv4route добавить отдельную строку для маршрута к VPN-серверу:
Также рекомендуется в /etc/net/ifaces/eth0/ipv4route добавить отдельную строку для маршрута к VPN-серверу:
Строка 41: Строка 41:
Для ручной остановки PPTP-соединения следует (от root) использовать команду '''ifdown pppXX''', где вместо ''pppXX'' следует писать имя вашего PPTP-интерфейса. Для ручного запуска используйте команду '''ifup pppXX'''.
Для ручной остановки PPTP-соединения следует (от root) использовать команду '''ifdown pppXX''', где вместо ''pppXX'' следует писать имя вашего PPTP-интерфейса. Для ручного запуска используйте команду '''ifup pppXX'''.


=== pppoe ===
=== PPPoE ===


<div style="display: inline; color: red;">Этот кусочек устарел и требует правки — скрипта adsl-setup больше нет</div>
Необходимые пакеты: '''rp-pppoe-base'''.


Необходимые пакеты: '''rp-pppoe-client'''.
Сначала настраиваем /etc/net/ifaces/eth0. Для этого удаляем из этого каталога всё кроме options. В options оставляем строчки


Сначала настраиваем /etc/net/ifaces/eth0. Для этого удаляем из этого каталога всё кроме options. В options оставляем строчки
<pre>
BOOTPROTO=static
BOOTPROTO=static
MODULE=<имя_модуля_сетевой карточки>
MODULE=<имя_модуля_сетевой карточки>
</pre>


После этого копируем /usr/share/doc/etcnet-0.X.Y/examples/ifaces-ppp/ifaces/ppp3/* в /etc/net/ifaces/ppp0 и правим в файле /etc/net/ifaces/ppp0/pppoptions:
После создаём в /etc/net/ifaces/ppp0 файлы:
user _USERNAME_
на
user имя_вашего_пользователя


А в файл /etc/net/ifaces/ppp0/options добавляем на мой взгляд совсем не очевидный параметр:
options:
<pre>
ONBOOT=yes
ONBOOT=yes
PPPTYPE=pppoe
HOST=eth0
PPPOE_EXTRA_OPTIONS="-T 80 -m 1412"
</pre>
из man pppoe:
<pre>
      -m MSS Causes pppoe to clamp the TCP  maximum  segment  size  at  the  specified
              value.  Because of PPPoE overhead, the maximum segment size for PPPoE is
              smaller than for normal Ethernet encapsulation.  This could  cause  prob
              lems  for  machines on a LAN behind a gateway using PPPoE.  If you have a
              LAN behind a gateway, and the gateway  connects  to  the  Internet  using
              PPPoE, you are strongly recommended to use a -m 1412 option.  This avoids
              having to set the MTU on all the hosts on the LAN.
</pre>
pppoptions:
<pre>
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
</pre>
(вместо <tt>user/password</tt> можно вписать параметр <tt>name</tt>, по аргументу которого будет производится поиск в первой колонке /etc/ppp/{pap,chap}-secrets)


Далее нужно добавить необходимую информацию (логин/пароль) в /etc/ppp/{chap, pap}-secrets. Можно это сделать при помощи adsl-setup просто ответив на вопросы… :)


Проверяем что все работает
Проверяем что все работает
# service network restart
# service network restart
и… всё. Теперь при загрузке в процессе запуска сервиса network будет создаваться и подниматься pppoe соединение.
и… всё. Теперь при загрузке в процессе запуска сервиса network будет создаваться и подниматься соединение PPP-over-Ethernet.
 
'''PS.''' Если используется как шлюз, то в '''/etc/net/ifaces/default/fw/iptables/mangle/FORWARD''' необходимо вставить:
  <code>-p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu</code>


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


==== pptp ====
==== PPTP ====


Кратко: устанавливаем пакет pptp-client, запускаем pptp-config и настраиваем. На всякий случай укажите данные для авторизации как PAP, так и CHAP.
Кратко: устанавливаем пакет pptp-client, запускаем pptp-config и настраиваем. На всякий случай укажите данные для авторизации как PAP, так и CHAP.
Строка 101: Строка 142:
<pre>any net 192.168.2.0/24 gw 192.168.2.246</pre>
<pre>any net 192.168.2.0/24 gw 192.168.2.246</pre>


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


Указываем настройки в /etc/ppp/pppoe.conf:
Указываем настройки в /etc/ppp/pppoe.conf:
Строка 111: Строка 154:
# service adsl start
# service adsl start
для подключения.
для подключения.
[[Категория:VPN]]
{{Category navigation|title=VPN|category=VPN|sortkey={{SUBPAGENAME}}}}

Текущая версия от 17:18, 1 июля 2015

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

(ссылка не работает, надо найти, куда делся старый FAQ)

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

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 -m 1412"

из man pppoe:

       -m MSS Causes pppoe to clamp the TCP  maximum  segment  size  at  the  specified
              value.   Because of PPPoE overhead, the maximum segment size for PPPoE is
              smaller than for normal Ethernet encapsulation.  This could  cause  prob
              lems  for  machines on a LAN behind a gateway using PPPoE.  If you have a
              LAN behind a gateway, and the gateway  connects  to  the  Internet  using
              PPPoE, you are strongly recommended to use a -m 1412 option.  This avoids
              having to set the MTU on all the hosts on the LAN.

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 будет создаваться и подниматься соединение PPP-over-Ethernet.

PS. Если используется как шлюз, то в /etc/net/ifaces/default/fw/iptables/mangle/FORWARD необходимо вставить:

 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Ручная настройка (без 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

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