====== 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 [[https://es.wikipedia.org/wiki/Modelo_OSI#Capa_de_red|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 [[https://es.wikipedia.org/wiki/Modelo_OSI#Capa_de_enlace_de_datos|capa 2 del modelo OSI]].
Puedes buscar muchos manuales en internet que documentan como sortear esto ([[https://oldwiki.archive.openwrt.org/doc/howto/clientmode|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 [[http://freecode.com/projects/parprouted|parprouted]] el demonio proxy ARP de ruteo.
Leyendo de [[https://linux.die.net/man/8/parprouted|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.
- 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).
- Descargar & compilar & instalar http://www.hazard.maks.net/parprouted/parprouted-0.7.tar.gz]] :!:.
- 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"
- Configura el archivo ''/etc/rc.d/rc.ip_forward'' como ejecutable de la siguiente forma:
# chmod +x /etc/rc.d/rc.ip_forward
- 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 ======
* Escrito por [[wiki:user:slacker | Zdenko Dolar]], August 2017.
* Traducido por --- //[[wiki:user:rramp|Ricardo Ramiro Peña]] 2019/02/18 01:13 (UTC)//
* Fuente original:[[https://wiki.debian.org/BridgeNetworkConnectionsProxyArp]]
{{tag>howtos network WiFi bridge author_slacker}}