Wstrzymanie systemu i brak sieci w Ubuntu

Czy też zadajecie sobie to pytanie czemu w Ubuntu 14.04 prawie za każdym razem po wstrzymaniu systemu i ponownym włączeniu nie ma sieci i nie pomaga nawet wyłączenie i włączenie ikonkami na górnym pasku w Gnome?

Najszybsze rozwiązanie to ponowne wstrzymanie systemu i za chwilę jego uruchomienie guzikiem w obudowie komputera czy laptopa.

Drugie rozwiązanie jest ciekawsze, lecz jeszcze je testuję.

Otóż weryfikujemy zawartość w pliku odpowiedzialnym za konfigurację naszej karty sieciowej:

~$ cat /etc/network/interfaces

Jeśli Ubuntu podczas instalacji było konfigurowane w najprostszy sposób, a zapewne było („DHCP”, „Dalej”, itp), to najprawdopodobniej zawartość pliku z interfejsami będzie następująca:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

Coś jest, ale widzimy, że w pierwszej linijce mamy ifup, ifdown więc sprawdzamy, bo może zadziała:

~$ sudo ifup eth0

Po podaniu hasła root’a mamy:

Ignoring unknown interface eth0=eth0.

Jak widać brak rozpoznania interfejsu eth0.

Nic więc prostszego jak dopisać (edytorem nano) odpowiednią konfigurację (dwie ostatnie linijki) zachowując pobieranie adresacji metodą dhcp:

~$ sudo nano /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp

Zapisujemy plik i ponownie podnosimy interfejs eth0:

~$ sudo ifup eth0

Wtedy otrzymujemy :

Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/eth0/00:25:b3:75:35:b0
Sending on LPF/eth0/00:25:b3:75:35:b0
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x3bb849d7)
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4 (xid=0x3bb849d7)
DHCPREQUEST of 192.168.0.32 on eth0 to 255.255.255.255 port 67 (xid=0x3bb849d7)
DHCPOFFER of 192.168.0.32 from 192.168.0.1
DHCPACK of 192.168.0.32 from 192.168.0.1
RTNETLINK answers: File exists
bound to 192.168.0.32 -- renewal in 2296766 seconds.

Interfejs eth0 jest podniesiony natomiast ikonka w pasku Ubuntu pokazuje połączenie, ale generalnie łącze mamy przywrócone.

Testując kilka przypadków wychodzi na to, że rozwiązanie nie działa z automatu za każdym razem. Wtedy należy w konsoli ręcznie wykonać:

~$ sudo ifdown eth0
~$ sudo ifup eth0

Jeszcze tylko ikonka sieci mogłaby prawidłowo wskazywać połączenie.

Edytujemy (jednorazowo) plik resolv.conf pod kątem wskazania DNSów Google:

~$ echo -e "nameserver 8.8.8.8\nnameserver 8.8.4.4" | sudo tee /etc/resolv.conf

Na koniec restart network managera (ikonka sieci na pasku):

~$ sudo service network-manager restart

Powodzenia!

 

Dodatek:

Aby nie trzeba było tego wszystkiego ręcznie uruchamiać, tworzymy skrypt siec.sh np. poleceniem

~$ nano ./siec.sh

którego zawartość przedstawia się następująco:

#!/bin/bash

sudo ifdown eth0
sudo ifup eth0
sudo service network-manager restart

Po zapisaniu pliku należy nadać uprawnienia do uruchomienia, najlepiej tylko dla właściciela, czyli

~$ chmod 700 ./siec.sh

Jak już mamy gotowy skrypt, który po uruchomieniu poprosi tylko o hasło root’a, to możemy przystąpić do utworzenia ikonki (skrótu) na pulpicie Ubuntu, czyli tzw. aktywatora. Wpierw należy zainstalować (o ile nie jest) program do tworzenia aktywatorów poleceniem

~$ sudo apt-get install --no-install-recommends gnome-panel

Następnie należy wywołać program z opcją tworzenia nowego aktywatora

~$ gnome-desktop-item-edit ~/Pulpit/ --create-new

Otworzy się okienko z możliwością podania nazwy, polecenia (pełnej ścieżki do skryptu wybieranego guzikiem Przeglądaj), komentarza oraz ikonki.

Klikając dwukrotnie utworzonego aktywatora na pulpicie Ubuntu, otrzymamy okno konsoli, w którym system poprosi użytkownika o hasło (wywołane poleceniem sudo ze skryptu).

Działa, ale to nadal nie jest automat, który powinien być zaimplementowany w Ubuntu w sytuacji wybudzenia komputera ze stanu wstrzymania (suspend mode).

Powodzenia!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *