LINUX.ORG.RU
ФорумAdmin

Можете подсказать, как сделать l2tp подключение постоянным

 ,


0

1

Можете подсказать, как сделать l2tp подключение постоянным? То есть если оборвалось - чтобы само коннектилось.

Сейчас с помощью https://github.com/nm-l2tp/network-manager-l2tp добавил L2TP в нетворкмэнэджэр, в файл openbox autostart добавил команду

setxkbmap -layout "us,ru" -model "pc105" -option "grp:ctrl_shift_toggle,grp_led:scroll" &
x-www-browser &
sleep 2s && nmcli con up id beeline passwd-file /home/user/beeline.parol > /home/user/beeline.logfile &

1я строчка добавляет переключение языка ввода
2я строчка открывает firefox-esr
3я строчка коннектится к интернету

К сожалению каждый второй раз при включении компьютера связь не устанавливается, появляется окошко «введите пароль для разблокировки файла ключей». И к не счастью каждые 2 часа (опять же в среднем, бывает и через 5 минут) связь с интернетом обрывается, приходится кликать по нетворкмэнэджэр, выбирать подключение vpn - beeline и вводить пароль.

Может можно упростить подключение к интернет? Кроме l2tp другие типы подключения использовать не выгодно, придётся менять тариф, сейчас плачу 220 рублей в месяц.

приходится кликать по нетворкмэнэджэр

т.е. X-ы присутствуют? Тогда в редакторе подключений NetworkManager выбираешь подключение по l2tp и на вкладке «Общий» (у меня он русифицирован) отмечаешь галкой «Автоматически подключаться ...»

или это есть, но не работает?

anymouze ★★ ()
Ответ на: комментарий от plohoy

про openbox упустил из виду :(

у меня нет вкладки «Общий»

значит пойдём другим путём. nmcli c при активном подключении и после обрыва подключения возвращает разные строки?

anymouze ★★ ()
Последнее исправление: anymouze (всего исправлений: 1)

когда интернет работает, вот такой результат

user@hostname:~$ nmcli c
NAME     UUID                                  TYPE      DEVICE 
beeline  e3a33e2c-a6e1-4c4a-b030-214807466428  vpn       enp2s0 
lokalka  56396e30-1ce2-4ac3-b543-99a12f4d0bc6  ethernet  enp2s0 
plohoy ()
Ответ на: комментарий от anymouze

при сбое vpn подключения

user@hostname:~$ nmcli c
NAME     UUID                                  TYPE      DEVICE 
lokalka  56396e30-1ce2-4ac3-b543-99a12f4d0bc6  ethernet  enp2s0 
beeline  e3a33e2c-a6e1-4c4a-b030-214807466428  vpn       --     
plohoy ()
Ответ на: комментарий от plohoy

на это я и рассчитывал ^)
есть подключение

beeline e3a33e2c-a6e1-4c4a-b030-214807466428 vpn enp2s0

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

beeline e3a33e2c-a6e1-4c4a-b030-214807466428 vpn  —

примерно таким скриптом

#!/bin/bash
timeoutvpn=2
while [ true ]
do
# если нет подключения, то переменная получит строку-значение "beeline:--"
# если подключение активно, то переменная "получит" значение ""
# "beeline:enp2s0" не используем т.к. теоретически имя интерфейса может измениться
 status=`nmcli -t -f NAME,DEVICE c|grep "beeline:--"`
 if [ "$status" != "" ]
 then nmcli con up id beeline passwd-file /home/user/beeline.parol > /home/user/beeline.logfile
 fi
 sleep $timeoutvpn
done 

p.s.
скрипт на работоспособность не проверял

anymouze ★★ ()
Ответ на: комментарий от Anoxemian

билайн же сто лет как без l2tp работает?

Не везде. ДС1 у меня все еще l2tp

anc ★★★★★ ()
Ответ на: комментарий от anymouze

«Пять ошибок в слове из трех букв» :)
Теперь серьезно.
1. Вот и нафига тогда нужен этот nm если его все равно обмазывать скриптами? По старинке без него не получиться?
2. слип на 2 секунды это мало, l2tp дольше может подниматься
3. Просто интересно, а что nmcli не умеет возвращать exitcode при просмотре конкретного подключения? Сам его не пользую, поэтому спрашиваю.

anc ★★★★★ ()
Ответ на: комментарий от anc

ну, так и я его таким образом не использовал. скрипт скорее идея, чем готовый код. я бы посоветовал «сочинить» какой-нибудь юнит для системд — но фантазия у меня оказалась слабовата, как такое сделать представить не получилось...

1. Вот и нафига тогда нужен этот nm если его все равно обмазывать скриптами? По старинке без него не получиться?

я советовал в начале в GUI галку на «автоподъём» подключения ставить — но, её не нашлось в NM у ТС. потом ему советовали задать эту опцию через консоль — видимо, не помогло. есть вариант, предложи.

2. слип на 2 секунды это мало, l2tp дольше может подниматься

задержка между проверками «есть vpn?». я почему-то полагал, что команда подъёма сети отработает и только потом скрипт продолжиться. я ошибся? и потом это время же можно увеличить.

3. Просто интересно, а что nmcli не умеет возвращать exitcode при просмотре конкретного подключения? Сам его не пользую, поэтому спрашиваю.

а тут «проблема» в том, что у меня NM через GUI работает вполне приемлимо. nmcli пользуюсь из «любопытства и баловства». просмотреть именно конкретное подключение через nmcli у меня не получается (возможно слишком бегло man читал). была когда-то такая необходимость, но я этого от него тогда не добился и забил

anymouze ★★ ()
Ответ на: комментарий от anymouze

задержка между проверками «есть vpn?». я почему-то полагал, что команда подъёма сети отработает и только потом скрипт продолжиться. я ошибся?

Как писал выше, я не знаю nm. Но предположил что это вроде как пинок демону, не более того. Может и ошибаюсь.

anc ★★★★★ ()
Ответ на: комментарий от mogwai

команду

nmcli connection modify beeline autoconnect yes
я добавил в автозагрузку опенбокса, перед строкой подключения vpn, но самоподключение после разрыва соединения не произошло

plohoy ()
Ответ на: комментарий от plohoy

я добавил в автозагрузку опенбокса

Зачем? Ты хоть немного матчасть изучи.

самоподключение после разрыва соединения не произошло

Значит костыль скрипт и проверяй подключение. Если упало - переподнимай.

mogwai ★★★★ ()
Ответ на: комментарий от anc

«завтра» сильно задержалось :( по моей вине...

ситуация с nmcli con up id <Connection_Name> получилась почти, как я ожидал — nmcli «завершалась» в момент установления соединения или «после того» как соединение установить не удавалось. если «успешно» код возврата 0, иначе другое число. Другое дело, что в некоторых случаях подключение выполнялось «успешно» при том, что физически сеть была недоступна (скорее всего, я что-то там «понакрутил» с параметрами в подключении)

#!/bin/bash
echo "local 1"
time nmcli con up "local 1"
echo $?
sleep 5
nmcli con down "local 1"

echo "Wired connection 1"
time nmcli con up "Wired connection 1"
echo $?
sleep 5
nmcli con down "Wired connection 1"

echo "WiFi"
time nmcli con up "WiFi"
echo $?
sleep 5
nmcli con down "WiFi"
local 1
Соединение успешно активировано (адрес действующего D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/22) # ложное подключение

real	0m0,681s
user	0m0,128s
sys	0m0,124s
0
...
Wired connection 1
Ошибка: сбой активации соединения.

real	0m45,534s
user	0m0,100s
sys	0m0,036s
4
...
WiFi
Соединение успешно активировано (адрес действующего D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/25)

real	0m2,106s
user	0m0,140s
sys	0m0,040s
0
...

anymouze ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.