Linux łączy się z siecią, ale nie może nic pobrać

0

Cześć, chciałam sobie zrobić NASa na bieda-lapku, więc zainstalowałam dedykowaną do tego dystrybucję Openmediavalut. Normalnie, po bootcie w terminalu powinien pokazać się adres IP na którym znajduje się interfejs WEB NASa, jednak tak się nie dzieje - pole w którym powinien pokazać się adres jest puste. Na forum OMV sugerują restart, jednak i po nim sytuacja jest taka sama.

Komenda ip addr nie zwraca w ogóle adresu IP, więc zdesperowana postanowiłam zainstalować stary dobry ifconfig. I tutaj zonk: sudo apt install net-tools znajduje pakiet i standardowo pyta czy chcemy go zainstalować, ale po potwierdzeniu rzuca komunikaty:

  • Failed to fetch http://deb.debian.org
  • Could not resolve deb.debian.org
    (niestety nie mogę pokazać dokładnego wydruku z konsoli, ponieważ pastebin nie działa, ale zerknij na link niżej, gdzie ktoś miał taki sam lub bardzo podobny problem do mojego)

Pierwsza myśl: DNSy, więc dodałam do /etc/resolv.conf google'owskiego DNSa (nameserver 8.8.8.8), ale i to nie pomogło - nawet pingowanie stron nie działa.
Generalnie mój problem jest zbliżony do tego: https://www.linuxquestions.org/questions/debian-26/trouble-installing-in-debian-10-a-4175683795/
Ale tam niestety wątek się urywa bez rozwiązania. Wrzucam potencjalnie pomocne pliki:

/etc/apt/sources.list

deb http://deb.debian.org/debian buster main non-free contrib
deb-src http://deb.debian.org/debian buster main non-free contrib

deb http://security.debian.org/debian-security buster/updates main non-free contrib
deb-src http://security.debian.org/debian-security buster/updates main non-free contrib

deb http://debian.org/debian buster/updates main non-free contrib
deb-src http://debian.org/debian buster/updates main non-free contrib

etc/resolv.conf

search omicron.nas # nazwa NASa
nameserver 8.8.8.8

Z góry dzięki za pomoc!

0
  1. Czy pali się zielona lampka przy porcie Ethernetu - NIE -> Problem z kablem
  2. Czy w sieci jest skonfigurowany serwer DHCP, IP powinien zostać przydzielony automatycznie. DNS również ustawia się przy korzystaniu z DHCP. O ile mnie pamieć nie myli poszukaj polecenia dhclient.
  3. Być może problem jest z kartą sieciową - nie została rozpoznana przez Linux'a. Zdarza się zwłaszcza w przypadku WiFi starszych lapkow. Ethernet dużo rzadziej ale też. Poszukaj co pisze dmesg i lspci

PS. Samo ustawienie DNS nic nie da. To czego ty potrzebujesz to ręcznie nadać adres IP (zgodny z maską sieci) oraz ustawić Gateway na adres routera. I dopiero potem ustawić DNS. Jeżeli chcesz to zrobić "wręcz".

0

@calineczka:
Pokaż co zwracają takie komendy z usera root:

ip a

ip r sh

0

@0xmarcin:

  1. działam akurat na wifi, ponieważ nie mam wolnej RJtki ;)
  2. dhclient mieli ale nic nie zwraca.
  3. lspci znajduje mi kartę sieciową jako Intel PRO/Wireless 5100 AGN (shiloh). Jeżeli chodzi o dmesg - karta wifi jest wykrywana, ale nie widzę błędów poza jednym związanym z BIOSem (AE_AML_PACKAGE_LIMIT), ale chyba ten nie jest związany z moim problemem.

@vtx
ip r sh nie pokazuje nic, zaś ip a pokazuje:
ipa.png

0

@calineczka: Z obrazka widać, że masz dwa interfejsy sieciowe: ens5 i wls1, ale żaden z nich nie ma linku i nie otrzymał adresu IP. Zakładam że ens5 to ethernet, więc pomijam go bo piszesz, że nie masz kabla. Musisz w takim razie skonfigurować wifi. Jeśli ten laptop ma być wifi-stacją to musisz ją podpiąć do jakiegoś wifi-access-pointa. Ale to pewnie wiesz. Przydałby się jeszcze wynik z komendy iwconfig.

0

@vtx:

Musisz w takim razie skonfigurować wifi

Tylko co tak naprawdę znaczy skonfigurować wifi w Linuxie? Jak do tej pory zmiana DNSa lub mirrora wystarczała. :|

Wynik iwconfig:
screenshot-20210822154515.png

0

Z pustego i Salomon nie naleje, jak nie masz adresu IP to nie możesz odbierać i wysyłać danych. DNS nic tutaj nie zmieni (ruch DNS nie korzysta z IP, ale już wszystkie wyższe warstwy takie jak HTTP/FTP/HTTPS już tak).

Obsługa wifi z command line na Linuxie ssie (zwłaszcza jak nie możesz doinstalować pseudo graficznych narzędzi bo nie ma internetu) https://www.linux.com/training-tutorials/how-configure-wireless-any-linux-desktop/

EDIT: DNS korzysta z UDP

1

@calineczka: Skonfigurować wifi oznacza przypisać twój interfejs sieciowy wls1 do jakiegoś wifi access-pointa. Z tego co widzę nie masz tego jeszcze skonfigurowanego. Musisz znać ESSID swojego access-pointa oraz hasło WPA do niego. W przypadku ethernetu ten etap nie jest potrzebny, ale wifi tego wymaga. Kiedy już masz te dane możesz skonfigurować swój interfejs tak:

wpa_passphrase twoj_essid haslo > wpa.conf
wpa_supplicant -Dwext -iwls1 -c./wpa.conf

i po jakimś czasie jeśli ESSID i hasło podane są poprawnie i access point pozwoli Ci korzystać z jego usług - powinnaś dostać w "iwconfig" coś takiego:

       wls1     IEEE 802.11bg  ESSID:"testowy"  Nickname:"<WIFI@REALTEK>"
                  Mode:Managed  Frequency:2.442 GHz  Access Point: XX:XX:XX:XX:XX:XX
                  Bit Rate:54 Mb/s   Sensitivity:0/0
                  Retry:off   RTS thr:off   Fragment thr:off
                  Encryption key:****-****-****-****-****-****-****-****   Security mode:open
                  Power Management:off
                  Link Quality=85/100  Signal level=87/100  Noise level=0/100
                  Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
                  Tx excessive retries:0  Invalid misc:0   Missed beacon:0

I dopiero teraz możesz konfigurować warstwę IP - czyli uruchomić "dhclient"-a, żeby przypisał Ci adres IP, bramy i DNS-y.

A co do tego, że do tej pory ustawianie DNS-u wystarczało - to raczej sprawa musiała dotyczyć ethernetu, bo tam zwykle nie trzeba się autoryzować tak jak w wifi. Tam podpinasz kabel i warstwa MAC załatwia za Ciebie połączenie.

A - zapomniałem napisać jak sprawdzić ESSID-a dostępnych sieci wifi:
# iwlist wls1 scan

lub
# iw dev wls1 scan

Powinna pojawić się dłuuuga lista dostępnych access-pointów. Wyszukaj w niej ESSID tego access-pointa, do którego chcesz się podłączyć.

0

@vtx: Okej, więc sprawa wygląda następująco:
Spróbowałam zrobić to co zaleciłeś, jednak po wpa_supplicant komp stoi przez 30 minut i nic z tego nie wynika (patrz screen shot). Dla bezpieczeństwa przeinstalowałam system (naturalnie to nie naprawiło problemu), i spróbowałam jeszcze raz z dokładnie takim samym skutkiem. :/
BTW: Dlaczego jeżeli technicznie nie mam internetu, to apt install 'znajduje' te pakiety, podaje ich rozmiar, depy itd.?
screenshot-20210822195554.png

2

@calineczka: Piszesz, że nic z tego nie wynika - ale ze zdjęcia wynikałoby, że połączyłaś się z access-pointem. W tym momencie możesz uruchomić sobie iwconfig-a i upewnić się, że będzie podobny do tego, który ja podałem. Jeśli tak - to teraz dopiero możesz próbować odpalić dhclient-a (w innym terminalu i niech sobie ten wpa_supplicnat cały czas działa, nie ubijaj go), żeby skonfigurował IP, bramę i DNS-y, a potem już puszczać pingi, ładować strony, etc. I to powinno być wszystko.

