Arch Linux - connect: Sieć jest nieosiągalna

22

Po pięciu nieudanych instalacjach Arch Linuxa, mam dwie poprawnie zainstalowane. Za pierwszym razem sieć działała dobrze, a ja nawet instalowałem Arch Linux przez SSH.

Po uruchomieniu z zainstalowanego systemu zamiast Live CD, nie może połączyć się z siecią, przy próbie pingowania czegokolwiek, nawet routera, pojawia się następujący komunikat:

połącz: sieć jest nieosiągalna

Próbowałem ponownie zainstalować Arch, ponieważ nic w Internecie nie rozwiązało mojego problemu. Po zainstalowaniu pojawia się ten sam problem.

Wygląda na to, że nie można uruchomić eth0, ponieważ upłynął limit czasu.

Novicode
źródło
4
Próbowałeś dhcpcd eth0?
uzsolt
@uzsolt Tak, daje komunikat o błędzie Nieudane wywołanie metody: Brak błędu pliku lub katalogu. Opublikowałem też temat na oficjalnych forach, w razie potrzeby opublikuję odpowiedź tutaj.
Novicode
ifconfig eth0 upjuż zrobione? Czy Linux widzi twoją kartę sieciową (moduł jest załadowany)? systemctl stop netctl-eth0...
Przede
Cholera ... nie masz eth0, ty ... Nie mogę tego przeczytać :( bbs.archlinux.org/viewtopic.php?pid=1291880#p1291880 Więc powinieneś skonfigurować NIE eth0, powinieneś użyć zamiast tego enp1s0(lub co do diabła jest na twoim zdjęciu :)).
uzsolt
Cieszę się, że rozwiązałem twój problem.
uzsolt

Odpowiedzi:

26

Problem, z którym się spotkałem, polegał na tym, że nie było eth0(z tego, co rozumiem). Uruchom polecenie ip link, powinno to wygenerować interfejsy. Nie miałem eth0interfejsu. Zamiast tego miałem enp1s8.

Ponieważ używałem statyczny, skopiowałem przykładowy profil z cd /etc/netctlpotem cp examples/ethernet-static my-network. Następnie dokonałem edycji za my-networkpomocą nano my-networki zmieniłem interfejs z eth0na en1s8(lub cokolwiek, w czym znajduje się twój adapter ip link). W końcu umożliwiłem mu używanie tego profilu przy uruchamianiu netctl enable my-network.

Włączenie profilu zapewni, że uruchomi się on podczas rozruchu, ale nie ma potrzeby ponownego uruchamiania systemu, wystarczy uruchomić go, netctl start my-networkaby natychmiast go zainicjować.

Udało mi się uzyskać pomoc na oficjalnych forach Arch Linux, można zobaczyć mój temat tam .

Novicode
źródło
4

Sieć nieosiągalna oznacza, że ​​nie masz trasy do sieci. Jeśli nie możesz nawet pingować lokalnego routera, oznacza to, że nie masz adresu IP lub interfejs sieciowy jest wyłączony.

netctlto standardowe narzędzie do zarządzania interfejsami sieciowymi w Arch. Jeśli nie skonfigurowałeś tego (lub czegoś innego), nie będziesz mieć żadnej sieci. Nawet DHCP.

David Baggerman
źródło
Skopiowałem przykładowy plik z przykładów / ethernet-static do „my-network”, zmodyfikowałem ten plik, a następnie włączyłem go przy uruchomieniu za pomocą „netctl enable my-network”. W sieci nie ma również konfliktów adresów IP. Powinno to być „skonfigurowane”
Novicode
Aby dowiedzieć się, czy możesz dotrzeć do domyślnej bramy (często jest to router), wpisz ip route. Jeśli okaże się, że nie masz domyślnej bramy, powinieneś dodać jedną na DHCP lub za pomocą ip route add default via xxx.xxx.x.xxx. Aby stała brama domyślna była stała, dodaj adres IP do /etc/network/interfaces.
Matthias Braun
3

Konfiguracja sieci dla ArchLinux jest dobrze udokumentowana na wiki ArchLinux pod adresem https://wiki.archlinux.org/index.php/Netctl

Jedno ważne wyjaśnienie odpowiedzi z największą liczbą głosów - nie ma potrzeby ponownego uruchamiania. Jeśli obecny jest tylko interfejs sieciowy, a nazwa pliku i konfiguracja są używane w pliku profilu w / etc / netcl (niech przykładowa kopia ma nazwę mynet1), to

netctl start mynet1

uruchomi profil sieci mynet1 i trasa sieci powinna działać.

jednak

netclt enable mynet1

umożliwi uruchomienie usługi systemowej przez systemd Service Manager przy każdym rozruchu, tj. utworzy plik jednostkowy w /etc/systemd/system/netc@[mynetprofilename].service ze szczegółami jednostki (powiązanie i zależność urządzenia).

Zauważ też, że jeśli profil sieci zostanie zmodyfikowany, będzie musiał zostać ponownie włączony.

predmod
źródło
1

Archlinux mówi: wypróbuj dhcpcd na wypadek, gdyby Twój instalator nie mógł połączyć się automatycznie. Działa to na miejscu dla mnie PO instalacji. Po prostu wpisz „dhcpcd” jako polecenie, poczekaj kilka sekund, a następnie „ip route” lub „ping 8.8.8.8”, aby sprawdzić, czy to działa. Użyłem nawet „obejrzyj adres IP”, aby zobaczyć, jak szybko pojawiają się te adresy inet i inet6.

Zamiast używać dhcpcd, mogę również połączyć się od zera za pomocą:

modprobe e1000e

ip link set dev eth0 up
ip address add 192.168.0.16/24 dev eth0
ip route add 192.168.0.0/24 dev eth0
ip route add default via 192.168.0.1

e1000e jest „sterownikiem sieci”, mówi modinfo. Ładując ten moduł, otrzymuję link eth0 (nie, nie szukaj go w / dev). Polecenia „ip” aktywują łącze, wybierają adres i definiują lokalną (podsieć), a następnie bramę domyślną. Zajęło mi to trochę czasu, aby to przetestować (pomoc dotycząca adresu IP, pomoc dotycząca adresu IP, pomoc dotycząca trasy IP ...).

Jest to pouczające, ale „dhcpcd” jest szybsze w pisaniu i prawdopodobnie bardziej niezawodne. Możesz to zatrzymać czysto za pomocą „dhcpcd -x”.

Dzięki działającemu pingowi i liście kopii lustrzanych w /etc/pacman.d/ masz wszystko, czego potrzebujesz do Pacman lub Pacstrap.

I tak, widziałem komunikat jądra zmieniający nazwę eth0 na enoxxx, więc najpierw musisz sprawdzić za pomocą „ip link”, jakie interfejsy są już skonfigurowane przez systemd. Zdarza się tutaj:

[    3.052354] e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) 94:c6:91:a5:39:b8
[    3.052360] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection
[    3.052445] e1000e 0000:00:1f.6 eth0: MAC: 13, PHY: 12, PBA No: FFFFFF-0FF
[    3.055917] e1000e 0000:00:1f.6 eno1: renamed from eth0

.16 w moim adresie to tylko dowolny (bezpłatny) numer, a 192.168.0.1 zawsze powinna być bramą. Może miałem szczęście, ale to dobra wiadomość, że możesz włamać się pod systemd i inet6. Spróbuję jednak netctl.

W tej chwili uruchomiłem systemd i uruchomiłem dhcpcd. Mam adres .15 na „eno1” i trzy adresy inet6, ale poza tym wynik jest taki sam, jak w przypadku powyższego „ip” -hack.

3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 94:c6:91:a5:39:b8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.15/24 brd 192.168.0.255 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
    inet6 2a05:41c0:12:bf00::2/128 scope global dynamic noprefixroute 
       valid_lft 2559430sec preferred_lft 572230sec
    inet6 2a05:41c0:12:bf00:f51e:97c1:de6f:6f49/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 2591994sec preferred_lft 604794sec
    inet6 fe80::47cf:a2e4:af0b:b7cd/64 scope link 
       valid_lft forever preferred_lft forever 


 default via 192.168.0.1 dev eno1 proto dhcp src 192.168.0.15 metric 203 
 192.168.0.0/24 dev eno1 proto dhcp scope link src 192.168.0.15 metric 203 

źródło