Arch Linux - connect: Jaringan tidak dapat dijangkau

22

Setelah lima instalasi Arch Linux gagal, saya punya dua yang diinstal dengan benar. Pertama kali, jaringan bekerja dengan baik, dan saya bahkan menginstal Arch Linux melalui SSH.

Setelah boot dari sistem yang terinstal dan bukan live CD, itu tidak dapat terhubung ke jaringan, saya mendapatkan pesan berikut ketika saya mencoba melakukan ping apa pun, bahkan router saya:

terhubung: Jaringan tidak dapat dijangkau

Saya sudah mencoba menginstal Arch lagi, karena sepertinya tidak ada yang memperbaiki masalah saya di Internet. Setelah menginstal, saya mendapatkan masalah yang sama.

Tampaknya gagal memulai eth0 karena waktu habis.

Novicode
sumber
4
Apakah kamu sudah mencoba dhcpcd eth0?
uzsolt
@uzsolt Ya, itu memberi Gagal untuk mengeluarkan panggilan metode: Tidak ada kesalahan file atau direktori tersebut. Saya juga memposting topik di forum resmi, saya akan memposting jawabannya di sini jika saya menemukannya.
Novicode
ifconfig eth0 upsudah selesai? Apakah linux melihat kartu jaringan Anda (modul dimuat)? Sebelum apa pun, silakansystemctl stop netctl-eth0...
uzsolt
Sial ... Anda tidak punya eth0, Anda sudah ... Saya tidak bisa membacanya :( bbs.archlinux.org/viewtopic.php?pid=1291880#p1291880 Jadi Anda harus mengatur NO eth0, Anda harus menggunakan sebagai gantinya enp1s0(atau apa yang ada di foto Anda :)).
uzsolt
Saya senang menyelesaikan masalah Anda.
uzsolt

Jawaban:

26

Masalah yang saya hadapi adalah tidak ada eth0(dari apa yang bisa saya mengerti.) Jalankan perintah ip link, ini akan menampilkan antarmuka Anda. Saya tidak memiliki eth0antarmuka. Justru saya yang melakukannya enp1s8.

Karena saya menggunakan statis, saya menyalin contoh profil dengan cd /etc/netctlitu cp examples/ethernet-static my-network. Setelah itu, saya edit my-networkdengan nano my-network, dan mengubah antarmuka dari eth0menjadi en1s8(atau apa pun adaptor Anda ip link). Akhirnya, saya mengaktifkannya untuk menggunakan profil itu pada startup dengan netctl enable my-network.

Mengaktifkan profil akan memastikan bahwa itu dimulai saat boot, tetapi tidak perlu me-reboot sistem, cukup jalankan netctl start my-networkuntuk menginisialisasi segera.

Saya bisa mendapatkan bantuan di forum Arch Linux resmi, Anda dapat melihat topik saya di sana .

Novicode
sumber
4

Jaringan yang tidak terjangkau berarti Anda tidak memiliki rute ke jaringan. Jika Anda bahkan tidak dapat melakukan ping ke router lokal, Anda tidak memiliki alamat IP atau antarmuka jaringan Anda sedang tidak aktif.

netctladalah utilitas standar untuk mengelola antarmuka jaringan di Arch. Jika Anda belum mengaturnya (atau yang lainnya), Anda tidak akan memiliki jaringan apa pun. Bahkan DHCP.

David Baggerman
sumber
Saya telah menyalin file contoh dari contoh / ethernet-static ke "my-network", memodifikasi file itu, kemudian mengaktifkannya saat startup dengan "netctl enable my-network". Tidak ada konflik IP di jaringan, baik. Seharusnya "Set up"
Novicode
Untuk mengetahui apakah Anda dapat mencapai gateway default Anda (ini sering kali adalah router Anda), masukkan ip route. Jika ternyata Anda tidak memiliki gateway default, Anda harus menambahkan satu per DHCP atau dengan ip route add default via xxx.xxx.x.xxx. Untuk membuat gateway default permanen, tambahkan IP ke /etc/network/interfaces.
Matthias Braun
3

Pengaturan jaringan untuk ArchLinux didokumentasikan dengan baik di wiki ArchLinux di https://wiki.archlinux.org/index.php/Netctl

Satu klarifikasi penting dari jawaban dengan jumlah suara terbanyak - TIDAK perlu untuk memulai kembali. Jika hanya antarmuka jaringan yang ada dan nama antarmuka yang tepat dan konfigurasi yang digunakan dalam file profil di / etc / netcl (biarkan salinan contoh bernama mynet1), maka

netctl start mynet1

akan memulai profil jaringan mynet1 dan rute jaringan akan berfungsi.

Namun

netclt enable mynet1

akan memungkinkan layanan sistem dimulai oleh manajer layanan systemd dengan setiap boot, yaitu ia akan membuat file unit di /etc/systemd/system/netc@[mynetprofilename[.service dengan detail unit (ikatan dan ketergantungan perangkat).

Perhatikan juga bahwa jika profil jaringan diubah itu harus netctl diaktifkan kembali.

predmod
sumber
1

Archlinux mengatakan, coba dhcpcd jika installer Anda tidak dapat terhubung secara otomatis. Ini bekerja di tempat bagi saya SETELAH instalasi. Cukup ketik "dhcpcd" sebagai perintah, tunggu beberapa detik, lalu "ip route" atau "ping 8.8.8.8" untuk memeriksa apakah itu berfungsi. Saya bahkan menggunakan "watch ip address" untuk melihat seberapa cepat alamat inet dan inet6 ini muncul.

Alih-alih menggunakan dhcpcd, saya juga dapat terhubung dari nol dengan:

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 adalah "Network Driver", kata modinfo. Dengan memuat modul ini saya mendapatkan tautan eth0 (tidak, jangan mencarinya di / dev). Perintah "ip" mengaktifkan tautan, memilih alamat dan menentukan lokal (subnet) dan kemudian gateway default. Butuh beberapa waktu untuk menguji ini (bantuan tautan ip, bantuan alamat ip, bantuan rute ip ...).

Jadi ini instruktif, tetapi "dhcpcd" lebih cepat untuk mengetik, dan mungkin lebih kuat. Dan Anda dapat menghentikannya dengan bersih dengan "dhcpcd -x".

Dengan ping yang berfungsi dan mirrorlist di /etc/pacman.d/ Anda memiliki semua yang Anda butuhkan untuk pacman atau pacstrap.

Dan ya, saya melihat pesan kernel mengganti nama eth0 menjadi enoxxx, jadi Anda harus memeriksa dulu dengan "ip link" antarmuka apa yang sudah diatur oleh systemd. Ini terjadi di sini:

[    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 di alamat saya adalah sembarang nomor (gratis), dan 192.168.0.1 harus selalu menjadi gateway. Mungkin saya beruntung, tetapi ini adalah kabar baik bahwa Anda dapat meretas di bawah systemd dan inet6. Saya akan mencoba netctl.

Dan sekarang saya telah boot dengan systemd dan dhcpcd telah dimulai. Saya mendapat alamat .15 pada "eno1" dan tiga alamat inet6, tetapi selain itu hasilnya hampir sama dengan di atas "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 

sumber