Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

как правильно написать скрипт контроля pppoe

, через network-manager
Статус пользователя ssx
сообщение 1.7.2017, 11:42
Сообщение #1


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

И так.. PPPoE через PPPoE ни в какую не хотело подключать на центосе\убунте и еще пару дистрибутивах линукса.
Решил проблемку с помощью network-manager , все равно оболочка Mate стоит .

Так как иногда не поднимался при старте инет то запилил а автозагрузку команду:
Код
sh -c ' nm-online -t 15 && sleep 5 && nmcli con up id "PPPoE" '


Но столкнулся с проблемкой - после падения не поднимает инет автоматически. Или не всегда поднимает.

На винде у меня
cmd скрипт:
Код
:connect
rasdial pppoe isdpteam victoryisdp
if %errorlevel%==0 (goto wait) else goto disconnect

:wait
ping 127.0.0.1 -n 10
goto check_1

:disconnect
rasdial pppoe /disconnect
ping 127.0.0.1 -n 5
goto connect

:check_1
ping 91.198.36.14 -n 1
if %errorlevel%==0 (goto wait) else goto check_2

:check_2
ping 91.198.36.14 -n 1
if %errorlevel%==0 (goto wait) else goto check_3

:check_3
ping 91.198.36.14 -n 1
if %errorlevel%==0 (goto wait) else goto check_4

:check_4
ping 91.198.36.14 -n 1
if %errorlevel%==0 (goto wait) else goto check_5

:check_5
ping 91.198.36.14 -n 1
if %errorlevel%==0 (goto wait) else goto check_6

:check_6
ping 173.194.113.194 -n 1
if %errorlevel%==0 (goto wait) else goto check_7

:check_7
ping 173.194.113.194 -n 1
if %errorlevel%==0 (goto wait) else goto check_8

:check_8
ping 173.194.113.194 -n 1
if %errorlevel%==0 (goto wait) else goto check_9

:check_9
ping 173.194.113.194 -n 1
if %errorlevel%==0 (goto wait) else goto check_10

:check_10
ping 173.194.113.194 -n 1
if %errorlevel%==0 (goto wait) else goto disconnect

pause

Костыльно но зато работает как надо.

Как такой скрипт написать под линукс? есть cron , можно в него залить . Столкнулся с проблемой - не понимает %errorlevel% . Как тогда узнать какой ответ ?


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   Цитировать сообщение
Статус пользователя vavarik
сообщение 5.7.2017, 8:35
Сообщение #2


Стаж: 15 лет
Город: Саратов

Сообщений: 942
Благодарностей: 318
Полезность: 143

SarHosting.ru
ssx, На сколько я знаю, на центосе инет ppoe поднимается автоматом. Проблематичным является запуск на дебиане. Приходится ставить дополнительные пакеты, так как в минимальной установке его нет.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ssx
сообщение 5.7.2017, 9:51
Сообщение #3


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Цитата(vavarik @ 5.7.2017, 8:35) *
ssx, На сколько я знаю, на центосе инет ppoe поднимается автоматом. Проблематичным является запуск на дебиане. Приходится ставить дополнительные пакеты, так как в минимальной установке его нет.

У меня такой провайдер что по PPPoE подключает только через network-manager , и то не последней версии вроде как ..
Центос ставил еще в 2012-м году , как там сейчас не знаю.

На данный момент ищу решения как в Ubuntu 14.04 Mate засунуть скрипт "аналог такого как под винду".


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 13.8.2017, 20:44
Сообщение #4


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Таки не могу понять как правильно написать аналог под линукс

тестовый не работает корректно
Код
#!/bin/bash
# include this boilerplate
function jumpto
{
    label=$1
    cmd=$(sed -n "/$label:/{:a;n;p;ba};" $0 | grep -v ':$')
    eval "$cmd"
    exit
}

connect:
nmcli con up id "PPPoE"
jumpto $wait


check_1:
ping -c 1 91.198.36.14 &>/dev/null
if [ $? -ne 0 ]; then
   jumpto $connect
else
   jumpto $wait
fi


wait:
ping 127.0.0.1 -c 10
jumpto $check_1


disconnect:
nmcli con down id "PPPoE"
ping 127.0.0.1 -c 5
jumpto $connect


check_2:
ping -c 1 173.194.113.194 &>/dev/null
if [ $? -ne 0 ]; then
   jumpto $connect
else
   jumpto $disconnect
fi


Что не так делаю и как реализовать нормально ?


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 22.1.2019, 21:51
Сообщение #5


Иконка группы

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

ssx,
Код:
#!/bin/bash
# include this boilerplate
function jumpto
{
label=$1
cmd=$(sed -n "/$label:/{:a;n;p;ba};" $0 | grep -v ':$')
eval "$cmd"
exit
}

connect:
nmcli con up id "PPPoE"
jumpto $wait


check_1:
ping -c 1 91.198.36.14 &>/dev/null
if [ $? -ne 0 ]; then
jumpto $connect
else
jumpto $wait
fi


wait:
ping 127.0.0.1 -c 10
jumpto $check_1


disconnect:
nmcli con down id "PPPoE"
ping 127.0.0.1 -c 5
jumpto $connect


check_2:
ping -c 1 173.194.113.194 &>/dev/null
if [ $? -ne 0 ]; then
jumpto $connect
else
jumpto $disconnect
fi

Цитата
Как тогда узнать какой ответ ?
OffTop Видео - ответ ; )





МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: