Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Скрипт для разрыва соединения  (Прочитано 1501 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Olegdab

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Скрипт для разрыва соединения
« : 03 Июня 2018, 18:14:56 »
Здравствуйте друзья.
Может кто поможет, напишет скрипт или даст ссылку на готовый.  Нужно мне, чтобы скрипт разрывал соединение с интернетом (нет через 3ж можем) через 59 минут от начала соединения.

Соединение делает NM, поэтому скрипт не должен устанавливать соединение, а только разрывать, хотя может я много хочу? :-\

Ubuntu 18.04. Причина: зависает интернет через час, я тут уже по этому вопросу спрашивал, вроде бы проблема решилась, но вернулась опять. NM вроде бы подключение видит, поэтому не переподключается, но по факту сети нет. Как бы - сеть зависает, поэтому надо её жестко оборвать, тогда может NM увидит обрыв и сделает автоподключение. Так-то при включение ноута NM подключает сеть четко, даже если просто выдернуть модем и снова воткнуть.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Скрипт для разрыва соединения
« Ответ #1 : 03 Июня 2018, 18:22:46 »
А зачем такой костыль? Разберитесь лучше с соединением/провайдером.

А так то все просто прописываете в cron команду ifdown <имя интерфейса> и будет вам знатный костыль.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Olegdab

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: Скрипт для разрыва соединения
« Ответ #2 : 03 Июня 2018, 18:55:11 »
Провайдер разрывает соединение каждый час. Это у них такое правило, не знаю зачем. Тут ничего не сделаешь.

Но они его так разрывают, что NM думает что соединение есть и значок сети в панели. Но интернета самого нет. Причем тут тоже интересно. В firefox, после обрыва соединения, открываю любой сайт и браузер очень долго думает, но не открывает сайт, когда же я принудительно обрываю сеть, браузер моментально выдает сообщение "хм... что то пошло не так..."

 На втором ноуте который запитан интернетом через wifi, выдается значок сети с желтым треугольником ( без доступа к интернету) (windows7)

По ifdown, можно ли подробнее, Просто я не разбираюсь в этих примочках.
« Последнее редактирование: 03 Июня 2018, 18:57:52 от Olegdab »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Скрипт для разрыва соединения
« Ответ #3 : 04 Июня 2018, 21:58:47 »
Провайдер разрывает соединение каждый час. Это у них такое правило, не знаю зачем. Тут ничего не сделаешь.
Интересно посмотреть на договор предоставления услуги, где написано: "Время соединения не превышает 60 мин."

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: Скрипт для разрыва соединения
« Ответ #4 : 05 Июня 2018, 01:43:39 »
Olegdab, то есть получается что это у Вас не заработало - так что ли?
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Скрипт для разрыва соединения
« Ответ #5 : 05 Июня 2018, 08:49:28 »
Соединение делает NM
nmcli в помощь
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Olegdab

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: Скрипт для разрыва соединения
« Ответ #6 : 05 Июня 2018, 09:39:38 »
Olegdab, то есть получается что это у Вас не заработало - так что ли?

Да, пробовал установить его еще в тот раз. Но, там сначала что-то не нравилось текстовому редактору, не хотел сохранять, потом через 2-3 попытки, все же сохранил, вроде как. Но никаких действий от этого скрипта не увидел. Скорее всего что-то не так сделал, слишком много нужно проконтролировать, а я в скриптах не специалист. Кроме того, у меня хоть и безлимитный трафик, но всё же через 3ж модем, а у него скорость ограничена до 7.2 мб/с и вышка далековато, поэтому скорости едва хватает.

Пользователь добавил сообщение 05 Июня 2018, 09:46:14:
Интересно посмотреть на договор предоставления услуги, где написано: "Время соединения не превышает 60 мин."

А какой для меня был сюрприз, когда об этом узнал. Нигде такой информации не было.

Договора нет, покупаешь симку, пополняешь и пользуешься.

« Последнее редактирование: 05 Июня 2018, 09:46:14 от Olegdab »

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Скрипт для разрыва соединения
« Ответ #7 : 05 Июня 2018, 14:30:48 »
Olegdab, хм... с таким провайдером я бы постарался расстаться как можно быстрее...

Но таки если приходится такое терпеть то таки да: crontab + ifdown - единственное (костыльное) спасение....

Значит так.

В крон пишем что-то типа (могу быть не точен в мелочах):

*/59 * * * *  ip link set dev eth0 down
Ну вместо eth0 пропишите свой интерфейс
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн pfg21

  • Участник
  • *
  • Сообщений: 177
    • Просмотр профиля
Re: Скрипт для разрыва соединения
« Ответ #8 : 05 Июня 2018, 15:07:57 »
может просто прикрутить ежеминутную пинговалку какого-нить сервера поближе или того же яндекса.
нет пинга - рестарт соединения.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Скрипт для разрыва соединения
« Ответ #9 : 05 Июня 2018, 15:12:12 »
pfg21, если лизинг-тайм известен - то это лишнее.

У меня один большой провайдер раньше был так они соединение на 24 часа выдавали, ну хомячки кололись, мучались и продолжали сношаться с кактусом, а я зашедулил подобное (предложенному выше) у себя на роутере на 4 часа ночи, и забыл об этой неприятности.

Зы потом кода подключился к нормальному провайдеру, даже удивился когда в кроне нашел эту ночную лико-передергивалку. Ибо реально уже успел забыть про эти идиотские 24 часа.
« Последнее редактирование: 05 Июня 2018, 15:14:33 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Скрипт для разрыва соединения
« Ответ #10 : 05 Июня 2018, 15:42:46 »
ну или сделать такой скриптик
Код: (bash) [Выделить]
#!/bin/bash

IFACENAME=<сюда пишем имя своего интерфейса>

IFACESTATE=$(cat /sys/class/net/$IFACENAME/operstate)

if [ "$IFACESTATE" = "up" ]; then
    SEC1=`date +%s -d "$(stat /sys/class/net/wlp2s0/operstate | grep 'Change:' | awk '{print $2" "$3}')"`
    SEC2=`date +%s`
    DIFFSEC=`expr ${SEC2} - ${SEC1}`
    if [ $DIFFSEC -gt 3500 ]; then
        ifconfig $IFACENAME down
    fi

fi

Ну и добавляем в сервис с Restart=Always
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

 

Страница сгенерирована за 0.045 секунд. Запросов: 22.