Estoy ejecutando un servicio VPN en Debian (para algunos amigos) como un proyecto de autoaprendizaje para obtener más experiencia en la ejecución de un servicio seguro y de alta disponibilidad.
En este momento, OpenVPN envía servidores opendns a los clientes y los clientes enrutan todo el tráfico a través de mi servidor. Me gustaría implementar algún tipo de bloque de seguimiento, como una lista de dominios / IP conocidos que son utilizados por anuncios o servicios de seguimiento (sí, sé que la lista de apporach está lejos de ser buena) que se bloquea automáticamente para el usuario cuando ejecuta el VPN. Por lo tanto, si el usuario A, por ejemplo, visita un sitio web shadycompany.com/wedotrackingforaliving que carga varios js que se conectan a uno de los dominios de mi lista, el tráfico no será prohibido o simplemente se eliminará.
Pensar en esto me dejó con 2 opciones válidas:
-
Use los alias de dnsmasq en todos los dominios para redireccionar todas las consultas dns que contiene un dominio de la lista a localhost
-
Simplemente redireccione a localhost a través del archivo de hosts
Así que mi pregunta es, ¿existen limitaciones para cualquiera de los métodos? Como máximo. número de reglas, rendimiento ( enlace : considera la demora declarada para las búsquedas de archivos de hosts como (O(log2(n))
, considerando que la lista contiene alrededor de 50000 entradas atm ) o de seguridad (pasando por alto dns etc.?).
¿Existe alguna práctica recomendada para dicho bloqueo que sea mejor que el enfoque de dnsmasq y el archivo de host?