Difference between revisions of "Configuring Network (Español)"

From ArchWiki
Jump to: navigation, search
m (gap)
m (puse el sumario en la plantilla correcta)
Line 3: Line 3:
 
[[Category:CÓMOs (Español)]]
 
[[Category:CÓMOs (Español)]]
 
{{i18n|Configuring Network}}
 
{{i18n|Configuring Network}}
 
+
{{Article summary start}}
== Sumario ==
+
{{Article summary text|Una guía simple para tener tu red funcionando.}}
 
+
{{Article summary end}}
Una guía simple para tener tu red funcionando.
+
  
 
== Cargar el módulo del dispositivo ==
 
== Cargar el módulo del dispositivo ==

Revision as of 08:53, 27 August 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Summary help replacing me
Una guía simple para tener tu red funcionando.

Cargar el módulo del dispositivo

Si usas hwdetect debería detectar el módulo de tu tarjeta de red (NIC) y cargarlo de forma automática al inicio del sistema. Si no, necesitarás saber que módulo necesitas para tu modelo en particular.

Busca en la Web por el modelo de tu tarjeta, o prueba un LiveCD de Linux y luego encuentra el nombre del módulo que necesitas - ejecuta lsmod para ver todos los módulos cargados después del booteo.

Ahora que sabes que módulo necesitas, cárgalo:

# modprobe <nombre_del_módulo>

Si no puedes/quieres usar un auto-cargador como hwdetect puedes añadirlo a la línea "modules" en /etc/rc.conf, así no tienes que cargarlo manualmente con modprobe cada vez que enciendas el PC. Por ejemplo, si tu módulo para la red es tg3:

MODULES=(!usbserial tg3 snd-cmipci)

Otros módulos comúnes son el 8139too para las tarjetas con chipset Realtek o sis900 para las SiS.

Configurar IP

Para DHCP

Para esto, necesitas el paquete dhcpd (generalmente disponible luego de la instalación). Edita /etc/rc.conf de esta manera:

eth0="dhcp"
INTERFACES=(eth0)
ROUTES=(!gateway)

Para las IP estáticas

Si compartes tu conexión con un PC con Windows sin un router, asegúrate de usar una IP estática en ambos ordenadores. Si no lo haces tendrás problemas en la LAN.

Necesitas:

  • La dirección de tu IP estática,
  • La máscara de red,
  • La dirección de broadcast,
  • La puerta de enlace,
  • Tus DNS,
  • El nombre de tu dominio.

Si tienes una red privada, es seguro usar 192.168.*.'* para tus IPs, con la máscara de red 255.255.0.0 y la dirección broadcast 192.168.255.255. Exceptuando que tengas un router, la dirección de puerta de enlace no es necesaria. Edita /etc/rc.conf de esta manera, sustituyendo con tus IPs, mascara de red, broadcast y puerta de enlace:

eth0="eth0 82.137.129.59 netmask 255.255.255.0 broadcast 82.137.129.255"
INTERFACES=(eth0)
gateway="default gw 82.137.129.1"
ROUTES=(gateway)

y tu /etc/resolv.conf de esta manera, sustituyendo las IPs y el nombre de tu dominio:

nameserver 61.23.173.5
nameserver 61.95.849.8
search example.com

Puedes incluir tantos servidores como quieras.

Si usas DHCP y no quieres que las DNS cambien cada vez que inicias la red, asegúrate de añadir "-R" a DHCPCD_ARGS en /etc/conf.d/dhcpcd (usado por /etc/rc.d/network). Esto evita que DHCP reescriba /etc/resolv.conf al arranque:

DHCPCD_ARGS="-R -t 30 -h $NOMBRE_DE_HOST"

Otra opción

Si por alguna razón dhcpcd eth0 falla, instala dhclient (pacman -S dhclient) y reemplázalo por 'dhclient eth0'.

Cambiar nombre del PC

Edita /etc/rc.conf y cambia el HOSTNAME por el que tú quieras:

HOSTNAME="lo_que_tú_quieras"


Cambiar el HOSTNAME/IP

Edita /etc/hosts y añade el mismo HOSTNAME que pusiste en /etc/rc.conf :

127.0.0.1      lo_que_tú_quieras.domain.org   localhost.localdomain      localhost    lo_que_tú_quieras

