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á rodando em um servidor Ubuntu remoto. Eu tentei usar o ufw para abrir a porta acima, mas isso não teve efeito e eu 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 preciso acessar o roteador de rede 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 ou fez isso incorretamente ou não fez diferença.


Você encontrou uma solução?
— Sarge Borsch

Eu não consigo lembrar exatamente, mas tenho certeza que as regras de firewall na resposta funcionaram para mim. Lembre-se de liberar as regras e verificar se elas estão ativas. 'homem iptables' para mais informações.
— codecowboy

Respostas:


3

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

https://stackoverflow.com/questions/113224/what-is-the-largest-tcp-ip-network-port-number-allowable-for-ipv4#113228

O número da porta é um inteiro de 16 bits sem sinal, portanto, 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

3

Você precisa encaminhar a porta no seu servidor openvpn.

Não sei comandos ufw, mas usando iptables, os comandos seriam (com 10.8.0.6 o IP da sua maquina quando conectado a VPN e 66887 a porta a encaminhar):

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

Infelizmente, isso não funciona
— Sarge Borsch

O que exatamente não funciona? Os comandos não são executados? Eles correm, mas não encaminham a porta?
— user2313067

Eu tentei executá-los, e também abri o porto em ufw. Não vi sinais de erros, mas todos os testes indicam que a porta não foi encaminhada.
— Sarge Borsch
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.