Corbina vs Arch Помогите настроить VPN

сейчас проверю эти адреса, возможно какие то изменились
глупость сморозил. Там они конечно немного изменились и маски не везде указаны или указаны не верно
bobart
как у тебя l2tp настроено? Конфиги? По твоей ссылке (читал давно) - ты так и сделал, закинул маршруты в /etc/rc.local?
вот сейчас работает все это добро, но заметил на дебиановском сервере, после того как делаешь poff соединению, роутинги остаются. Возможно это и лучше.
Нет маршруты я положил в /etc/ppp/ip-up.d и все работает, расстроило отсутствие в арче /etc/network/if-up.d и if-down.d это чертовски удобно, netcfg да…почитал и плюнул не стал разбираться, остальное в /etc/rc.conf DAEMONS а остальные скрипты(iptables) в /etc/rc.d главное порядок правильный выбрать.
/etc/ppp/ip-up.d/corbina
#!/bin/bash
gw="местныйшлюз"
pty "xl2tpd"
#Локальная сеть
route add -host 10.0.0.0 netmask 255.0.0.0 gw $gw
# Форум, сайт поддержки
route add -host 89.179.135.67 netmask 255.255.255.255 gw $gw
#Игровые сервера
route add -host 85.21.37.16 netmask 255.255.255.240 gw $gw
# Москва - Почтовый сервер
route add -host 195.14.50.16 netmask 255.255.255.255 gw $gw
# Локальные ресурсы
route add -host 85.21.79.0 netmask 255.255.255.0 gw $gw
route add -host 85.21.90.0 netmask 255.255.255.0 gw $gw
# ftp.corbina.net
route add -host 195.14.50.21 netmask 255.255.255.255 gw $gw
#Москва - Игровые сервера
route add -host 83.102.231.32 netmask 255.255.255.240 gw $gw
route add -host 85.21.108.16 netmask 255.255.255.240 gw $gw
#Corbina TV Москва+Питер
route add -host 85.21.138.208 netmask 255.255.255.240 gw $gw
route add -host 85.21.52.254 netmask 255.255.255.255 gw $gw
route add -host 85.21.88.130 netmask 255.255.255.255 gw $gw
route add -host 83.102.146.96 netmask 255.255.255.224 gw $gw
# ? route add -net 78.107.23.0 netmask 255.255.255.0 gw $gw
#IP-TV через VLC
route add -net 233.32.240.0 netmask 255.255.255.0 gw $MY_IP
route add -net 233.33.210.0 netmask 255.255.255.0 gw $MY_IP
route add l2tp.corbina.net gw $gw
route del default
route add default dev ppp0 
вот где iptv my-ip не знаю как о.0 но адрес он определяет именно у нужного интерфейса тот что смотрит в корбиновскую локалку
Остальные конфиги старые от ваших мало чем отличаются.
Сейчас вот столкнулся с проблемой что если соединение рвется (не modem hangup) а скажем кабель выдернул, то xl2tpd не перезванивает хотя redial = yes, наверное нужно какой то скрипт собрать из кусков чтобы пинговал что нибудь и перезапускал сервис :(
/etc/rc.local
хз как он стартует перед сетью или после в самом конце, не то
mithrusc
route add -host 10.0.0.0 netmask 255.0.0.0 gw $gw
Если netmask не 255.255.255.255, используйте route add -net 10.0.0.0 netmask 255.0.0.0 gw $gw
mithrusc
route add -host 89.179.135.67 netmask 255.255.255.255 gw $gw
Можно просто route add -host 89.179.135.67 gw $gw
mithrusc
Сейчас вот столкнулся с проблемой что если соединение рвется (не modem hangup) а скажем кабель выдернул, то xl2tpd не перезванивает хотя redial = yes, наверное нужно какой то скрипт собрать из кусков чтобы пинговал что нибудь и перезапускал сервис :(
Поковыряйте у pppd опции lcp-echo-interval и lcp-echo-failure.
maksipes
Спасибо за разъяснения
lcp-echo-interval n - как pppd может узнать что канал отвалился? Для этого предназначен протокол LCP. Этой командой Вы указываете pppd через какой интервал времени в секундах посылать запросы типа ping чтобы проверить жив канал или нет. По умолчанию ping не посылается и pppd не может определить что канал упал. Рекомендую значение 10.
lcp-echo-failure n - этот параметр говорит, что если n пингов не прошло, то это означает канал отвалился и его надо переподнимать.
вот цитата с форума корбины.
добавил
lcp-echo-interval 10
lcp-echo-failure 2

упорно пытается найти что то на /dev/pts/0 а соединение ppp0 <–> /dev/pts/2 в логах daemon так и сыплеться failed to open /dev/pts/
при отключении кабеля, pppd LCP TermReq “Peer not responding”
unable to deliver closing message for tunnel
дальше идет
connecting to host l2tp.corbina.net ип
maximum retries exceeded for tunnel 14230
откуда это максимальное количество попыток не понимаю, после чего он ничего не делает
Вобщем, предлагаю всем кто “в теме” выложить свои конфиги, полностью. Затем найти оптимальное решение и как-то причесать эту тему. Хотя вариантов настройки может быть несколько и все они будут работать, но думаю, есть “золотая середина”. После чего стоит озаботиться и закатать статейку по теме в wiki. Насколько я понимаю, круг пользователей корбины/билайна/l2tp/arch невелик и вопрос не освещён должным образом.

Вот:
1. /etc/xl2tpd/xl2tpd.conf
[global]
access control = yes
auth file = /etc/ppp/chap-secrets
[lac corbina]
lns = tp.corbina.net
redial = yes
redial timeout = 10
require chap = yes
require authentication = no
name = corbina_login
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
require pap = no
autodial = yes
2. /etc/ppp/options.xl2tpd
lcp-echo-interval 10
lcp-echo-failure 2
name bobart
remotename tp
ipparam corbina
connect /bin/true
mru 1500
mtu 1500
nodeflate
nobsdcomp
noauth
persist
maxfail 0
nopcomp
noaccomp
defaultroute
3. /etc/ppp/chap-secrets
#
"corbina_login"       *       "corbina_passwd"
4. /etc/ppp/ip-up.d/ip-up-route.sh
#!/bin/sh
PATH="/sbin:/bin:/usr/sbin:/usr/bin"
GATEWAY=`route | grep ^default | awk '{print $2}'`
route del default
route add default dev ppp0
(
echo '#!/bin/sh'
echo 'PATH="/sbin:/bin:/usr/sbin:/usr/bin"'
echo 'route del default'
echo "route add default gateway $GATEWAY"
) >/etc/ppp/ip-down
5. /etc/rc.conf
[...]
eth0="dhcp"
INTERFACES=(eth0)
[...]
dns1="-host 213.234.192.8 gw 10.123.160.1"
dns2="-host 85.21.192.3 gw 10.123.160.1"
tpsrv="-host tp.corbina.net gw 10.123.160.1"
gateway="default gw 10.123.160.1"
ROUTES=(dns1 dns2 tpsrv gateway)
[...]
DAEMONS=(syslog-ng gpm iptables network hal lircd @netfs @crond @alsa @xl2tpd)

С оговоркой: default gw и dns1,2 питерские.
Ваши:
cat /etc/resolv.conf
и
~$ route -n |grep ^0.0.0.0 | awk '{ print $2 }'
при отключённом ppp0
route -n |grep ^0.0.0.0 | awk ‘{ print $2 }’
Что это?
Это из /var/log/daemon.log за сегодня, от старта:
все тоже самое, у всех так.
/etc/rc.conf
Только я не понял где роутинги ваши? ip-up скрипт зачем изменили? если можно было положить отдельным скриптом в ip-up.d
P.S Попробовал по вашему методу, у меня так не работает вообще
А xl2tpd и pppd упорно не хотят перезванивать, и почему все на дебиане нормально работало…
я понимаю что не всех это затронуло что он не перезванивает
вот нашел скрипт, в крон щас поставлю
#!/bin/sh
date=`/bin/date '+%d-%m-%Y %H:%M'`
logfile=/path/to/netlog.log
checkip=`ping -c 3 ya.ru |grep icmp_ |wc -l`
if [ ! $checkip = 3 ]; then
  /etc/rc.d/xl2tpd restart
  echo "=============================" >>$logfile
  echo "Link failed at $date .Reconnect link">>$logfile
fi
exit 0
Роутинги в /etc/rc.conf, это же видно:
dns1="-host 213.234.192.8 gw 10.123.160.1"
dns2="-host 85.21.192.3 gw 10.123.160.1"
tpsrv="-host tp.corbina.net gw 10.123.160.1"
gateway="default gw 10.123.160.1"
ROUTES=(dns1 dns2 tpsrv gateway)
route -n |grep ^0.0.0.0 | awk '{ print $2 }'
эта команда покажет шлюз по умолчанию после /etc/rc.d/network start, если он по какой-то причине неизвестен. После удачного поднятия ppp0 она покажет
0.0.0.0

Забыл добавить, что локальными ресурсами не пользуюсь, типа игровых, iptv и т.д., но так или иначе, маршруты до них, при необходимости, тоже могут быть в /etc/rc.conf или в /etc/rc.local
А вот почему не получилось у вас “как у меня” не знаю. У меня-то получилось.

ps. Прислушался к мудрому совету и перенёс/переименовал ip-up в /etc/ppp/ip-up.d
bob@arch:~$ ls /etc/ppp/ip-up.d
00-dns.sh  ip-up-route.sh
# cp /etc/ppp/ip-up.backup /etc/ppp/ip-up
Согласен, ибо при обновлении /etc/ppp/ip-up может запросто быть перезаписан. Вобщем, вот так и коннектимся…)
Обьясните пожалуйста доступно почему происходит так что после того как выдернешь кабель провайдерский - обратно вставишь, скажем делаешь host l2tp.corbina.net или host vpn.corbina.net получаешь дулю, и только после рестарта сети (etc/rc.d/network) команда проходит…должно же перезапускаться получение (пусть и того же) адреса там у них все таки dhcp сервак на оборудовании, так всегда было на роутере простом и в debian, тут нет
Подожди.., может тебе кто-нибудь из умных ответит.
А я думаю так: ты выдернул шнур - нихт коннекшн. Вставил шнур в… обратно - а откуда /etc/rc.d/network должен знать, что ему надо сделать при этом restart? Кто ему прикажет перезапуститься? Грубо говоря, ты имеешь ввиду, что это событие (выдёргивание/вставление кабеля) система должна сама как-то обрабатывать. Кабель вставлен > сигнал пошёл > сеть рестартится, так? Ну, или, кабель выдернул - network делает stop. Что-то очень похожее происходило в винде. Как это сделать здесь - не знаю. Подождём умных, может расскажут.
netcfg? Или как-то прикрутить ifplugd без netcfg.
очень приятно что на таком вообщем то не очень активном форуме есть отзывчивые люди.
bobart
А я думаю так: ты выдернул шнур - нихт коннекшн. Вставил шнур в… обратно - а откуда /etc/rc.d/network должен знать, что ему надо сделать при этом restart? Кто ему прикажет перезапуститься? Грубо говоря, ты имеешь ввиду, что это событие (выдёргивание/вставление кабеля) система должна сама как-то обрабатывать. Кабель вставлен > сигнал пошёл > сеть рестартится, так? Ну, или, кабель выдернул - network делает stop. Что-то очень похожее происходило в винде. Как это сделать здесь - не знаю. Подождём умных, может расскажут.
Да, именно так.
maksipes
netcfg ну возможно, может быть поковыряюсь как время будет, что то там сложно все, после освоения такой кучи информации по арчу нужна передышка(
ifplugd пашет вроде бы, правда не ясно что он делает )) интерфейсы указал ему - видит, бипером по дефолту пищит
Кажется понял почему он не переподключается, gethostbyname не наблюдаю у себя в логах а должен бы быть фейл там или сацес, он должен отписываться от имени демона pppd. Есть патч на xl2tpd видимо с ним нужно как то пересобрать его
P.S попробовать что ли радикально… собирал ли кто нибудь openl2tpd под арч? из аура не собирается, погуглил ничего не нашел про сборку. Поделитесь опытом пожалуйста кто собирал этого зверя - и для базы знаний тоже будет хорошо
 
Зарегистрироваться или войдите чтобы оставить сообщение.