# Problemas con la red al iniciar

## Trey

Bueno, lo primero decir que soy novato, es la primera vez que instalo Gentoo y en principio todo iba bien. He seguido las instrucciones del manual de instalacion sin ningun problema hasta el momento de reiniciar el sistema. Una vez que ya lo he instalado todo, reinicio y saco el cd. Arranca normalmente, entro como usuario o como root, da igual, y no tengo red. Siguiendo el manual de instalacion, una de las primeras cosas que pone despues de reiniciar es hacer

```
emerge --sync
```

y lo que me dice es lo siguiente

```
>>> Starting retry 3 of 3 with rsync://rsync.gentoo.org/gentoo-portage

>>>Checking server timestamp

rsync: getaddrinfo: rsync.gentoo.org 873: Temporary failure in name resolution

rsync error: error in socket IO (code 10) at clientserver.c (104) [receiver=2.6.9]
```

y si pruebo a hacer 

```
emerge-webrsync
```

me salen cantidad de lineas en las que pone

```
Attempting to fetch file dated: 2007xxxx
```

He probado a hacer

```
ifconfig eth0
```

pero me dice que no se encuentra eth0 o algo asi

Alguien me puede ayudar?? A ser posible con una explicacion para tontos, que soy muy nuevo.

Muchas gracias

----------

## Inodoro_Pereyra

Hola, que tipo de conexión a internet tiene la pc?

Cual es el contenido de /etc/resolv/conf y cual es la salida de ifconfig?

Cual es la salida de:

```
ls /etc/init.d/net.*
```

Posteá todo eso que nos va a dar mas pistas.

Salud!

----------

## jgascon

Parece que no te ha cargado el módulo (lo que en windows llaman driver) de la tarjeta de red. 

Para saber que tarjeta de red tienes ejecuta lspci | grep Ethernet.

Si sabes el nombre del módulo para tu trajeta puedes ejecutar modprobe nombre_del_modulo para cargar el módulo. Si no se queja es que todo ha ido bien y se ha cargado el módulo. Si dice que no lo encuentra es que no lo has compilado al compilar el kernel, deberás volver a compilar el kernel marcando el módulo de la tarjeta.

Si has podido cargar el módulo comprueba si existe la interfaz de red ifconfig eth0. Si existe, ejecuta /etc/init.d/net.eth0 start y si configuraste la red bien durante la instalación ya tendrás la red levantada. Si no se levanta la red, configúrala de nuevo siguiendo el manual.

Por último ejecuta echo "nombre_modulo" >> /etc/modules.autoload.d/kernel-2.6 para que cuando reinicies la máquina cargue el módulo automáticamente.

Si no sabes el nombre del módulo de la tarjeta ves a /usr/src/linux ejecuta make menuconfig ves a Device Drivers -> Network device support y rebusca por los apartados dónde pone Ethernet.

Si te atascas en algún punto, pregunta  :Wink: 

----------

## Trey

Gracias a los dos. Siguiendo vuestras indicaciones y enredando un poco he ido avanzando.

Entre en make menuconfig y añadi el modulo de la tarjeta, que efectivamente estaba desactivado.

Modifique el archivo /etc/resolv.conf en el que ponia lo siguiente:

```
#Generated by net.scripts for interface lo

domain homenetwork
```

Entro en el, añado los DNS y ya me funciona la red, pero al reiniciar me vuelve a pasar lo mismo. Tengo que volver a entrar en el archivo y modificarlo de nuevo.

Despues de poner los DNS's segui con el manual, y hay un momento en el que me dice:

```
6 config files in /etc need updating
```

He mirado la pagina man que indica y veo que hay carpetas protegidas y tal, pero no me entero de como actualizarlas.

Como actualizo el archivo /etc/resolv.conf y los otros 6 que me dice??

Muchas gracias

----------

## jgascon

Para actualizar los archivos de /etc usa la herramienta etc-update.

Por lo que cuentas de que se sobreescribe el resolv.conf supongo que estás usando dhcp. Para evitar que dhcp te machaque el resolv.conf, añade esto a /etc/conf.d/net

```

dhcpcd_eth0="-R"

```

Si no te funciona péganos aquí tu archivo /etc/conf.d/net

----------

## Trey

Pues no, no uso dhcp, pero al seguir el manual he instalado dhcpcd. Tengo un router con direccion 192.168.2.1, y mi IP es 192.168.2.101.

De todas formas, no se puede poner de forma que utilice primero las direcciones que yo le indique y que si no funcionan utilice dhcp?? Es que creo haberlo visto en algun sitio pero no recuerdo donde, y puede que alguna vez me conecte directamente, con lo que me seria util tenerlo de esa manera.

De todas formas que seria mejor, desinstalar dhcpcd, añadir lo que me dices, o modificar algun otro archivo para que no use dhcp??

De nuevo muchas gracias

----------

## jgascon

 *Trey wrote:*   

> 
> 
> no se puede poner de forma que utilice primero las direcciones que yo le indique y que si no funcionan utilice dhcp?
> 
> 

 

Se puede hacer con la opción fallback, por ejemplo:

```

config_eth0=( "192.168.2.101/24" )

fallback_eth0=( "dhcp" )

```

 *Trey wrote:*   

> 
> 
> De todas formas que seria mejor, desinstalar dhcpcd, añadir lo que me dices, o modificar algun otro archivo para que no use dhcp?? 
> 
> 

 

Que yo sepa el resolv.conf sólo te lo puede sobreescribir el dhcpcd y dhcpcd sólo se ejecuta si lo has puesto en /etc/conf.d/net. Así que primero péganos el contenido de /etc/conf.d/net para que podamos verlo y así vemos que hacemos  :Wink: 

