Manual:AMD64/Redes/Modular

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:AMD64/Networking/Modular and the translation is 100% complete.
Manual AMD64
Instalación
Acerca de la instalación
Elegir los medios
Configurar la red
Preparar los discos
Instalar el stage3
Instalar el sistema base
Configurar el núcleo
Configurar el sistema
Instalar las herramientas
Configurar el cargador de arranque
Terminar
Trabajar con Gentoo
Introducción a Portage
Ajustes USE
Características de Portage
Sistema de guiones de inicio
Variables de entorno
Trabajar con Portage
Ficheros y directorios
Variables
Mezclar ramas de software
Herramientas adicionales
Repositorios personalizados de paquetes
Características avanzadas
Configuración de la red
Comenzar
Configuración avanzada
Configuración de red modular
Conexión inalámbrica
Añadir funcionalidad
Gestión dinámica


Módulos de Red

Los guiones netifrc ofrecen soporte para guiones modulares de red, lo cual significa que se puede añadir fácilmente soporte para nuevos tipos de interfaces y módulos de configuración mientras se mantiene la compatibilidad con los actuales.

Los módulos se cargan por defecto si el paquete que los requiere está instalado. Si especifica un modulo aquí que no tiene su paquete instalado, entonces obtendrá un error acerca del paquete que necesita instalar. Lo ideal sería que solamente use la configuración con módulos si tiene dos o más paquetes que proporcionen el mismo servicio y necesita marcar su preferencia de uno sobre los otros.

Nota
Todas las configuraciones que aquí se comentan, son almacenadas en /etc/conf.d/net a menos que se especifique lo contrario.
ARCHIVO /etc/conf.d/netDefiniciones de módulos
# Preferir ifconfig sobre iproute2
# modules="ifconfig"
  
# También se puede especificar otros módulos para una interfaz
# En este caso preferimos a dhclient sobre dhcpcd
modules_eth0="dhclient"
  
# También podemos especificar módulos que no queremos utilizar -
# por ejemplo, puede querer utilizar un suplicante o linux-wlang-ng
# para controlar la configuración inalámbrica, pero querer seguir
# configurando la red por ESSID asociado.
modules="!iwconfig"

Manejadores de interfaces

Ofrecemos dos manejadores de interfaz: ifconfig e iproute2. Necesita uno de ellos para realizar cualquier tipo de configuración de red.

Ambos se instalan de forma predeterminada como parte del perfil del sistema. iproute2 es el paquete más potente y flexible. ifconfig y net-tools ya no deberían usarse para configuraciones de red.

iproute2 e ifconfig hacen cosas muy similares. Permitimos que sus configuraciones básicas funcionen juntas. Por ejemplo, los dos fragmentos de código que se muestran a continuación funcionan independientemente del módulo que esté usando el usuario.

ARCHIVO /etc/conf.d/netEjemplo de diferentes enfoques para la configuración
config_eth0="192.168.0.2/24"
config_eth0="192.168.0.2 netmask 255.255.255.0"

DHCP

DHCP es un medio para obtener información de red (dirección IP, servidores DNS, puerta de enlace, etc.) de un servidor DHCP. Esto significa que si hay un servidor DHCP ejecutándose en la red, el usuario solo tiene que indicarle a cada cliente que use DHCP y este configura la red por sí solo. Por supuesto, el usuario puede tener que configurar una conexión a un punto de acceso inalámbrico, PPPoE u otros aspectos antes de poder usar el servicio DHCP.

dhclient o dhcpcd pueden proporcionar DHCP. Cada módulo DHCP tiene sus pros y sus contras. A continuación, se ofrece un resumen rápido:

módulo DHCP Paquete Pros Cons
dhclient net-misc/dhcp Creado por ISC, la misma gente que crea el software BIND DNS. Muy configurable. Se puede utilizar para proporcionar DHCPv4 o DHCPv6. La configuración es demasiado compleja, el software es bastante pesado, no se pueden obtener servidores NTP desde DHCP, no envía el nombre de host de forma predeterminada. Ya no es mantenido en origen.
dhcpcd net-misc/dhcpcd Gentoo lo usa desde hace mucho tiempo por defecto, no depende de herramientas externas, está desarrollado activamente por Gentoo. Ofrece DHCPv4 y DHCPv6 al mismo tiempo. A veces puede ser lento, aún no puede ejecutarse como daemon para asignaciones permanentes.

Si hay más de un cliente DHCP instalado, especifique cuál utilizar; de lo contrario, se utiliza dhcpcd de forma predeterminada (si está instalado).

Para enviar opciones específicas al módulo dhcp, utilizamos module_eth0="..." (cambiar "modulo" por el nombre del módulo dhcp que se vaya a utilizar - por ejemplo: dhcpcd_eth0).

