Arch Linux - connect: la red es inalcanzable

22

Después de cinco instalaciones fallidas de Arch Linux, tengo dos que se instalaron correctamente. La primera vez, la red funcionó bien, e incluso estaba instalando Arch Linux sobre SSH.

Después de arrancar desde el sistema instalado en lugar del CD en vivo, no se puede conectar a la red, recibo el siguiente mensaje cuando intento hacer ping a cualquier cosa, incluso a mi enrutador:

conectar: ​​la red es inalcanzable

Intenté instalar Arch nuevamente, porque nada en Internet parecía solucionar mi problema. Después de la instalación, obtengo el mismo problema.

Parece que no se puede iniciar eth0 porque se agota el tiempo de espera.

Novicode
fuente
44
¿Lo intentaste dhcpcd eth0?
uzsolt
@uzsolt Sí, da una llamada al método Error al emitir: No existe tal archivo o error de directorio. También publiqué un tema en los foros oficiales, publicaré la respuesta aquí si encuentro uno.
Novicode
ifconfig eth0 up¿ya hecho? ¿Linux ve su tarjeta de red (el módulo está cargado)? Antes que nada, por favorsystemctl stop netctl-eth0...
uzsolt
Maldición ... no tienes eth0, has ... No puedo leerlo :( bbs.archlinux.org/viewtopic.php?pid=1291880#p1291880 Entonces deberías configurar NO eth0, deberías usar en cambio enp1s0(o qué demonios hay en tu foto :)).
uzsolt
Me alegra haber resuelto tu problema.
uzsolt

Respuestas:

26

El problema que enfrentaba era que no había eth0(por lo que puedo entender). Ejecute el comando ip link, esto debería generar sus interfaces. No tenía la eth0interfaz. En cambio lo hice enp1s8.

Debido a que estaba usando static, copié el perfil de ejemplo con cd /etc/netctlentonces cp examples/ethernet-static my-network. Después de eso, edité my-networkcon nano my-network, y cambié la interfaz de eth0a en1s8(o cualquiera que sea su adaptador ip link). Finalmente, lo habilité para usar ese perfil en el inicio con netctl enable my-network.

Habilitar el perfil asegurará que se inicie al arrancar, pero no hay necesidad de reiniciar el sistema, simplemente ejecútelo netctl start my-networkpara inicializarlo de inmediato.

Pude obtener ayuda en los foros oficiales de Arch Linux, puedes ver mi tema allí .

Novicode
fuente
4

Red inalcanzable significa que no tiene una ruta a la red. Si ni siquiera puede hacer ping al enrutador local, o no tiene una dirección IP o su interfaz de red está inactiva.

netctles la utilidad estándar para administrar interfaces de red en Arch. Si no ha configurado eso (u otra cosa), no tendrá ninguna red. Ni siquiera DHCP.

David Baggerman
fuente
Copié un archivo de ejemplo de examples / ethernet-static a "my-network", modifiqué ese archivo y lo habilité al inicio con "netctl enable my-network". Tampoco hay conflictos de IP en la red. Debería estar "configurado"
Novicode
Para saber si puede alcanzar su puerta de enlace predeterminada (a menudo es su enrutador), ingrese ip route. Si resulta que no tiene una puerta de enlace predeterminada, debe agregar una por DHCP o con ip route add default via xxx.xxx.x.xxx. Para que la puerta de enlace predeterminada sea permanente, agregue la IP a /etc/network/interfaces.
Matthias Braun
3

La configuración de red para ArchLinux está bien documentada en la wiki de ArchLinux en https://wiki.archlinux.org/index.php/Netctl

Una aclaración importante de la respuesta con el mayor número de votos: NO es necesario reiniciar. Si solo está presente la interfaz de red y se usa el nombre y la configuración de interfaz adecuados en el archivo de perfil en / etc / netcl (deje que la copia de ejemplo se llame mynet1), entonces

netctl start mynet1

iniciará el perfil de red mynet1 y la ruta de red funcionará.

sin embargo

netclt enable mynet1

permitirá que el administrador del servicio systemd inicie el servicio del sistema con cada arranque, es decir, creará un archivo de unidad en /etc/systemd/system/netc@[mynetprofilenamefont>.service con los detalles de la unidad (enlace y dependencia del dispositivo).

Tenga en cuenta también que si se modifica el perfil de red, tendría que volver a habilitarse netctl.

predmod
fuente
1

Archlinux dice: intente dhcpcd en caso de que su instalador no pueda conectarse automáticamente. Esto funcionó en el acto para mí DESPUÉS de la instalación. Simplemente escriba "dhcpcd" como comando, espere unos segundos y luego "ip route" o "ping 8.8.8.8" para verificar si funciona. Incluso usé "watch ip address" para ver qué tan rápido aparecen estas direcciones inet e inet6.

En lugar de usar dhcpcd, también puedo conectarme desde cero con:

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 es un "controlador de red", dice modinfo. Al cargar este módulo obtengo un enlace eth0 (no, no lo busques en / dev). Los comandos "ip" activan el enlace, eligen una dirección y definen un local (subred) y luego una puerta de enlace predeterminada. Me tomó bastante tiempo probar esto (ayuda de enlace de IP, ayuda de dirección de IP, ayuda de ruta de IP ...).

Esto es instructivo, pero "dhcpcd" es más rápido de escribir y probablemente más robusto. Y puede detenerlo limpiamente con "dhcpcd -x".

Con un ping de trabajo y la lista de espejos en /etc/pacman.d/ tiene todo lo que necesita para pacman o pacstrap.

Y sí, vi un mensaje del kernel que cambiaba el nombre de eth0 a enoxxx, por lo que primero debe verificar con "ip link" qué interfaces ya están configuradas por systemd. Sucede aquí:

[    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

El .16 en mi dirección es cualquier número (gratuito), y 192.168.0.1 siempre debe ser la puerta de enlace. Tal vez tuve suerte, pero es una buena noticia que puedas hackear bajo systemd e inet6. Sin embargo, intentaré netctl.

Y ahora mismo he arrancado con systemd y he comenzado dhcpcd. Obtuve la dirección .15 en "eno1" y tres direcciones inet6, pero aparte de eso, el resultado es bastante similar al anterior "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 

fuente