Estoy usando OS X, Viscosity y AirVPN. AirVPN admite el reenvío de puertos y puedo reenviar puertos exitosamente con uTorrent y algunas otras aplicaciones... así que, en teoría, esto debería funcionar:
- Vaya a AirVPN y reenvíe un puerto aleatorio. Por ejemplo,
18445
. - Vaya a Plex Media Server > Configuración > Conectar. Marque Especificar puerto manualmente, ingrese
18445
. - Haga clic en Actualizar
Pero esto no funciona. Entiendo el plex can't connect to you
mensaje.
He verificado que este es el caso usando telnet. Si no telnet my.ip.addr 18445
consigo nada. Si hago telnet al puerto uTorrent, obtengo una respuesta.
Entonces, ¿qué significa especificar puerto manualmente? Parece que Plex afirma que abrirá un enchufe externo en ese puerto, pero no es así.
Respuesta1
Así es como logré que MyPlex/PlexPass funcionara con una VPN.
Requisitos previos:
- Mac OS X Mavericks/Yosemite (aún no verificado en El Capitan)
- PIA/AirVPN/lo que sea (cualquier VPN que admita reenvío de puertos está bien)
- Cualquier cliente VPN ejecutándose en tu mac
Pasos:
- Reenvíe el puerto en la VPN.
Vaya al sitio web de su VPN para agregar un puerto de reenvío.
Estoy usando AirVPN, así que voy aairvpn.org/ports/y haga clic en el botón Agregar. No rellenes ninguno de los campos. Deje que asigne un puerto aleatorio y reenvíe al mismo puerto local.
Anote el número de puerto generado aleatoriamente. Lo necesitarás más adelante, cuando veas VPN_PORT
en las instrucciones a continuación, lo reemplazarás con este número.
- Configure la redirección de puertos en su máquina local
Mavericks 10.9 y Yosemite 10.10 utilizan pf
(el filtro de paquetes OpenBSD) para la redirección de puertos.
Utilice la Terminal
aplicación para acceder a la línea de comando.
Crea el archivo /etc/pf.anchors/my.plex.vpn.forward
usando tu editor favorito, o nano:
sudo nano /etc/pf.anchors/my.plex.vpn.forward
Copie lo siguiente en el archivo:
# To allow access to Plex Media Server from outside the VPN AirVPN
# local ethernet for testing (en0)
rdr pass on en0 inet proto tcp from any to any port VPN_PORT -> 127.0.0.1 port 32400
# OpenVPN presumably is tun0
rdr pass on tun0 inet proto tcp from any to any port VPN_PORT -> 127.0.0.1 port 32400
Elimine VPN_PORT
en las líneas 3 y 5 y copie en el puerto aleatorio que anotó arriba.
Guarde el archivo y salga de nano.
Para verificar que su archivo de reenvío de puerto sea correcto:
sudo pfctl -vnf /etc/pf.anchors/my.plex.vpn.forward
Si lo ve unknown port VPN_PORT
, entonces olvidó reemplazar VPN_PORT en el archivo con su propio puerto VPN generado aleatoriamente desde el paso 1.
Cree un pf
archivo de configuración:
sudo nano /etc/pf.plex.conf
Copia esto en él:
rdr-anchor "my-plex"
load anchor "my-plex" from "/etc/pf.anchors/my.plex.vpn.forward"
Inicio pf
(No se ejecuta por defecto)
sudo pfctl -ef /etc/pf.plex.conf
- Configurar el servidor Plex
Vaya a la interfaz web de Plex Media Server > Configuración > Servidor > Conectar
Asegúrese de haber iniciado sesión con su plexpass.
Marque la casilla Manually specify port
e ingrese VPN_PORT
lo que anotó arriba. Haga clic en el botón (Actualizar/Reintentar/lo que sea).
Verás "Conectando servidor..."
Después de unos segundos deberías ver "El servidor está asignado al puerto [VPN_PORT]".
- Pruébalo con tu teléfono móvil
Primero apague el WiFi. (De lo contrario, su teléfono podría conectarse a la red local y eso no es lo que queremos).
Acceso
Debería conectarse automáticamente ahora. De lo contrario, intente Actualizar, Sincronizar o esperar un minuto.
Una vez que veas que funciona, puedes volver a activar el WiFi.
Cosas extra:
- Para hacer que pf se ejecute automáticamente cuando reinicie su Mac, consulteServidor OS X: Cómo habilitar el firewall adaptativo(excepto cambiar el archivo de configuración de pf.conf a pf.plex.conf)
- Puede probar desde dentro y fuera de su red usando telnet, por ejemplo,
telnet IP.ADDR.OF.PLEXMAC VPN_PORT
y si se conecta, su configuración es correcta. - Esto no sería necesario si el servidor Plex se actualizara para escuchar en todas las interfaces de red, incluida la interfaz vpn.