====== 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}}