¿Es seguro y útil ejecutar mi VPN en un contenedor en comparación con ejecutarla en el host?

Mientras tengo problemas para ejecutar VPN en mi host de Docker, quería entender la diferencia entre ejecutar VPN en el host versus en un contenedor. Esto, por supuesto, asumiendo que puedo tunelizar todo el tráfico de mis contenedores y del host a través de la instancia de VPN, lo cual tendré que resolver por separado.

Finalmente, estoy considerando un enrutador que pueda ejecutar VPN en lugar de esta configuración.

Supongo que estás hablando de ejecutar el cliente VPN.

Idealmente no deberías instalar un cliente VPN dentro de tu contenedor, no por razones de seguridad, sino para garantizar la separación de responsabilidades. Si el cliente VPN se ejecuta en el host, todo el tráfico de tu host y de todos tus contenedores será enrutado a través del VPN, lo cual quizás no desees.

Podrías explorar configurar el cliente VPN en un contenedor separado (digamos C) y enrutar todo el tráfico de tus contenedores a través de C. Esto puede ser un poco complejo, pero es posible. De esta forma, solo el tráfico de tus contenedores pasará por la VPN.

En Kubernetes esto puede lograrse usando un patrón sidecar, ejemplo (solo para referencia): https://gitlab.com/dealako/k8s-sidecar-vpn/tree/master/