Por cierto, todo esto lo saco de aquí -> http://www.gentoo.org/doc/es/handbook/handbook-x86.xml?part=4

----------

## jgascon

 *jgascon wrote:*   

> 
> 
> Se puede hacer con la opción fallback, por ejemplo:
> 
> ```
> ...

 

Me acabo de dar cuenta de que eso es una tontería porque si le pones una IP a una interfaz nunca usará el fallback. Al revés si tiene sentido:

```

config_eth0=( "dhcp" )

fallback_eth0=( "192.168.2.101/24" )

```

Aunque no te aconsejo que lo hagas porque hasta que no pase el timeout del dhcp para obtener la IP no levantará la interfaz. O eso o usas algo como esto para acortar el timeout:

```

dhcpcd_eth0="-t 5" 

```

Las opciones que le puedes pasar a dhcpcd están en man dhcpcd. No sé, igual se puede hacer de otra forma pero yo no la sé.

----------

## Trey

Pues el archivo estaba mal, ponia lo siguiente:

```
dns_domain_lo="homenetwork"

config_eth0=("19.168.2.101 netmask 255.255.248.0 brd 192.168.3.255")

routes_eth0=("dfault gw 192.168.2.1")
```

ya lo he corregido a:

```
dns_domain_lo="homenetwork"

config_eth0=("192.168.2.101 netmask 255.255.248.0 brd 192.168.3.255")

routes_eth0=("default gw 192.168.2.1")
```

pero aun asi sigue sin conectar.

Respecto a lo del dhcp o ip fija he encontrado lo siguiente:

```
# Mantener la dirección asignada por el kernel, a menos que la 

interfaz se caiga, entonces asignar otra vía DHCP. Si DHCP falla entonces

añadir una dirección estática determinada mediante APIPA

config_eth0=(

   "noop"

   "dhcp"

)

fallback_eth0=(

   "null"

   "apipa"

)
```

de lo que deduzco que tendria que ponerlo de la siguiente manera:

```
config_eth0=("192.168.2.101 netmask 255.255.248.0 brd 192.168.3.255"

      "noop"

      "dhcp"

)
```

o no hace falta poner las direcciones?

Pero bueno, de momento lo que mas me interesa es que cargue bien la red para seguir instalando cosas, entorno grafico y demas, luego lo del dhcp es un plus, que de momento no me hace falta.

Muchas gracias

----------

## jgascon

Bueno, ahora tienes dos problemas:

1.- DNS

/etc/resolv.conf

```

#Generated by net.scripts for interface lo

domain homenetwork

```

/etc/conf.d/net

```

dns_domain_lo="homenetwork"

config_eth0=("19.168.2.101 netmask 255.255.248.0 brd 192.168.3.255")

routes_eth0=("dfault gw 192.168.2.1")

```

Yo lo veo claro, cárgate la línea dns_domain_lo="homenetwork" del /etc/conf.d/net que es lo que te está machacando el /etc/resolv.conf, fíjate sino en la primera línea del resolv.conf. Si el problema persiste, copianos aquí el /etc/resolv.conf como lo pones tú y el que te machaca y el /etc/conf.d/net entero.

Y no, no parece que fuera el dhcp el que te machacaba el resolv.conf  :Wink: 

2.- Usar dhcp:

```

config_eth0=("192.168.2.101 netmask 255.255.248.0 brd 192.168.3.255"

      "noop"

      "dhcp"

)

```

No creo que te funcione porque sería asignarle una IP y decirle que cogiese IP por DHCP, o sea asignarle dos IP's a una interfaz. Y tú lo que quieres es un poco más complicado. Se puede hacer con el fallback. El fallback consiste en que si no puede configurar la interfaz por el primer método que le indiques lo hará por el segundo. Pero si el primer método que le indicas es una IP fija nunca usará el segundo por que tú siempre puedes asignar una IP fija a un interfaz, otra cosa es que después no tengas conectividad. En cambio dhcp depende de un servidor dhcp para funcionar si no hay conectividad con el servidor no hay IP. Por tanto el orden correcto en el fallback es: 1º DHCP 2º IP fija. 

Lo que pasa entonces es que si vas a usar casí siempre tu máquina con una IP fija si le pones primero el dhcp esto te retresará innecesareamente el arranque de la máquina por que no levantara eth0 hasta que agote el timeout del dhcp (la espera a que responda un servidor dhcp) que por defecto son 60 segundos.

Si quieres configurarla con fallback y dhcp te aconsejo que añadas a /etc/conf.d/net lo siguiente:

```

dhcpcd_eth0="-t 10" 

```

El -t 10 es para acortar el timeout a 10 segundos, 10 es un valor arbitrario prueba tu que valor te conviene más. Si ves el dhcp te sobreescribe el archivo resolv.conf y no te funcionan las DNS usa también la opción -R. Para más info: man dhcpcd  :Wink: 

La verdad es que nunca he configurado una interfaz con fallback así que será mejor que te mires el apartado de Configuración de Redes en Gentoo de la documentación. Si no entiendes algo pregunta por aquí  :Wink: 

----------

## Trey

Solucionado, he borrado esa linea, he añadido los DNS's a resolv.conf y ya funciona.

Ahora el problema es que hay cosas que no me las instala bien, y como no se si es cosa de la version de 64 bits o es que he hecho algo mal (lo mas probable) voy a volver a leerme el manual de instalacion, para comprobar que mis notas estan bien. Y volvere a empezar desde cero, pero esta vez sabiendo como configurar bien la red   :Very Happy: 

Asi que espero volver pronto por aqui con preguntas un poco mas avanzadas  :Razz: 

Muchas gracias por tu paciencia jgascon.

----------