Este formato, incluyendo las entradas localhost son necesarias para el buen funcionamiento de los programas.

Cargar Configuración

Para probar tu configuración reinicia el ordenador o, como root, ejecuta /etc/rc.d/network restart. Intenta hacer un ping a tu puerta de enlace, servidor DNS, el sitio de tu ISP o cualquier otro, en ese orden, para detectar cualquier problema de conexión.


Más configuraciones

Configurar una red Wireless

La configuración del wireless (wlan) es el tema de otra entrada en la wiki.

Firewall

Puedes instalar un firewall para sentirte más seguro.

Ifplugd

Puedes instalar un demonio que automáticamente configurará tu dispositivo de Ethernet cuando se conecte algún cable, y luego lo desconfigurará cuando el cable se desconecte. Esto es útil en laptops con adaptadores de red onboard, dado que solo se configurará cuando un cable este conectado. También sirve si quieres reiniciar la red sin reiniciar el ordenador o sin usar la terminal.

Instalarlo es muy sencillo ya que esta en [extra]:

# pacman -S ifplugd

Por default esta configurado para funcionar con el dispositivo eth0. Esto y otras configuraciones se pueden cambiar en /etc/ifplugd/ifplugd.conf.

Inicialo con

# /etc/rc.d/ifplugd start

o añadelo a la línea DAEMONS en /etc/rc.conf.

bonding

Puedes instalar 'ifenslave' para bindear dos cables Ethernet reales con una dirección IP. /etc/conf.d/bonding

bond_bond0="eth0 eth1"
BOND_INTERFACES=(bond0)

/etc/rc.conf

MODULES=(... bonding ...)
bond0="bond0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255"
INTERFACES=(bond0)

reinicia la red con

/etc/rc.d/network restart

multiples IPs en multiples tarjetas

una IP con una tarjeta

vi /etc/rc.conf
 eth0="eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255"
 INTERFACES=(lo eth0)

una IP con una tarjeta (BUG:/etc/rc.d/network stop)

vi /etc/rc.conf
 eth0="eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255"
 eth1="eth0:1 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"
 INTERFACES=(lo eth0 eth1)

una ip con dos tarjetas

pacman -S ifenslave
vi /etc/rc.conf
 bond0="bond0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255"
 INTERFACES=(lo bond0)
 MODULES=(... bonding ...)

dos IPs con dos tarjetas (BUG:/etc/rc.d/network stop)

pacman -S ifenslave
vi /etc/rc.conf
 bond0="bond0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255"
 bond01="bond0:1 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"
 INTERFACES=(lo bond0 bond01)
 MODULES=(... bonding ...)

Problemas

Intercambiando ordenadores con cable modem

La mayoría de los ISPs domésticos estan configurados para reconocer solo una PC cliente por la dirección MAC de su interfaz de red. Una vez que el cable modem aprendió la dirección MAC de la primera PC que se comunica con el, no responderá a otra dirección MAC de ninguna manera. Entonces si cambias la PC por otra (o por un router), la nueva PC (o router) no funcionará con el cable modem, porque la nueva PC (o router) tiene una dirección MAC distinta a la anterior. Para resetear el cable modem y que este pueda reconocer la nueva PC (o router), debes apagarlo y volverlo a encender. Una vez que el modem se ha reiniciado y se ha conectado completamente (las luces de indicación encendidas), reinicia el nuevo PC (o router) para que haga una petición DHCP, o haz que lo haga manualmente.

El problema con el TCP Window Scaling

Los paquetes TCP contienen un valor "window" en sus cabeceras para indicar cuantos datos envió el otro host. Este valor es representado con solamente 16 bits, dado que el tamaño del "window" es de, como mucho, 64Kb. Los paquetes TCP son guardados en el cache por un tiempo (deben ser reordenados), y como la memoria era limitada, un host podía llenarla fácilmente.

En 1992, cuando se empezó a disponer de cada vez más memoria, se escribió RFC 1323 para mejorar la situación: Window Scaling. El valor "window", enviado en todos los paquetes, serán modificados por un factor Scale definido una vez, al inicio de la conexión.

Ese valor Scale de 8-bits permite al valor window ser 32 veces más grande que sus iniciales 64Kb.

