Здравствуйте, очень надеюсь на вашу помощь в настройке openl2tp в ubuntu 10.10
Пользуюсь
корбиной пчелайном =\ , раньше пользовался скриптом с сайта корбины написанным одним из пользователей форума, он автоматически настраивает vpn и добавляет роутинги, захотелось большей прозрачности для домашнего сервера да и работает vpn не важно. Перелопатил кучу материалов по настройке pptp-linux, xl2tpd, openl2tp что касается последнего то по нему их не так уж и много.
Взял актуальную версию в виде готового пакета, установил, "настроил". Вот конфиги:
openl2tpd.confsystem modify deny_remote_tunnel_creates=no \
tunnel_establish_timeout=60 \
session_establish_timeout=30 \
tunnel_persist_pend_timeout=60 \
session_persist_pend_timeout=30
peer profile modify profile_name=default lac_lns=lac
ppp profile modify profile_name=default \
mru=1400 mtu=1400 auth_pap=no \
auth_eap=no auth_none=no \
default_route=yes proxy_arp=no auth_mschapv1=no auth_mschapv2=yes
#l2tp server
tunnel create tunnel_name=corbina dest_ipaddr=85.21.0.253 \ - все указывают этот адрес как сервер, однако из локалки он - tp.corbina.net резолвиться в 85.21.0.243
persist=yes
#login and password.
session create tunnel_name=corbina \
session_name=corbina \
user_name=логин \
user_password=пароль
/etc/ppp/ip-up#!/bin/bash
#PATH
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
export PATH
#IP-*
/etc/ppp/ip-up.d/$6 $1 $2 $3 $4 $5 $6
# if-up corbina OpenL2TP connection fix
. /etc/ppp/options.corbina
if [ $5 == $CORBINA_L2TP ]; then
/etc/ppp/ip-up.d/ol2tp $1 $2 $3 $4 $5 $6
fi
ip-down#!/bin/bash
#PATH
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
export PATH
#IP-*
/etc/ppp/ip-down.d/$6 $1 $2 $3 $4 $5 $6
# if-down corbina OpenL2TP connection fix
. /etc/ppp/options.corbina
if [ $5 == $CORBINA_L2TP ]; then
/etc/ppp/ip-down.d/ol2tp $1 $2 $3 $4 $5 $6
fi
/etc/ppp/ip-up.d/ol2tp#!/bin/bash
#PATH
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
export PATH
#echo c-up: arg0: 1=$1 2=$2 3=$3 4=$4 5=$5 6=$6 >> /tmp/l2.log
# почему-то параметр TTY при соединении через l2tp пустой, поэтому происходит сдвиг аргументов
. /etc/ppp/options.corbina
. /etc/ppp/corbina.routing
route del -host $CORBINA_L2TP dev $1
route del default dev $CORBINA_IF
do_route add $CORBINA_GW
route add -host $CORBINA_L2TP gw $CORBINA_GW dev $CORBINA_IF
-
route add -host 85.21.0.255 gw $CORBINA_GW
route add -host 85.21.192.3 gw $CORBINA_GW
route add -host 213.234.192.8 gw $CORBINA_GW
-
route add default dev $1 metric 5
/etc/ppp/ip-down.d/ol2tp#!/bin/bash
#PATH
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
export PATH
. /etc/ppp/options.corbina
. /etc/ppp/corbina.routing
do_route del $CORBINA_GW
route add default gw $CORBINA_GW dev $CORBINA_IF
/etc/ppp/options.corbina#
#
CORBINA_IF=eth1
#
CORBINA_GW=10.х.х.х
# l2tp
CORBINA_L2TP=85.21.0.253
кусок логаkernel: NET: Registered protocol family 24
kernel: PPPoL2TP kernel driver, V2.0
kernel:] NET: Unregistered protocol family 24
kernel: L2TP core driver, V2.0
kernel: NET: Registered protocol family 24
kernel: PPPoL2TP kernel driver, V2.0
pppd: Plugin pppol2tp.so loaded.
pppd: Plugin openl2tp.so loaded.
pppd: pppd 2.4.5 started by root, uid 0
pppd: Using interface ppp0
: Connect: ppp0 <-->
pppd: Overriding mtu 1500 to 1460
pppd: Overriding mru 1500 to mtu value 1460
pppd: CHAP authentication succeeded
pppd: CHAP authentication succeeded
pppd: local IP address 95.хх.хх.хх
pppd: remote IP address 85.21.0.253
pppd: Terminating on signal 15
pppd: openl2tp send: unexpected byte count -1, expected 48
pppd: Connect time 1.5 minutes.
pppd: Sent 0 bytes, received 0 bytes.
pppd: Overriding mtu 1500 to 1460
pppd: Overriding mru 1500 to mtu value 1460
pppd: Plugin pppol2tp.so loaded.
pppd: Plugin openl2tp.so loaded.
pppd: pppd 2.4.5 started by root, uid 0
pppd: Using interface ppp1
pppd: Connect: ppp1 <-->
pppd: Overriding mtu 1500 to 1460
pppd: Overriding mru 1500 to mtu value 1460
pppd: CHAP authentication succeeded
Соединение устанавливается, chap авторизацию проходит, ip получает что видно из логов, но страницы не открываются. Еще я обратил внимание на одну вещь
: Connect: ppp0 <-->
тут должен быть /dev/pts.цифра а его нет, и потом он сразу создает ppp1 что тоже не правильно
вот еще кусок, NetworkManager я выключал, но не удалял полностью, после выключения в логах он уже не гадит, значит выключился действительно
openl2tpd: OpenL2TP V1.7, (c) Copyright 2004-2010 Katalix Systems Ltd.
openl2tpd: Loading plugin /usr/lib/openl2tp/ppp_unix.so, version V1.5
openl2tpd: Using config file: /etc/openl2tpd.conf
NetworkManager: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
NetworkManager: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/ppp0, iface: ppp0): no ifupdown configuration found.
modem-manager: (net/ppp0): could not get port's parent device
openl2tpd: Exiting
openl2tpd: Cleaning up before exiting
openl2tpd: L2TP: tunl 38343/49601: free when use_count=3
openl2tpd: tunl 38343: free when use_count=4
openl2tpd: Unloading plugin /usr/lib/openl2tp/ppp_unix.so
openl2tpd: Start, trace_flags=00000000
openl2tpd: OpenL2TP V1.7, (c) Copyright 2004-2010 Katalix Systems Ltd.
openl2tpd: Loading plugin /usr/lib/openl2tp/ppp_unix.so, version V1.5
openl2tpd: Using config file: /etc/openl2tpd.conf
NetworkManager: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/ppp1, iface: ppp1)
NetworkManager: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/ppp1, iface: ppp1): no ifupdown configuration found.
modem-manager: (net/ppp1): could not get port's parent device
NetworkManager: SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
openl2tpd: Exiting
vpn я смог настроить без использования скрипта, однако без опции usepeerdns наблюдаются те же симптомы. Не понял можно ли использовать эту опцию для openl2tp, описание на сайте какое то скудное, такое же и в мане.
hdns1.corbina.net
hdns2.corbina.net
резолв этих адресов из локалки добавлял в виде роута через мой местный gateway и просто в resolv.conf (и тот что в /etc/ppp/)
UPD: разобрался сам, нужно было добавить в ip-up.d скрипт дополнительные nameservers. Теперь работает