[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Enrutando Wi-Fi a ethernet (puente)

Este Howto describe, como interconectar una red inalámbrica y una cableada sobre la misma computadora Linux, para permitir que los paquetes TCP/IP no modificados pasen de una interfaz a la otra. En otros lugares esto es mencionado como un puente ethernet o extensor de línea Wi-Fi o como compartir una conexión de internet por Wi-Fi.

La razón para este HOWTO: la palabra puente es engañosa

Para un puente de red nosotros asumimos que un dispositivo que transfiere paquetes de red sin modificar a partir de una conexión de red a otra. Uno puede crear un dispositivo puente (virtual) y agregar miembros a este. Este funciona solo para miembros de puentes de tipo cableado - tarjetas de red eth. Un puente de red “conecta” miembros sobre capa 3 del modelo OSI. Eso significa comunicación a nivel TCP/IP.

Cuando quieres agregar un dispositivo Wi-Fi a un puente, te golpeas con una barrera: los dispositivos Wi-Fi se comunican sobre capa 2 del modelo OSI. Puedes buscar muchos manuales en internet que documentan como sortear esto (4addr mode). ¡Esto simplemente NO FUNCIONA!

La tarjeta de red Wi-Fi (miembro del puente) se autentica y se conecta al punto de acceso inalámbrico (AP), pero los paquetes TCP/IP no viajan a través de la conexión. Por lo tanto, buscar “wifi eth bridge” no devuelve ninguna solución útil. El culpable es la palabra “puente”.

Solución general

Una solución de trabajo es “Proxy ARP Routing”. Simplemente habilite el reenvío de IP y luego, para cada dispositivo conectado al lado cableado (eth) de un “puente”, debe agregar una línea de enrutamiento a la tabla de enrutamiento. Esto puede se automatizado por un programa como parprouted el demonio proxy ARP de ruteo.

Leyendo de las páginas del manual de parprouted es altamente recomendable estar al tanto de sus limitaciones.

Solución para Slackware, paso a paso

Testeado y trabajando sobre Slackware64-14.2, kernel-4.11.6, CPU i5-7200.

Esta solución es para direcciones IP estáticas. Vea a continuación el enlace de la fuente original para un escenario que usa DHCP.

Suposiciones: Queremos interconectar una placa Wi-Fi y una cableada (eth). Los dispositivos de red son wlan0 y eth0. Prepare su máquina Slackware para que pueda comunicarse a través del adaptador de Wi-Fi (utilizando NetworkManager, rc.inet1 u otros medios..), asegurándose de que el adaptador cableado (eth) no se esté utilizando.

Yo había configurado la verificación WPA2 AES con NetworkManager para obtener un archivo de configuración utilizable wpa_supplicant.conf que usé más adelante con rc.inet1.

Deshabilitar todo en las configuraciones de red de arranque (es decir, asegúrese que rc.networkmanager u otros archivos para la configuración de la red no son ejecutables) y configure rc.inet1 como ejecutable.

  1. IP forwarding debe estar habilitado en el kernel (a partir de la versión 2.1 el kernel de Linux no requiere una compilación explicita para esto).
  2. Editar el archivo /etc/rc.d/rc.inet1.conf para habilitar wlan0 y eth0. Asigne direcciones IP estáticas y configurá wlan0 con el índice más bajo y conectá al AP. A continuación se muestran líneas de ejemplo de /etc/rc.d/rc.inet1.conf los únicos sin signo de comentario “#” al principio y para la autenticación Wi-Fi WPA2
    IFNAME[1]="eth0"
    IPADDR[1]="10.200.200.223"
    NETMASK[1]="255.255.255.0"
    
    GATEWAY="10.200.200.1"
    DEBUG_ETH_UP="no"
    
    IFNAME[0]="wlan0"
    IPADDR[0]="10.200.200.222"
    NETMASK[0]="255.255.255.0"
    USE_DHCP[0]=""
    DHCP_HOSTNAME[0]=""
    
    WLAN_MODE[0]=Managed
    WLAN_ESSID[0]="R7500"
    
    WLAN_WPA[0]="wpa_supplicant"
    WLAN_WPADRIVER[0]="wext"
  3. Configura el archivo /etc/rc.d/rc.ip_forward como ejecutable de la siguiente forma:
    # chmod +x /etc/rc.d/rc.ip_forward
  4. Agrega una línea
    /usr/local/sbin/parprouted wlan0 eth0

    to /etc/rc.d/rc.local Asegurate que este archivo sea ejecutable.

Eso es todo. Reinicia y tendrás trabajando un puente Wi-Fi ethernet, también llamado extensor Wi-Fi o Wi-Fi a internet compartido.

:!: Notas sobre la compilación de parprouted:

La sección de las paginas del manual (man) de parprouted “Requerimientos” dice: “parprouted” requiere el programa “ip” el cual es parte de las herramientas iproute2 a ser instaladas en /sbin. Si estas herramientas están instaladas en otra ubicación, por favor reemplace “/sbin/ip” en las fuentes con la ruta correcta“. Slackware instala el programa ip como /sbin/ip por lo que debería estar bien.

Variante DHCP habilitada

Busque a continuación una solución en un enlace de origen.

Fuentes

 es:howtos:network_services:wifi_to_eth_bridge_routing ()