Enrutamiento selectivo: cómo enrutar el tráfico de puertos específicos a través de OpenVPN en Ubuntu Server 16.04.4 LTS

Enrutamiento selectivo: cómo enrutar el tráfico de puertos específicos a través de OpenVPN en Ubuntu Server 16.04.4 LTS

La LAN de mi casa está organizada de la siguiente manera:

  1. DHCP lo asigna un módem (muy) básico proporcionado por mi ISP (módem).
  2. Un servidor ejecuta Plex Media Server ( uid=plex, en adelante: PMS) y Transmission ( uid=debian-transmission). El sistema operativo aquí es Ubuntu Server 16.04 que se ejecuta sin cabeza (sin GUI) en mi (muy) antigua PC i5 Sony Vaio (SONY).
  3. Los medios se almacenan en un NAS (NAS) que ejecuta alguna versión de Linux. Montar y atribuir permisos no fue fácil,pero lo logré.
  4. HDHomeRuntransmite canales de TV OTA a PMS, que redistribuye canales tanto dentro como fuera de la LAN.
  5. Un Roku 3 sirve como cliente de PMS y reproduce medios en el televisor grande de mi sala de estar (como también reproduce medios de mi cuenta habitual de Netflix, no puede estar detrás de una VPN, porque Netflix lo reconocería y devolvería un error) .
  6. En el futuro, PMS actuará como servidor para transmisiones IPTV/m3u, de acuerdo conesta guía. Esto no está funcionando ahora, pero lo estará pronto.
  7. Transmission envía/recibe torrents port 20000y su interfaz web está activa en port 25000. Plex opera port 30000y estoy planeando dirigir su tráfico entrante IPTV/m3u a través de port 35000,

Todo funciona bien siempre y cuando esté en la misma red y no intente poner nada detrás de una VPN... que es exactamente lo que quiero hacer.

En particular,Quiero dirigir solo el tráfico a ports 20000 and 35000través de OpenVPN: el resto no debería verse afectado.En particular, el tráfico a través de los puertos 25000 y 30000 no debería verse afectado, ya que dificultaría mucho el funcionamiento del servidor a través de las interfaces web.

Conseguí una buena cuenta OpenVPN y ya pude probarla en una TP-Link TL-WDR4300versión flasheada con DD-WRT(Router).

No soy un experto en TI, solo un viejo entusiasta de Linux, así que necesito ayuda y orientación y pasé los últimos días estudiando. Encontré muchas guías/tutoriales sobre:

  1. como dirigirtodo el tráficoa través de la VPN: sin embargo, esto es demasiado (también inutilizaría mi cuenta de Netflix);
  2. Cómo dirigir todo el tráfico deusuarios específicosa través de OpenVpn. De nuevo demasiado:los puertos 25000 y 30000 no deben verse afectadosy quiero poder utilizar las interfaces web;
  3. Cómo poner solo el SONY detrás del enrutador TP-Link e indicarle a DD-WRT que realice un enrutamiento selectivo solo del tráfico dirigido a travésciertos puertos.

El elemento 3. se acerca más a lo que quiero hacer, pero nuevamente parece demasiado, ya que complicaría la arquitectura, dificultando que el PMS dialoge con HDHomeRun. Montar el NAS en SONY y realizar SSH en SONY y NAS también se vería afectado negativamente. Y me preocupa mucho que delegar este enrutamiento selectivo a un enrutador de consumo termine ralentizando significativamente la conexión: el i5 de SONY, por otro lado, tiene toda la potencia informática que se necesita. Y, si es posible, me gustaría prescindir del enrutador adicional, por el bien de la huella energética y para simplificar el mantenimiento.

¿Existe alguna solución para decirle a Ubuntu 16.04 que dirija solo el tráfico de ciertos puertos a través de OpenVPN? ...¿o alguna solución viable?

El caso es que me gustaría algo que funcione automáticamente, porque el sistema también lo manejan mi esposa y mis hijos como usuarios finales. No puedo configurar diferentes redes y pedirles que cambien entre ellas dependiendo de lo que quieran ver en la televisión o de lo que necesiten hacer. Implementar la solución puede resultar complicado, pero utilizar el sistema debería ser fácil y sin esfuerzo.

información relacionada