¿Cómo se agrega una lista blanca de enrutamiento basada en MAC con DD-WRT y el cliente OpenVPN?

¿Cómo se agrega una lista blanca de enrutamiento basada en MAC con DD-WRT y el cliente OpenVPN?

Tengo un cliente OpenVPN configurado en mi enrutador doméstico DD-WRT que mantiene una VPN en mi lugar de trabajo.

Pequeño problema: no quiero que los usuarios aleatorios que acceden a mi AP inalámbrico tengan acceso a la VPN de mi empresa. (Sí, está aceptablemente bien asegurado, pero tengo motivos para tomar medidas adicionales).

¿Se le puede iptablesconvencer de que niegue el enrutamiento a todas las direcciones MAC de origen, excepto a unas pocas que yo especifique? Intenté usar el --mac-sourceparámetro de la siguiente manera:

iptables -I FORWARD -i br0 -o tap0 -j REJECT
iptables -I FORWARD -i br0 -o tap0 -j ACCEPT --mac-source 00:01:02:03:04:05

La REJECTregla funciona, pero ACCEPTno. (tenga en cuenta que el -Iparámetro se utiliza para garantizar que la ACCEPTregla esté antes que la REJECTregla).

¿Alguien más ha tenido experiencia en configurar una lista blanca como esta?

Respuesta1

Según tengo entendido, su problema aquí es que las direcciones MAC solo son una opción válida para las tablas PREROUTING y POSTROUTING. Hice esto de la siguiente manera torpe...

  1. En la tabla de enrutamiento previo en la interfaz entrante de la LAN, seleccione la dirección MAC de la máquina que desea dejar pasar y use DNAT para modificar la dirección IP a una de su elección que de otro modo no estaría en uso.

    -A PREROUTING -i eth1 -m mac --mac-source xx:xx:xx:xx:xx:xx -j DNAT -- a 192.168.2.200 -m comentario --comentario "máquina a permitir"

  2. En la tabla FORWARD, establezca una regla para aceptar esa IP, con una política para FORWARD, de lo contrario, descartará todo el tráfico.

    -A ADELANTE -s 192.168.2.200 -j ACEPTAR

información relacionada