Meu sistema:
Local: Arch Linux
VPS: Linode uubuntu 20.04.1
Standard Wireguard Package on both ends
Então estou usandoairdcppd, um programa de compartilhamento de arquivos que usa três portas na minha máquina local para transferir informações de tráfego.
Eles são:
23288/tcp
21500/udp
13875/tcp
O que eu quero fazer é encaminhar essas portas para o wireguard VPS para que pareça que as portas estão rodando no lado do servidor e estão abertas ao público.
Para conseguir isso, modifiquei a configuração da minha interface wireguard de acordo com estes guias:
Então minha configuração agora está assim:
local:
[Interface]
PrivateKey = <my key>
Address = 10.66.66.2/32,fd42:42:42::2/128
DNS = 1.1.1.1,94.140.15.15
# packet forwarding
PreUp = sysctl -w net.ipv4.ip_forward=1
# port forwarding
PreUp = iptables -t nat -A PREROUTING -d local.ip.address -p tcp --dport 23288 -j DNAT --to-destination 10.66.66.1
PreUp = iptables -t nat -A PREROUTING -d local.ip.address -p udp --dport 21500 -j DNAT --to-destination 10.66.66.1
PreUp = iptables -t nat -A PREROUTING -d local.ip.address -p tcp --dport 13875 -j DNAT --to-destination 10.66.66.1
PostDown = iptables -t nat -D PREROUTING -d local.ip.address -p tcp --dport 23288 -j DNAT --to-destination 10.66.66.1
PostDown = iptables -t nat -D PREROUTING -d local.ip.address -p udp --dport 21500 -j DNAT --to-destination 10.66.66.1
PostDown = iptables -t nat -D PREROUTING -d local.ip.address -p tcp --dport 13875 -j DNAT --to-destination 10.66.66.1
[Peer]
PublicKey = <my key>
PresharedKey = <my key>
Endpoint = vps.ip.address:49503
AllowedIPs = 0.0.0.0/0,::/0
servidor:
[Interface]
Address = 10.66.66.1/24,fd42:42:42::1/64
ListenPort = 49503
PrivateKey = <my key>
PreUp = iptables -t nat -A PREROUTING -d vps.ip.address -p tcp --dport 23288 -j DNAT --to-destination 10.66.66.2
PreUp = iptables -t nat -A PREROUTING -d vps.ip.address -p udp --dport 21500 -j DNAT --to-destination 10.66.66.2
PreUp = iptables -t nat -A PREROUTING -d vps.ip.address -p tcp --dport 13875 -j DNAT --to-destination 10.66.66.2
PostDown = iptables -t nat -D PREROUTING -d vps.ip.address -p tcp --dport 23288 -j DNAT --to-destination 10.66.66.2
PostDown = iptables -t nat -D PREROUTING -d vps.ip.address -p udp --dport 21500 -j DNAT --to-destination 10.66.66.2
PostDown = iptables -t nat -D PREROUTING -d vps.ip.address -p tcp --dport 13875 -j DNAT --to-destination 10.66.66.2
### Client name
[Peer]
PublicKey = <my key>
PresharedKey = <my key>
AllowedIPs = 10.66.66.2/32,fd42:42:42::2/128
Então, como você provavelmente pode ver, meu endereço interno do wireguard para local é: 10.66.66.2
e para o servidor é10.66.66.1
O que acontece agora é que a porta local 23288
na máquina local, que aparece como aberta sem ser VPN-ed, também é mostrada como aberta após verificação com um verificador de porta. As outras três portas ainda estão fechadas, mas isso não é uma grande preocupação, uma vez que a porta principal utilizada está aberta e isso é suficiente para os meus propósitos. As outras portas também são mostradas como fechadas, mesmo sem serem VPN.
Nenhum firewall é usado a partir de agora, vou permitir todas as portas envolvidas depois que isso funcionar.
O problema que surge é que o que acontece depois que os pacotes são enviados pela VPN, parece que não volta para o local. Como você pode ver, configurei as regras para enviar de volta todos os pacotes nessas 3 portas para a máquina local. Mas por algum motivo não estou conseguindo, pois no aplicativo airdc
não está exibindo o que deveria.
Fiz algo errado ao tentar "encaminhar" o tráfego dessas portas para a máquina local? É a maneira correta de meu aplicativo local receber de volta os pacotes? Caso contrário, qual deve ser a maneira correta de configurar a configuração do VPS wireguard para que tudo o que for encaminhado nessas três portas seja retornado corretamente?
Obrigado por procurar!
EDIT: A porta local que uso para acessar o serviço é http://localhost:5960 , e gostaria de usá-la com a VPN para poder acessá-la pela web também, assim:https://vps.ip.endereço:5960, mas mesmo que eu adicionei uma linha para encaminhar a porta local 5960 para o servidor com a mesma sintaxe acima, ela ainda não está funcionando, talvez esta seja a chave para fazer tudo funcionar também?
Responder1
Em vez disso, você terá que encaminhar as portas do lado VPS para o IP interno da máquina local. Como faria em um roteador em sua casa para o endereço local do seu PC. Não conecte a máquina local ao VPS.