![Preciso abrir uma porta específica em um servidor OpenVPN para tráfego de torrent?](https://rvso.com/image/1465809/Preciso%20abrir%20uma%20porta%20espec%C3%ADfica%20em%20um%20servidor%20OpenVPN%20para%20tr%C3%A1fego%20de%20torrent%3F.png)
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 pelo Transmission (por exemplo, 66887) estará aberta para conexões de entrada?
Configuração atual:
Conectado a um ponto de acesso Wifi (fora do meu controle, sem acesso às configurações do roteador) Conectado ao servidor OpenVPN (tenho controle total sobre a configuração)
A transmissão 'funciona', mas é lenta e a porta aparece 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.
Openvpn está sendo executado em um servidor Ubuntu remoto. Tentei usar o ufw para abrir a porta acima, mas isso não teve efeito e suspeito que seja necessária uma configuração de rede mais profunda.
A versão do openvpn é OpenVPN 2.3.2 x86_64.
É possível encaminhar a porta 66887 neste cenário ou preciso de acesso ao roteador LAN local para que isso funcione?
Tentei alterar o endereço de ligação - BindAddressIPv4 - para transmissão por meio do arquivo plist de preferências, mas fiz isso incorretamente ou não fez diferença.
Responder1
Surpreso, ninguém percebeu, mas 66887 não é um número de porta válido.
O número da porta é um número inteiro não assinado de 16 bits, portanto 65535.
O intervalo válido para portas é 0-65535.
Como você está especificando a porta inválida 66887, a maioria dos sistemas operacionais irá truncá-la 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
Responder2
Você precisa encaminhar a porta no seu servidor openvpn.
Não conheço 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 para 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