¿Cómo puedo solucionar problemas de networkinges en Debian?

Hoy reinicié mi Linux Box y, después del reinicio, mi Linux Box no tiene connection de networking.

Esto es lo que he intentado hasta ahora:

  1. Use un cable de ethernet diferente que funcione en mi otra computadora. Ningún cambio.

  2. En NetworkManager (KDE) elimine y vuelva a crear la connection de networking por cable. No funcionó Todavía estoy recibiendo notifications del sistema en la esquina inferior derecha de la pantalla que dice

    Network Interface Connection New Winetworking Connection failed 
  3. > sudo /etc/init.d/networking restart Parece que se reinició con éxito, pero aún no hay connection de networking.
  4. Comprobado /etc/network/interfaces . El único código que hay es lo que Internet dice que se supone que es:

     auto lo iface lo inet loopback 
  5. Se aseguró de que no se trataba solo de un problema de DNS al intentar hacer ping a uno de los serveres DNS públicos de Google.

     $ ping 8.8.8.8 connect: Network is unreachable 

    No parece ser un problema de DNS.

  6. NUEVO routing de arreglos. Utilicé el command de route para agregar una puerta de enlace pnetworkingeterminada que apunta a la dirección IP de mi enrutador (gracias @chaos).

     $ /sbin/route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 
  7. NUEVO Ver si tengo una dirección IP

     $ /sbin/ifconfig -a eth0 Link encap:Ethernet HWaddr 74:d4:35:5f:0b:09 inet6 addr: fe80::76d4:35ff:fe5f:b09/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2999 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:1711 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:365026 (356.4 KiB) TX bytes:0 (0.0 B) Interrupt:73 Base address:0xc000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:4913 errors:0 dropped:0 overruns:0 frame:0 TX packets:4913 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1559718 (1.4 MiB) TX bytes:1559718 (1.4 MiB) 

Parece que tengo una dirección IPv6 pero no una dirección IPv4. Esperaría que eth0 tuviera una línea que comenzara con inet addr: pero no es así.

Entonces, ¿cómo obtengo una dirección IP?

Aquí hay más información que puede (o no) ser útil:

Información del sistema

 $ uname -a Linux mocha 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1 x86_64 GNU_Linux 

Controlador de Ethernet

 $ lspci | grep -i eth 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06) 

¿Qué debería hacer después?

Yo (todo esto ordera como root) ifconfig -a para verificar si la interfaz tiene una dirección IP, si no encuentra su problema, si lo hace, entonces netstat -rn para verificar si las routes son correctas . Si lo son, me gustaría iptables -L para comprobar si hay una regla de firewall que no me está dejando salir. Si están todos bien, tal vez su dirección IP no pertenezca a la networking del enrutador.

connect: Network is unreachable puntos connect: Network is unreachable a una ruta faltante a esa networking (la ruta pnetworkingeterminada en este caso).

Utilizar:

 route -n 

Para mostrar la tabla de routing actual. Debe haber una ruta que se parece a esto:

 Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 <gateway-ip> 0.0.0.0 UG 0 0 0 eth0 

Tenga en count que <gateway-ip> es la dirección IP de su enrutador / puerta de enlace. Y Iface también puede ser diferente, cuando tiene múltiples interfaces de networking en su sistema.

Sin embargo, agregue la ruta pnetworkingeterminada manualmente con este command:

 route add default gw <gateway-ip> 

El problema aquí es que su interfaz cableada (eth0) no tiene una dirección IPv4. Ha agregado manualmente una ruta IPv4 pero, sin tener una dirección IPv4, el tráfico no se puede enrutar, ya que no puede asignar una dirección IP para la dirección IP (de su sistema).

Sin conocer más información de su entorno (¿Está utilizando una connection DSL? ¿Está en una networking corporativa? ¿Quién debería proporcionarle una dirección IP?) Supongo que antes del reinicio tiene una dirección IP configurada estáticamente o una que funciona Servidor DHCP. Si tenía una dirección configurada estáticamente (que no se muestra en su configuration), se perdió después del reinicio.

Verá una dirección IPv6 porque esa dirección está "configurada automáticamente". Como no lo ha configurado, la interfaz cableada solo crea una que puede usarse para comunicarse con la networking local.

A partir de la información ifconfig que proporcionó, parece que su tarjeta de networking está recibiendo packages Ethernet, pero no envía ninguno. Extrañamente, también muestra muchos packages descartados.

Para empezar, sugeriría que hagas lo siguiente:

  1. Obtenga información de su esquema de direcciones IP de networking. Consulte a su administrador de networking o verifique la información provista por su ISP. Alternativamente, (si está en negrita) puede escuchar el tráfico de networking en la networking ejecutando tcpdump -ni eth0 e intentar adivinar su dirección de networking interna en function de los packages que recibe su sistema.

    De ahora en adelante, supongamos que su networking está en un range de direcciones IP privadas, ya que esto es bastante común. Actualmente, muchas networkinges están preconfiguradas en el range de espacio 192.168.1.0/24, lo que significa que las direcciones IP comienzan en 192.168.1.1 y terminan en 192.168.1.254.

  2. Configure su interfaz de networking con una dirección IP estática y una puerta de enlace utilizando Network Manager (es decir, a través del escritorio) o configurando /etc/network/interfaces correctamente. Esto se describe completamente aquí en Debian Wiki .

    Nota: También puede configurarlo manualmente ejecutando ip addr add 192.168.1.15 dev eth0; ip route add default via 192.168.1.1 ip addr add 192.168.1.15 dev eth0; ip route add default via 192.168.1.1 . Pero esto no sobrevivirá a un reinicio del sistema.

  3. Intenta ver si llegas a la puerta de enlace enviándoles packages. Esto se puede hacer simplemente, suponiendo que su puerta de enlace es 192.168.1.1 ejecutando ping -c 10 192.168.1.1 . Si el command devuelve que las 10 testings funcionó bien, entonces puede ver su puerta de enlace.

  4. Luego intenta acceder a una dirección IP pública bien conocida. Por ejemplo, un server DNS de Google, haciendo ping -c 10 8.8.8.8 . Si esto no funciona, intente ejecutar una testing de rastreo usando traceroute -n 8.8.8.8 para ver dónde se están descartando sus packages.

  5. Finalmente, asegúrese de que puede hacer la resolución DNS correctamente ejecutando el host www.google.com o ping -c 10 www.google.com

Si todo va bien hasta el paso 5, sugeriría que, para diagnosticar problemas futuros, instale el package ifupdown-extra . Esto instala la herramienta de testing de networking que realiza muchas de las testings de networking enumeradas anteriormente (y más) para diagnosticar si hay un problema de networking o una configuration incorrecta.

Una vez que puede conectarse utilizando una dirección IP estática. Intente volver con lo que tenía anteriormente, que probablemente era una configuration de IP dinámica usando DHCP.

Para hacer esto:

  1. Vuelva a configurar la interfaz para usar una dirección IP dinámica.

  2. Espere a que Network Manager haga su trabajo. Verá en su entorno de escritorio si falla (o no), pero también puede get información detallada en los loggings del sistema. Más específicamente / var / log / syslog. El filtrado de los loggings de Network Manager le proporcionará mucha información, solo ejecute grep NetworkManager /var/log/syslog y revise el resultado.

  3. Ejecute network-test para ver si está conectado correctamente

  4. Si no está conectado a la networking, intente solicitar manualmente una dirección IP ejecutando dhclient eth0 y vea si eso le proporciona una dirección IP.

Con base en las testings anteriores, debe tener un mejor conocimiento de lo que se rompió y lo que funciona en su networking y configurar su sistema en consecuencia.