A z reinstalacją całego systemu to niepotrzebnie - to nie Windows :)

Co do tego dlaczego apt znajduje pakiety a nie ma tak naprawdę dostępu do sieci - to wygląda na to, że apt ma jakąś swoją bazę danych o istniejących pakietach i znajdujących się w nich plikach. Ta baza pewnie jest gdzieś zapisana na dysku i zapewne jest tworzona podczas instalacji systemu. Później dopiero kiedy robisz "apt-get update" jest ona aktualizowana do najnowszych informacji o najnowszych pakietach dostępnych w sieci - ale do tego musisz mieć dostęp do sieci.
Niepokoi mnie tylko błąd na początku: Invalid argument. Jeśli chcesz możesz spróbować podać wps_supplicantowi inny argument i sprawdzić czy to będzie lepiej działać:
wpa_supplicant -Dnl80211 -iwls1 -c./wpa.conf

Jeśli i to nie pomoże (tzn. nie będzie netu) to poszukaj może w pasku menu albo gdzieś w ustawieniach systemu GUI opcji konfigurowania wifi. Ubuntu ma coś takiego - po prawej stronie u góry. Sorry, ale nie znam tej dystrybucji OMV, której używasz i nie wiem gdzie to może być w menu.
Ja osobiście preferuję konfigurację z command line-a a nie z GUI, bo zbyt wiele razy się na GUI przejechałem.

0

@vtx: Działa, dziękuję! <3

A'propos pakietów, to taka właśnie była pierwsza myśl, ale z drugiej strony tych pakietów jest tak dużo, że wydało mi się to bez sensu... No nic, człowiek się uczy całe życie. :)

PS. Tutaj nie ma GUI, poza interfejsem WEBowym. W każdym razie, dzięki jeszcze raz!

0

Ok, cieszę się że zadziałało i że dotrwałaś do końca. Wiele osób boi albo brzydzi się wydawania komend w konsoli :)

0

@vtx: Korzystając z okazji jeszcze dopytam: czy da się zrobić tak, aby łączenie z siecią było automatyczne przy starcie? Niestety obecnie po restarcie całą procedurę trzeba powtarzać :/. Domyślam się, że mogłabym to zrobić jakoś za pomocą skryptu Bash i wrzucić go do auto-startu przy bootcie, ale wydaje mi się to mało eleganckie.

2

@calineczka: Nie bardzo znam dystrybucję OMV, domyślam się tylko że bazuje albo na Debianie albo na Ubuntu. Domyślam się też, że używa "systemd" a nie skryptów "init" albo "upstart"-u.
Pierwsze co sprawdziłbym to czy masz usługę NetworkManager w systemd:
systemctl status NetworkManager

jeśli zwróci coś takiego:

* NetworkManager.service - Network Manager
     Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: disabled)
    Drop-In: /usr/lib/systemd/system/NetworkManager.service.d
             `-NetworkManager-ovs.conf
     Active: inactive (dead)
       Docs: man:NetworkManager(8)

to znaczy, że masz systemd i usługę NetworkManager, ale aktualnie jest wyłączona - więc trzeba ją załączyć:
systemctl start NetworkManager

teraz jeśli wszystko dobrze poszło - możesz sobie skonfigurować połączenie wifi przy pomocy jednego z dwu programów:
nm-connection-editor lub nmtui. Tern pierwszy jest pod X-y, a ten drugi działa w konsoli.

Na razie tyle. Jeśli to zadziała - to jest jeszcze tylko jeden krok potrzebny do wykonania. Ale to później.

0

@vtx: Okazało się, że nie było network-managera więc go zainstalowałam i skonfigurowałam i wstępnie działa. Dzięki. :)

1

@calineczka: A czy po restarcie systemu konfiguracja wifi jest przywracana? Bo jeśli nie to trzebaby włączyć na stałe uruchamianie tego network-managera:
systemctl enable NetworkManager

0

@vtx: Tak jest przywracana. W zasadzie to zaraz po instalacji sam się włączył (status Active) i na ten moment po restarcie wszystko śmiga. ;]

1 użytkowników online, w tym zalogowanych: 0, gości: 1