Translations:Handbook:X86/Networking/Modular/2/es
Módulos de Red
Netifrc admite guiones de comandos de red modulares, lo que significa que se puede agregar fácilmente soporte para nuevos tipos de interfaz y módulos de configuración manteniendo la compatibilidad con los existentes.
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.
Todas las configuraciones que aquí se comentan, son almacenadas en /etc/conf.d/net a menos que se especifique lo contrario.
/etc/conf.d/net
Definiciones 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.
Dado que iproute2 e ifconfig funcionan de forma muy similar, permitimos que su configuración básica funcione conjuntamente. Por ejemplo, la siguiente configuración funciona independientemente del módulo utilizado.
/etc/conf.d/net
Ejemplo de configuraciónconfig_eth0="192.168.0.2/24"
config_eth0="192.168.0.2 netmask 255.255.255.0"
DHCP
DHCP es un método para obtener una dirección IP, junto con otra información de red (servidor o servidores DNS, puerta de enlace, etc.) de un servidor. Con un servidor DHCP funcionando en una red, el usuario solo tiene que indicar a cada dispositivo que obtenga la información de configuración mediante DHCP, que se utiliza para configurar el dispositivo automáticamente. Por supuesto, esto requiere una conexión de red (por ejemplo, a través de un punto de acceso inalámbrico, PPPoE, etc.).
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, se puede especificar cuál usar configurando la variable "modules", por ejemplo, modules="dhcpcd"
. De lo contrario, si dhcpcd está instalado, se usará por defecto.
Para enviar opciones específicas al módulo DHCP, utilice module_eth0="...", donde module es el nombre del módulo DHCP que se está utilizando, 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
/etc/conf.d/net
Ejemplo 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
dhcpcd envía el nombre de red actual al servidor DHCP de forma predeterminada, por lo que ya no es necesario especificarlo.
/etc/conf.d/net
Ejemplo 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.
/etc/conf.d/net
Una configuración básica PPPoEconfig_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.
/etc/ppp/pap-secrets
Ejemplo de pap-secrets# Ojo: el * es importante
"username" * "password"
Si utiliza PPPoE con un modem USB necesitará instalar br2684ctl. Por favor, lea /net-dialup/speedtouch-usb/files/README para conseguir la información de cómo configurarlo adecuadamente.
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 usando arping para hacer ping a una dirección aleatoria en ese rango en la interfaz. Si no se recibe respuesta, esa dirección se asigna a la interfaz.
Esto sólo es útil para redes LAN donde:
- no hay servidor DHCP;
- el sistema no se conecta directamente a Internet; y
- todos los demás equipos utilizan APIPA.
Para obtener soporte de APIPA, hacer emerge de net-misc/iputils con el ajuste USE arping
o net-analyzer/arping.
/etc/conf.d/net
Configuració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
La vinculación se utiliza para aumentar el ancho de banda de la red o mejorar la resiliencia ante fallos de hardware. Si un sistema tiene dos tarjetas de red conectadas a la misma red, se pueden vincular: las aplicaciones solo verán una interfaz, pero se utilizarán ambas tarjetas de red.
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.
/etc/conf.d/net
Eliminar la configuración de las interfacesconfig_eth0="null"
config_eth1="null"
config_eth2="null"
A continuación defina el bonding entre las interfaces:
/etc/conf.d/net
Definir el bondingslaves_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* del nivel de ejecución correspondiente, cree un servicio net.bond0 y agregue ese servicio al nivel de ejecución apropiado.
Puentes (soporte para 802.1d)
El puente se utiliza para conectar redes. Por ejemplo, una red puede tener un servidor que se conecta a Internet mediante un módem ADSL y también un adaptador inalámbrico que permite que otros dispositivos de la red accedan a Internet a través de ese módem. Es posible crear un puente para unir las dos interfaces.
/etc/conf.d/net
Configurar 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"
Para usar algunas configuraciones de puente, tal vez tenga que consultar la documentación de Configuración por medio de variables.
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.
/etc/conf.d/net
Ejemplo 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.
/etc/conf.d/net
Configuració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 tener compatibilidad con VLAN, asegúrese de que sys-apps/iproute2 esté instalado y que iproute2 se use como módulo de configuración (en lugar de ifconfig).
Una VLAN (Red de Área Local Virtual) es un grupo de dispositivos de red que se comportan como si estuvieran conectados a un único segmento de red, aunque no lo estén. Los miembros de una VLAN solo pueden ver a otros miembros de la misma VLAN, aunque 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:
/etc/conf.d/net
Especificar los números VLANvlans_eth0="1 2"
A continuación, configure el interfaz para cada VLAN:
/etc/conf.d/net
Configurar la interface para cada VLANconfig_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:
/etc/conf.d/net
Configurar las VLANsvlan1_name="vlan1"
vlan1_ingress="2:6 3:5"
eth0_vlan1_egress="1:2"
Para usar algunas configuraciones de VLAN, tal vez haga falta consultar la documentación de Configuración por medio de variables.