Puente: Perder la conexión de red WLAN con 4addr en la opción - ¿Por qué?

9

Pregunta:
Para usar con mi máquina virtual Xen, necesito crear una interfaz de red virtual (vif) que se conecte a wlan0.

Si en / etc / network / interfaces agrego

auto xenbr0
       iface xenbr0 inet dhcp

Y luego más tarde

brctl addif xenbr0 wlan0

Me sale este mensaje de error.

can't add wlan0 to bridge xenbr0: Operation not supported

Descubrí que Linux no le permitirá conectar una interfaz inalámbrica en modo administrado a menos que habilite la opción 4addr (necesaria para recompilar iw):

iw dev wlan0 set 4addr on

Después

brctl addif xenbr0 wlan0

funciona, y brctl show muestra xenbr0 como un puente a wlan0.

Desafortunadamente, tan pronto como ejecuto

iw dev wlan0 set 4addr on

toda mi conexión de red se ha ido (sin conexión). Tan pronto como ejecuto

iw dev wlan0 set 4addr off

Me vuelvo a conectar y funciona de nuevo. Si vuelvo a ejecutar 4addr encendido, se rompe nuevamente, si ejecuto 4addr apagado, funciona de nuevo.

Desafortunadamente, no puedo encender 4addr, activar el puente y luego volver a apagarlo (error: dispositivo no está listo).

¿Alguien sabe por qué pierdo mi conexión?

Brujería
fuente

Respuestas:

14

Encontré una respuesta aquí: http://nullroute.eu.org/~grawity/journal.html#post:20110826

iw dev wlan0 set 4addr on

Sin embargo, con 4addr habilitado, es probable que el AP lo ignore por completo: la asociación tiene éxito pero todos los marcos de datos desaparecen en el éter. Esto podría ser por razones de seguridad (porque es muy difícil falsificar la dirección MAC de origen. Sí.) En mi enrutador (que ejecuta OpenRG), es necesario habilitar el modo "WDS" para la interfaz AP inalámbrica, agregar un dispositivo WDS restringido a mi dirección MAC de la computadora portátil y agréguela al puente LAN. Los paquetes 4addr ahora funcionan.

Sin embargo, hay otro problema con esto: el enrutador ahora rechaza los paquetes de tres direcciones de la computadora portátil, lo que puede ser bastante inconveniente (tener que alternar 4addr cada vez que se cambia la red WLAN). La solución consiste en agregar, en la computadora portátil, una segunda interfaz inalámbrica vinculada al mismo dispositivo, pero con una dirección MAC diferente:

# undo the earlier configuration
iw dev wlan0 set 4addr off


# add a second interface
iw dev wlan0 interface add wds.wlan0 type managed 4addr on
ip link set dev wds.wlan0 addr $ADDR
ip link set dev wds.wlan0 up

Aquí $ ADDR debe coincidir con la dirección del dispositivo WDS configurada en el enrutador; Aparte de eso, puede ser cualquier dirección MAC válida. El MAC original de wlan0 permanece para uso "normal".

Es posible usar wlan0 y wds.wlan0 al mismo tiempo, aunque solo he probado asociarme al mismo AP dos veces, no a diferentes AP.

fmo
fuente
5

Bajo ciertas circunstancias, también podría usar wlan_kabel. Utiliza sockets de paquetes para conectar directamente dispositivos wlan * con dispositivos ethernet. Sin embargo, solo puede conectar un solo MAC a la vez con wlan_kabel. No tiene el inconveniente de estar bloqueado por puntos de acceso, porque solo se usa el MAC original del dispositivo wlan.

En su caso, esto significaría que wlan0 solo puede ser utilizado por una VM y ni siquiera por el host.

Puedes obtener wlan_kabel aquí .

escitalopram
fuente