VPN (PPTP PPPoE)
Настройка VPN-соединения (PPTP и PPPoE)
(ссылка не работает, надо найти, куда делся старый 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)
Проверяем что все работает
- 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) свой логин/пароль и
- service adsl start
для подключения.