Parece que algunos routers y firewalls dañados cambian el valor Scale a 0, lo que causa problemas entre los hosts.

El Kernel Linux 2.6.17 introdujo un nuevo esquema de calculación, generando valores Scale más altos, haciendo mas notable los problemas de los router y los firewalls dañados.

La conexión resultante, en el mejor de los casos, es muy lenta o núla.

¿Cómo diagnosticar un problema?

En algúnos casos no podrás usar conexiones TCP (HTTP, FTP, ...) para nada, y en otros no podrás comunicarte con algunos hosts (muy pocos).

Alerta: La salida de dmesg esta bien, los logs estan limpios y la salida de ifconfig es normal — entonces, en realidad todo esta bien.

Si no puedes acceder a ningún sitio, pero puedes hacer ping a algúnos hosts, hay posibilidades de que estes pasando por este problema: el ping usa el protocolo ICMP y no es afectado por los problemas TCP.

Podrías probar usando WireShark. Puede que veas comunicaciones ICMP y UDP bien realizadas, pero problemas con las conexiones TCP (solo con hosts extranjeros).

¿Cómo arreglarlo? (El camino malo)

Para arreglarlo por el mal camino, puedes cambiar el valor tcp_rmem, donde se realiza la calculación del Scale Factor. Si bien debería funcionar para la mayoría de los hosts, no es seguro, especialmente para los que son muy distantes.

echo "4096 87380 174760" > /proc/sys/net/ipv4/tcp_rmem

O podrías remover alguno de tus módulos RAM.

¿Cómo arreglarlo? (El buen camino)

Simple: Deshabilita Window Scaling. Si bien el Window Scaling es una buena característica TCP, puede resultar mala, especialmente si no puedes reparar tu router dañado. Hay varias formas de deshabilitar Window Scaling, y parece que la mejor (la que funcionará en la mayoría de los kernels) es añadir las siguientes líneas al /etc/rc.local:

echo 0 > /proc/sys/net/ipv4/tcp_window_scaling

¿Cómo arreglarlo? (El mejor camino)

Este problema es causado por un router/firewall dañado. Cámbialos.

¿Más de esto?

Esta sección se basa en un artículo de LWN TCP window scaling and broken router (ingles) y un artículo de Kernel Trap: Window Scaling on the Internet (ingles).

Y recientemente, algunos usuarios de Arch tuvieron este problema:

También hay varios temas similares en LKML.


Problema con Realtek: Sin Link / WOL

Usuarios de una NIC (tarjetas / y onboard) basada en Realtek 8168 8169 8101 8111 pueden pasar por un problema donde NIC parece estar deshabilitado desde el boot y la luz Link no se enciende. Esto ocurre generalmente en un sistema dual boot donde esta instalado un Windows. Parece que la causa es usar los drivers oficiales de Realtek (de después de Mayo del 2007) en Windows. Estos nuevos drivers deshabilitan la característica Wake-On-Lan, deshabilitando el NIC al momento de apagar Windows, y dejándolo deshabilitado hasta el próximo arranque. Sabrás si tienes este problema si ves que la luz del Link permanece apagada hasta que carga Windows. Lo normal sería que la luz de Link este siempre encendida mientras el sistema este funcionando. Este problema también afectará a otros sistemas operativos con drivers no actualizados. Aquí, algunas maneras de arreglar este problema:

Método 1 - Volver a la versión anterior/Cambiar (d)el driver en Windows

Puedes volver a la versión brindada por Microsoft del driver NIC (si esta disponible), o volver a la versión anterior/instalar un driver oficial Realtek de antes de Mayo del 2007 (tal vez lo encuentres en el CD que te dieron con tu hardware).

Método 2 - Habilitar WOL en el driver de Windows

Probablemente la mejor solución (y la más rápida) es cambiar esta configuración en el driver de Windows. De esta forma se solucionaría para todos los SOs. En Windows, en el administrador de dispositivos, encuentra tu adaptador Realtek y dale doble click. En la pestaña "avanzado" habilita "wake-on-lan después de apagar".

Método 3 - Nuevo driver de Realtek para Linux

Drivers nuevos de estas tarjetas para Linux pueden encontrarse en el sitio de Realtek.