Tratamos de hacer que el servicio DHCP sea relativamente agnóstico, de manera que soportamos las siguientes órdenes usando la variable dhcp_eth0. Por defecto no se configuran ninguno de ellos:

release
Libera la dirección IP para ser reutilizada
nodns
No sobreescribir el /etc/resolv.conf
nontp
No sobreescribir el /etc/ntp.conf
nonis
No sobreescribir el /etc/yp.conf
ARCHIVO /etc/conf.d/netEjemplo de configuración DHCP (v4)
# Solo es necesario si hay más de un módulo DHCP instalado
modules="dhcpcd"
  
config_eth0="dhcp"
dhcpcd_eth0="-t 10" # Finalizar el intento después de 10 seconds
dhcp_eth0="release nodns nontp nonis" # Obtener sólo una dirección
Nota
dhcpcd envía el nombre de red actual al servidor DHCP de forma predeterminada, por lo que ya no es necesario especificarlo.
ARCHIVO /etc/conf.d/netEjemplo de configuración DHCPv6
# Solo es necesario si hay más de un módulo DHCP instalado
modules="dhclient"
  
config_eth0="dhcpv6"
# Para utilizar DHCPv4 y DHCPv6 en una red de doble pila, elimine la línea anterior y descomente las siguientes líneas
#config_eth0="dhcp
#dhcpv6"

# Para pasar argumentos de tiempo de ejecución a dhclient para DHCPv6
dhclientv6_eth0="-t 10" # Finalizar el intento después de 10 segundos

# Establecer opciones genéricas de DHCPv6
dhcpv6_eth0="release nodns nontp nonis nogateway nosendhost"

ADSL con PPPoE/PPPoA

Primero instalamos el software ADSL:

root #emerge --ask net-dialup/ppp

Segundo, cree el guión de red PPP y el guión de red para la interfaz ethernet que se utilizará con PPP:

root #ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0
root #ln -s /etc/init.d/net.lo /etc/init.d/net.eth0

Asegúrese de configurar rc_depend_strict a YES en /etc/rc.conf.

Ahora necesitamos configurar /etc/conf.d/net.

ARCHIVO /etc/conf.d/netUna configuración básica PPPoE
config_eth0=null (Especifique su intefaz ethernet)
config_ppp0="ppp"
link_ppp0="eth0" (Especifique su intefaz ethernet)
plugins_ppp0="pppoe"
username_ppp0='user'
password_ppp0='password'
pppd_ppp0="
noauth
defaultroute
usepeerdns
holdoff 3
child-timeout 60
lcp-echo-interval 15
lcp-echo-failure 3
noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp"
  
rc_net_ppp0_need="net.eth0"

También puede configurar su password en /etc/ppp/pap-secrets.

ARCHIVO /etc/ppp/pap-secretsEjemplo de pap-secrets
# Ojo: el * es importante
"username"  *  "password"

Si utiliza PPPoE con un modem USB necesitará instalar br2684ctl. Por favor, lea /var/db/repos/gentoo/net-dialup/speedtouch-usb/files/README para conseguir la información de cómo configurarlo adecuadamente.

Importante
Por favor, lea con detenimiento la sección sobre ADSL y PPP en /usr/share/doc/netifrc-*/net.example.bz2. Contiene muchas explicaciones mucho más detalladas de las configuraciones que su instalación PPP podría necesitar.

APIPA Direccionamiento Privado Automático (Automatic Private IP Addressing)

APIPA intenta encontrar una dirección libre en el rango 169.254.0.0-169.254.255.255 haciendo arping a direcciones aleatorias en ese rango para el interfaz. Si no se obtiene respuesta, se asigna esa dirección al interfaz.

This is only useful for LANs where:

  • there is no DHCP server;
  • the system doesn't connect directly to the Internet; and
  • all other computers use APIPA.

Para obtener soporte de APIPA, hacer emerge de net-misc/iputils con el ajuste USE arping o net-analyzer/arping.

ARCHIVO /etc/conf.d/netConfiguración APIPA
# Intentar DHCP primero - y si falla, entonces usar APIPA
config_eth0="dhcp"
fallback_eth0="apipa"
  
# Usar únicamente APIPA
config_eth0="apipa"

Combinación de interfaces

El "Bonding" se utiliza para incrementar el ancho de banda de la red o para mejorar la capacidad de recuperación ante fallos del hardware. Si tiene dos interfaces de red en la misma red puede unirlas de modo que sus aplicaciones solo vean un interfaz pero en realidad están usando ambas.

Hay varias formas de configurar el bonding. Algunas de ellas como el modo 802.3ad LACP requieren un soporte y configuración adicionales en el concentrador de la red. Para saber más de las opciones específicas eche un vistazo a su copia de /usr/src/linux/Documentation/networking/bonding.txt.

En primer lugar, elimine la configuración de las interfaces que van a participar.

