openvpn client impedindo que o servidor http exiba páginas da web na WAN

2

No começo eu pensei que este era um IPTABLES mal configurado, mas não é. Observe que isso não é um problema com solicitações da Web da LAN, somente WAN.

Eu desativei temporariamente todas as cadeias de iptables, exceto o registro de todas as entradas e saídas. O iptables registra que as solicitações de entrada estão chegando, mas nenhuma resposta está saindo. Eu tentei minha porta desejada 80, mas também um punhado de portas mais altas também.

Uma vez que eu encerro o cliente openvpn, o servidor web escutando na porta 80 (nginx) é capaz de servir páginas da web para todos os IPs externos da minha LAN.

Não consigo encontrar nenhum log na máquina que forneça uma resposta clara. os registros nginx indicam, ou não, que nenhuma comunicação chega a ele.

A impressão que me resta é que o openvpn impede que todos os ips da WAN cheguem a qualquer porta. Existe uma maneira de evitar esse comportamento? pelo menos na porta 80?

Tabela de roteamento antes da execução do openvpn:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Tabela de roteamento durante a execução do openvpn:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.10.10.57     0.0.0.0         UG    0      0        0 tun0
10.10.10.1      10.10.10.57     255.255.255.255 UGH   0      0        0 tun0
10.10.10.57     0.0.0.0         255.255.255.255 UH    0      0        0 tun0
63.142.161.7    192.168.0.1     255.255.255.255 UGH   0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Update2: Depois de adicionar o route-nopull ao arquivo de configuração do cliente openvpn, eu pude servir páginas da web, mas a vpn se tornou inútil. Quase lá, mas eu não sei o suficiente sobre rotas para corrigir esse problema.

    
por Patrick Bateman 26.07.2013 / 01:59

1 resposta

0

Sua configuração do OpenVPN permite obter o gateway padrão do sistema remoto.

Eu pretendo, que no ponto de rede, onde está fazendo um NAT (no modem ADSL ou somwhere no servidor ISP) você tenha mapeamento de endereço público para seu servidor interno.

E há um problema. Imagine isso:

Alguém da Internet com endereço IP público A.A.A.A deseja ver as páginas do seu servidor, que gostam de estar no endereço público B.B.B.B. Ponto NAT reescreve o endereço B.B.B.B para endereço real, mas não público, do seu servidor, digamos 192.168.0.2, mas o endereço de origem ainda é o mesmo - A.A.A.A. Seu servidor atende a esta solicitação e enviará uma resposta - mas a resposta será enviada para o endereço A.A.A.A do endereço 192.168.0.2 - através do seu gateway padrão!

Se este cenário continuar sem o OpenVPN, o pacote passa pelo gateway padrão de 192.168.0.1 e em algum lugar será reescrito para ter o endereço de origem B.B.B.B em vez de 192.168.0.2. Tudo bem, vai bem.

Mas se o seu cenário continuar com o OpenVPN, seu servidor terá que enviar pacotes para A.A.A.A via gateway padrão - mas isso não é 192.168.0.1, mas 10.10.10.57. E neste caso não posso dizer, o que será feito com este pacote. Será reescrito para outro endereço de origem, digamos, C.C.C.C? Ou será descartado?

Por que você quer ter o gateway padrão no site oposto? Você precisará apenas de rota, que vai caber em endereços de sites opostos, digamos 10.10.10.0/24 (talvez outro, este é apenas um exemplo) ...

Na configuração do servidor OpenVPN você tem que remover a linha como:

push "redirect-gateway def1 bypass-dhcp"
    
por 26.07.2013 / 06:50

Tags