![¿Necesito abrir un puerto específico en un servidor OpenVPN para el tráfico de torrents?](https://rvso.com/image/1465809/%C2%BFNecesito%20abrir%20un%20puerto%20espec%C3%ADfico%20en%20un%20servidor%20OpenVPN%20para%20el%20tr%C3%A1fico%20de%20torrents%3F.png)
Si me conecto a un servidor openvpn en el puerto 1194 desde Tunnelblick en una Mac (OSX 10.10), ¿cómo puedo asegurar que el puerto utilizado por Transmission (por ejemplo, 66887) esté abierto para las conexiones entrantes?
Configuración actual:
Conectado a un punto de acceso Wifi (fuera de mi control, sin acceso a la configuración del enrutador) Conectado al servidor OpenVPN (tengo control total sobre la configuración)
La transmisión "funciona" pero es lenta y el puerto se muestra como cerrado en las preferencias de la red de transmisión. La conexión VPN openvpn funciona normalmente para todo el tráfico http estándar.
Openvpn se ejecuta en un servidor Ubuntu remoto. Intenté usar ufw para abrir el puerto anterior, pero esto no tuvo ningún efecto y sospecho que se requiere una configuración de red más profunda.
La versión de openvpn es OpenVPN 2.3.2 x86_64.
¿Es posible reenviar el puerto 66887 en este escenario o necesito acceso al enrutador LAN local para que esto funcione?
Intenté cambiar la dirección de enlace, BindAddressIPv4, para la transmisión a través del archivo plist de preferencias, pero lo hice incorrectamente o no hizo ninguna diferencia.
Respuesta1
Sorprendido, nadie se dio cuenta, pero 66887 no es un número de puerto válido.
El número de puerto es un entero de 16 bits sin signo, es decir, 65535.
El rango válido para puertos es 0-65535.
Debido a que está especificando el puerto no válido 66887, la mayoría de los sistemas operativos lo truncarán a 1351:
[root@f ~]# tcpdump -qnn host 8.8.8.8 & telnet 8.8.8.8 66887
[1] 4054
Trying 8.8.8.8...
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
15:30:56.175482 IP 10.0.0.42.60280 > 8.8.8.8.1351: tcp 0
O en C:
[root@f ~]# cat > 16.c << EOF
> #include <stdio.h>
> #include <stdint.h>
> int main(void) {
> uint16_t port=66887;
> printf("%d\n",port);
> return 0;
> }
> EOF
[root@f ~]# gcc -o 16 16.c
16.c: In function ‘main’:
16.c:4: warning: large integer implicitly truncated to unsigned type
[root@f ~]# ./16
1351
Respuesta2
Debe reenviar el puerto en su servidor openvpn.
No conozco los comandos de ufw, pero usando iptables, los comandos serían (con 10.8.0.6 la IP de su máquina cuando está conectada a la VPN y 66887 el puerto para reenviar):
iptables -t nat -A PREROUTING -p tcp --dport 66887 -j DNAT --to 10.8.0.6:66887
iptables -t nat -A PREROUTING -p udp --dport 66887 -j DNAT --to 10.8.0.6:66887