ARCHIVO /etc/conf.d/netEliminar la configuración de las interfaces
config_eth0="null"
config_eth1="null"
config_eth2="null"

A continuación defina el bonding entre las interfaces:

ARCHIVO /etc/conf.d/netDefinir el bonding
slaves_bond0="eth0 eth1 eth2"
config_bond0="192.168.100.4/24"
# Elija el modo y configuraciónes adicionales que correspondan a sus necesidades
mode_bond0="balance-alb"

Elimine los servicios net.eth* de los niveles de ejecución, cree un servicio net.bond0 y añádalo al nivel de ejecución adecuado.

Puentes (soporte para 802.1d)

Los puentes se usan para unir redes. Por ejemplo, puede tener un servidor conectando a internet vía modem ADSL y una tarjeta inalámbrica para que otros computadores se conecten al internet por medio del modem ADSL. Se puede crear un puente para unir ambos interfaces.

ARCHIVO /etc/conf.d/netConfigurar un puente
# Configure el puente - para más detalles vea "man brctl"
bridge_forward_delay_br0=0
bridge_hello_time_br0=200
bridge_stp_state_br0=1
  
# Para agregar puertos al puente br0
bridge_br0="eth0 eth1"
  
# Hará falta configurar los puertos a valores nulos para no iniciar dhcp
config_eth0="null"
config_eth1="null"
  
# Finalmente, déle una dirección al puente - para esto puede usar DHCP también
config_br0="192.168.0.1/24"
  
# Hacer depender de eth0 y eth1 ya que pueden requerir configuración adicional
rc_net_br0_need="net.eth0 net.eth1"
Importante
Para usar algunas configuraciones de puente, tal vez tenga que consultar la documentación de Configuración por medio de variables.
Importante
Cuando se utilizan puentes utilizando IPv6, SLAAC necesita que STP esté a 1, tal y como se muestra en el ejemplo de arriba.

Dirección MAC

Si lo requiere, también puede cambiar la dirección MAC de los interfaces por medio del archivo de configuración de red.

ARCHIVO /etc/conf.d/netEjemplo de cambio de una dirección MAC
# Establecer una dirección MAC de un interfaz
mac_eth0="00:11:22:33:44:55"
  
# Para cambiar aleatoriamente solo los últimos 3 bytes
mac_eth0="random-ending"
  
# Para cambiar aleatoriamente entre tipos de conexión
# físicamente iguales (por ejemplo: fibra óptica, cobre, inalámbrica),
# para todos los proveedores
mac_eth0="random-samekind"
  
# Para cambiar aleatoriamente entre cualquier tipo físico de
# conexión (por ejemplo fibra óptica, cobre, inalámbrica),
# para todos los proveedores
mac_eth0="random-anykind"
  
# Generación completamente aleatoria -
# ADVERTENCIA: algunas direcciones MAC generadas de esta manera
# tal vez NO se comporten de la forma esperada
mac_eth0="random-full"

Tunelización

No se requiere hacer emerge de paquete alguno para túneles, ya que el manejador del interfaz se encarga de esto.

ARCHIVO /etc/conf.d/netConfiguración de túneles
# Para túneles GRE
iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"
  
# Para túneles IPIP
iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"
  
# Para configurar el interfaz
config_vpn0="192.168.0.2 peer 192.168.1.1"

VLAN (soporte para 802.1q)

Para dar soporte a VLAN, asegúrese de que se ha instalado sys-apps/iproute2 y también que se utiliza iproute2 como módulo de configuración en lugar de ifconfig.

Las redes virtuales son un grupo de dispositivos de red que se comportan como si estuviesen conectados a un solo segmento de red - aunque no lo estén. Miembros de una VLAN solo pueden ver miembros de la misma VLAN, aunque no compartan la misma red física.

Para configurar VLANs, en primer lugar especifique los números de VLAN en /etc/conf.d/net del siguiente modo:

ARCHIVO /etc/conf.d/netEspecificar los números VLAN
vlans_eth0="1 2"

A continuación, configure el interfaz para cada VLAN:

ARCHIVO /etc/conf.d/netConfigurar la interface para cada VLAN
config_eth0_1="172.16.3.1 netmask 255.255.254.0"
routes_eth0_1="default via 172.16.3.254"
  
config_eth0_2="172.16.2.1 netmask 255.255.254.0"
routes_eth0_2="default via 172.16.2.254"

Las configuraciones específicas se VLAN se realizan con vconfig del siguiente modo:

ARCHIVO /etc/conf.d/netConfigurar las VLANs
vlan1_name="vlan1"
vlan1_ingress="2:6 3:5"
eth0_vlan1_egress="1:2"
Importante
Para usar algunas configuraciones de VLAN, tal vez haga falta consultar la documentación de Configuración por medio de variables.