Eu preciso abrir uma porta específica em um servidor OpenVPN para o tráfego de torrent

4

Se eu me conectar a um servidor openvpn na porta 1194 do Tunnelblick em um Mac (OSX 10.10), como posso garantir que a porta usada pela Transmissão (por exemplo, 66887) esteja aberta para conexões de entrada?

Configuração atual:

Conectado a um ponto de acesso Wi-Fi (fora do meu controle, sem acesso às configurações do roteador) Conectado ao servidor OpenVPN (eu tenho controle total sobre a configuração)

A transmissão 'funciona', mas é lenta e a porta está sendo mostrada como fechada nas preferências da rede de transmissão. A conexão VPN openvpn funciona normalmente para todo o tráfego HTTP padrão.

O Openvpn está sendo executado em um servidor Ubuntu remoto. Eu tentei usar o ufw para abrir a porta acima, mas isso não teve efeito e suspeito que há uma configuração de rede mais profunda necessária.

A versão openvpn é o OpenVPN 2.3.2 x86_64.

É possível encaminhar a porta 66887 neste cenário ou eu preciso de acesso ao roteador LAN local para que isso funcione?

Eu tentei alterar o endereço de ligação - BindAddressIPv4 - para Transmissão através do arquivo plistico de preferências, mas fiz isso incorretamente ou não fez diferença.

    
por codecowboy 13.09.2015 / 09:41

2 respostas

2

Surpreso ninguém notou, mas 66887 não é um número de porta válido.

link

The port number is an unsigned 16-bit integer, so 65535.

O intervalo válido para portas é 0-65535.
Como você está especificando a porta inválida 66887, a maioria dos sistemas operacionais truncará isso para 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

Ou em 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
    
por 05.06.2018 / 22:42
3

Você precisa encaminhar a porta no seu servidor openvpn.

Eu não sei comandos ufw, mas usando iptables, os comandos seriam (com 10.8.0.6 o IP da sua máquina quando conectado à VPN e 66887 a porta a ser encaminhada):

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
    
por 13.09.2015 / 12:45