Сделать перезапуск Администратора сети после выделенного соединения?

Используя Ubuntu 11.10 (3D Единица) и кабель (DSL) интернет-соединение без маршрутизатора или модема.

Если я разъединяю свое интернет-соединение, я могу просто снова соединиться путем нажатия на значок администратора сети и выбора соединения из выпадающего меню, так как мои соединения видимы. Нет никакой потребности перезапустить администратора сети.

Но каждый раз, когда интернет-соединение отбрасывает отдельно, я имею открытый терминал и использование sudo service network-manager restart так как я не вижу соединения в выпадающем меню администратора сети. Только после команды, делает администратора сети, затем запускаются и автоматически соединяются.

Разве существует ли некоторая установка так, чтобы администратор сети не был перезапущен каждый раз отбрасывания соединения (в противоположность моему разъединению его, когда этому не нужен перезапуск)?

Я предполагаю, другими словами, я не хочу, чтобы администратор сети остановился, пока я использую компьютер, независимо от того, отбросило ли мое соединение с ISP или нет.

Это не очень грандиозное предприятие открыть терминал и ввести команду и пароль, но если существует способ гарантировать, что администратор сети не останавливается, который был бы лучше.

отредактируйте датированный Jan 26, 2012: Строки из системного журнала

Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: No response to 3 echo-requests
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Serial link appears to be disconnected.
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Connect time 241.5 minutes.
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Sent 3575961 bytes, received 79026206 bytes.
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Connection terminated.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Withdrawing workstation service for ppp0.
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): device state change: activated -> failed (reason 'ppp-disconnect') [100 120 13]
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <warn> Activation (eth0) failed.
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]:    SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): now unmanaged
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): device state change: failed -> unmanaged (reason 'removed') [120 10 36]
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): deactivating device (reason 'removed') [36]
Jan 25 20:09:36 aes-Inspiron-1545 dbus[802]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper)
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <warn> could not read ppp stats: No such device
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): cleaning up...
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): taking down device.
Jan 25 20:09:36 aes-Inspiron-1545 kernel: [18027.155552] sky2 0000:09:00.0: eth0: disabling interface
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Interface eth0.IPv6 no longer relevant for mDNS.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Leaving mDNS multicast group on interface eth0.IPv6 with address fec0::b:223:aeff:fe2d:2431.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Withdrawing address record for 2002:1b00:3b4f:b:223:aeff:fe2d:2431 on eth0.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Withdrawing address record for 2002:1b00:3754:b:223:aeff:fe2d:2431 on eth0.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Withdrawing address record for 2002:7345:f137:b:223:aeff:fe2d:2431 on eth0.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Withdrawing address record for fec0::b:223:aeff:fe2d:2431 on eth0.
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> Unmanaged Device found; state CONNECTED forced. (see http://bugs.launchpad.net/bugs/191889)
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> Unmanaged Device found; state CONNECTED forced. (see http://bugs.launchpad.net/bugs/191889)
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Terminating on signal 15
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Exit.
Jan 25 20:09:36 aes-Inspiron-1545 dbus[802]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Jan 25 20:11:56 aes-Inspiron-1545 modem-manager[3529]: <info>  Caught signal 15, shutting down...
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <info> caught signal 15, shutting down normally.
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <warn> quit request received, terminating...
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth1): now unmanaged
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth1): device state change: unavailable -> unmanaged (reason 'removed') [20 10 36]
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <info> Unmanaged Device found; state CONNECTED forced. (see http://bugs.launchpad.net/bugs/191889)
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <info> exiting (success)
Jan 25 20:11:56 aes-Inspiron-1545 modem-manager[6945]: <info>  ModemManager (version 0.5) starting...
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[6947]: <info> NetworkManager (version 0.9.1.90) is starting...
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[6947]: <info> Read config file /etc/NetworkManager/NetworkManager.conf
Jan 25 20:11:56 aes-Inspiron-1545 kernel: [18167.470749] init: reconnect main process (6948) terminated with status 2
Jan 25 20:11:56 aes-Inspiron-1545 modem-manager[6945]: <info>  Loaded plugin Nokia
Jan 25 20:11:56 aes-Inspiron-1545 modem-manager[6945]: <info>  Loaded plugin Ericsson MBM
Jan 25 20:11:56 aes-Inspiron-1545 modem-manager[6945]: <info>  Loaded plugin MotoC

enter image description here

19
задан 26 January 2012 в 06:40

6 ответов

یک راه حل سریع و کثیف نوشتن اسکریپتی است که اجرا شود ping -i 5 google.com || مدیر شبکه سرویس را به عنوان root مجدداً راه اندازی کنید (می توانید /etc/init.d/-daemon را برای آن بنویسید ، اما از آنجا که راه حل بسیار کثیف است ، من چنین کاری نمی کنم)

این اسکریپت مجدداً راه اندازی می شود مدیر شبکه هر بار که Google پیدا نمی شود و هر پنج ثانیه یک بار بررسی می کند.

2
ответ дан 26 January 2012 в 06:40

Я сделал скрипт для этой проблемы:

#!/bin/bash

for(( ; ; ))
do
VALUE=$(ifconfig | grep ppp0| awk '{print $1}')
        if [ "$VALUE" != "ppp0" ]; then
                {       eval restart network-manager
                        eval sleep 5
                }
        fi
done

Это работает нормально, но этот скрипт принимает слишком много моего процессора. Кто-нибудь может мне помочь в снижении использования процессора?

0
ответ дан 26 January 2012 в 06:40

Почему я отвечаю на этот вопрос?

Это очень хорошие ответы, но все написано с использованием init или upstart. С этого момента мы будем использовать systemd, я пишу лучший сценарий и информацию. о том, как это сделать.

Но есть ли способ?

Есть, есть способ. Вам просто нужно создать сценарий, который отслеживает состояние вашей сети и перезапускает Network Manager по запросу. Мы создадим этот скрипт и службу systemd, которая будет запускаться вместе с системой и каждые 5 секунд будет отслеживать состояние вашей сети, чтобы определить, подключены вы к сети.

Что мне делать?

Прежде всего, мы необходимо установить инструмент fping, чтобы выполнить один из тестов соединения (fping return "is alive", если соединение возможно, и "address not found", если нет):

$ sudo apt-get install fping -y

Теперь мы создадим сценарий монитора в нашей системе. Создайте файл в / usr / local / bin / под названием nm-watcher:

$ sudo touch /usr/local/bin/nm-watcher

и отредактируйте его с помощью nano или вашего предпочтительного текстового редактора:

$ sudo nano /usr/local/bin/nm-watcher

Скопируйте и вставьте этот скрипт в редактор, сохраните и закройте файл (если вы используют nano, как в этом руководстве, используйте последовательно «CTRL + X», «Y» и «ENTER»). Не забудьте изменить wlan0 на интерфейс, который вы хотите отслеживать с помощью wm-watcher:

#!/bin/bash

while true; do #create a infinite loop to keep looking at your connection
        NET=$(ifconfig wlan0 | grep "inet inet addr:") # verify if the interface has an assigned IP
        ROUTE=$(fping google.com 2>&1 | grep "alive") # try to ping google.com and verify if we have any response
        WEB=$(wget --tries=10 --timeout=20 --spider http://google.com 2>&1 | grep "OK") # spiders google.com to verify if the page exists. returns error if a connections is not possible

        if [ ! "$NET" != "" ] || [ ! "$ROUTE" != "" ] || [ ! "$WEB" != "" ]; then # verify if any of the above conditions aren't OK
                service network-manager restart
        fi

        sleep 5
done

Чтобы запустить этот скрипт, нам нужно сделать его исполняемым:

$ sudo chmod 755 /usr/local/bin/nm-watcher

Теперь мы создадим службу SystemD, для этого вам нужно создайте и отредактируйте файл nm-watcher.service в / etc / systemd / system /:

$ sudo touch /etc/systemd/system/nm-watcher.service && sudo nano /etc/systemd/system/nm-watcher.service

И поместите это содержимое в файл:

[Unit]
Description=NetworkManager Watcher
Wants=NetworkManager.service
Before=NetworkManager.service

[Service]
ExecStart=/usr/local/bin/nm-watcher

[Install]
WantedBy=multi-user.target

Это создаст служебный файл, который заставит SystemD вызывать сценарий, который мы создали ранее при каждой загрузке, после того, как мы установили соединение с помощью network-manager.service.

Мы должны знать, разрешить ли запуск этой службы, используя:

$ sudo systemctl enable nm-watcher.service

И запустить службу, набрав:

$ sudo service nm-watcher start

Чтобы проверить, запущена ли служба введите:

$ sudo service nm-watcher status

Если у вас есть какие-либо проблемы со службой, вы можете увидеть отладочные сообщения, используя:

$ sudo journalctl -u nm-watcher

Должен ли я делать что-нибудь еще?

Нет, это все, что нужно для выполнения этой задачи. Этот скрипт очень мало влияет на производительность системы, как вы можете видеть на этом снимке экрана:

nm-watcher footprint

0
ответ дан 26 January 2012 в 06:40

این یک اسکریپت شروع است که می توانید به /etc/init/reconnect.conf قرار دهید:

start on started network-manager
stop on runlevel [016]

script
  while true; do
    if ifconfig eth0 | grep -q "inet addr:"; then
       # echo "all ok!"
    else
       restart network-manager
    fi
    sleep 5
  done
end script

با از دست دادن آدرس ip برای eth0 (در رابط خود پیکربندی کنید متفاوت است) ، کار مدیر شبکه را مجدداً راه اندازی کرده و اتصال را بازیابی می کند.

16
ответ дан 26 January 2012 в 06:40

На моем старом ноутбуке у меня была плохая карта Wi-Fi, которая имела тенденцию отключаться от WiFi при большой нагрузке (например, при загрузке больших файлов и т. Д.).

Я создал простой сценарий, чтобы проверить, подключен ли мой Интернет, и если нет, перезапустите диспетчер сети.

#!/bin/bash

ping -c 1 8.8.8.8
received=$?
echo $received
if [[ $received -ne 0 ]] ; then
    service network-manager restart
fi

Я создал корневое задание cron с помощью sudo crontab -e и установил его так, чтобы каждую минуту (вы можете делать это реже, но сценарий представляет собой простой пинг, поэтому он не требует значительных ресурсов ) он запустил бы сценарий.

Итак, если бы мой Wi-Fi по какой-то причине отключился, он бы отключился только примерно на минуту за раз, максимум. Если вы не знакомы с cron , я рекомендую прочитать этот

1
ответ дан 26 January 2012 в 06:40

Probéiert wicd amplaz vum Netzwierkmanager, et gouf fir en ähnleche Fall empfohlen: https://bbs.archlinux.org/viewtopic.php?id=124443

Ech weess net ob et de Problem fixéiert an och net ob wicd pppoe ënnerstëtzt.

  1. Backup vun de .deb Dateien, just am Fall:

     sudo apt-get download network-manager network-manager-gnome
     
  2. Purge Network Manager an installéiere wicd

     sudo apt-get purge network-manager network-manager-gnome
    sudo apt-get install wicd wicd-gtk
     
  3. Neistarten. Probéiert mat Wicd ze verbannen.

Wann eppes falsch leeft, just wicd puren an de Netzwierkmanager nei installéieren:

sudo apt-get purge wicd wicd-gtk
sudo dpkg -i network-manager*.deb
2
ответ дан 26 January 2012 в 06:40

Другие вопросы по тегам:

Похожие вопросы: