Estou usando uma VPN apenas para obter um IP dedicado/estático (porque minha rede doméstica tem um IP dinâmico por causa do cabo). Não me importo em esconder minha identidade, etc. Tenho a VPN configurada no meu roteador executando o firmware Tomato, usando o cliente OpenVPN.
O que eu quero é que quando o tráfego entrar no IP da VPN e atingir meu roteador, dependendo do IP de onde veio o tráfego, ele seja redirecionado para um dispositivo específico na minha rede doméstica. Cada dispositivo da minha rede tem um IP estático atribuído, e no passado eu usava uma VPN diferente que usava PPTP, e que simplesmente funcionava, por exemplo as regras normais de Port Forwarding do Tomato funcionavam perfeitamente e dependendo de onde vinha o tráfego, ele era roteado automaticamente para o dispositivo certo conectado ao meu roteador.
No entanto, agora que estou usando uma VPN que usa OpenVPN em vez de PPTP, parece que as regras de encaminhamento de porta no Tomato não funcionam mais? Não consigo descobrir como enviar tráfego para o dispositivo correto na minha rede doméstica com base no número da porta e em qual IP enviou a solicitação. Notei a guia "Política de Roteamento" na página de configuração do cliente OpenVPN no Tomato, mas isso não faz sentido para mim.
Preciso adicionar algum tipo de script em algum lugar do Tomato? Algumas regras do iptables ou algo assim? Parece estranho, não posso simplesmente usar a página de configuração do Port Forwarding no Tomato. Ou preciso apenas ativar/desativar algumas das opções na página de configuração do cliente OpenVPN? Estou fora do meu alcance, qualquer conselho seria apreciado
Responder1
Eu acho que meupergunta no Redditpode ajudá-lo.
Vou duplicá-lo aqui:
Então, depois de olhar com oassociação que fornece a VPN, acabamos com a seguinte solução.
192.168.1.1
é o IP padrão do roteador, que pode ser alterado emhttp://192.168.1.1/basic-network.asp.YYY.YYY.YYY.YYY
é o IP do túnel VPN.
Para armazenar um script personalizado que será executado quando a VPN estiver ativa (iniciada), habilite o JFFS com o navegador emhttp://192.168.1.1/admin-jffs2.asp. Salve as configurações e alguns serviços serão reiniciados (/jffs/ será montado).
Telnet no seu roteador:
telnet 192.168.1.1
Faça login com
root
a senha que você costuma usar para acessar o Tomato.Crie e edite um script em /jffs/:
vi /jffs/vpnup.sh
Adicione o seguinte ao script:
#!/bin/sh # Script to be run when the VPN is brought up # Use the VPN to route all packets through the tunnel. iptables -t nat -A PREROUTING -s 0.0.0.0/0 -d YYY.YYY.YYY.YYY -j WANPREROUTING # Apply the port forwarding rules to the tunnel. iptables -I FORWARD 1 -i tun11 -s 0.0.0.0/0 -d 0.0.0.0/0 -m state --state NEW -j wanin
Salve e saia do vi digitando
Esc
,:
,w
,q
, thenEnter
.Torne o script legível e executável somente pelo root:
chmod 700 /jffs/vpnup.sh
Saia da sessão Telnet:
exit
Adicione a seguinte linha ao controle do formulário “Custom Configuration” emhttp://192.168.1.1/vpn-client.asp, na aba “Avançado”:
up /jffs/vpnup.sh
Salve as configurações.
(Re)inicie sua VPN.
Cada vez que a VPN for iniciada, o iptables deverá ser atualizado para rotear todo o tráfego através da VPN e aplicar as regras de encaminhamento de porta ao seu túnel.
Alguns comandos úteis para depurar:
ip addr show
(noRoteador)ip route show
(noRoteador)iptables -nvL
(noRoteador)iptables -t nat -nvL
(noRoteador)tcpdump -ni any port 80
(noServidor)
Espero que ajude ou ajude.