Configuração de encaminhamento do cliente Tomato OpenVPN

Configuração de encaminhamento do cliente Tomato OpenVPN

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.


  1. 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).

  2. Telnet no seu roteador:

    telnet 192.168.1.1
    
  3. Faça login com roota senha que você costuma usar para acessar o Tomato.

  4. Crie e edite um script em /jffs/:

    vi /jffs/vpnup.sh
    
  5. 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
    
  6. Salve e saia do vi digitando Esc, :, w, q, then Enter.

  7. Torne o script legível e executável somente pelo root:

    chmod 700 /jffs/vpnup.sh
    
  8. Saia da sessão Telnet:

    exit
    
  9. 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
    
  10. Salve as configurações.

  11. (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.

informação relacionada