OpenVPN Endpoint to endpoint usando os IPs reais

1

Eu quero conectar dois servidores entre si pela Internet. Por vários motivos, não consigo usar o IPSec para isso.

Eu gostaria que o tráfego fosse criptografado de forma transparente como se eu estivesse usando o modo de transporte IPSec. Eu decidi usar o roteamento para isso (mas estou aberto a alternativas melhores)

Meu túnel está em 10.255.255.0/30 , A usa .1 , B usa .2 . Digamos que o servidor A esteja em 192.168.0.100 e o servidor B 172.16.0.200 .

Embora eu possa adicionar uma rota para criptografar todo o tráfego (usando A ip route add 172.16.0.200/32 dev tun0 via 10.255.255.2 ), isso mata o túnel porque o tráfego do OpenVPN está usando o mesmo IP remoto para manter o túnel.

Eu preciso de uma maneira de encaminhar o túnel OpenVPN real através de eth0 , mas use tun0 para transportar todo o tráfego entre o servidor A e B. Eu tenho o ip_forward habilitado em ambos os servidores e regras de firewall apropriadas para permitir o tráfego, mas Não sei por onde começar no iptables para fazer isso.

    
por gparent 03.04.2013 / 06:08

2 respostas

3

Eu acho que você precisa de uma tabela de roteamento adicional para todo o tráfego entre dois hosts, exceto o openvpn. Você pode tentar algo assim:

iptables -t mangle -A OUTPUT -d 172.16.0.200/32 -p <vpn_protocol> ! --dport <vpn_port> -j MARK --set-mark 2

ip route add default via 10.255.255.2 dev tun0 table 2

ip rule add fwmark 2 table 2

nos dois lados do seu túnel

    
por 03.04.2013 / 10:22
1

Você deve adicionar uma rota à rede remota por meio da interface de encapsulamento e de uma rota mais específica, garantindo que o tráfego para o gateway remoto do OpenVPN não seja enviado pela interface de encapsulamento. Exemplo:

ip route add 192.168.0.0/24 via 10.255.255.2 dev tun0
ip route add 192.168.0.100 via 172.16.0.1 dev eth0 

O primeiro ip route está adicionando uma rota à rede de destino, enquanto o segundo ip route está adicionando uma rota de host ao gateway OpenVPN localizado na mesma rede. 172.16.0.1 é o gateway com uma rota válida para 192.168.0.100 e eth0 é a interface local que se conecta à mesma rede que o gateway. Observe que o primeiro ip route seria desnecessário se você configurasse o OpenVPN com as instruções route e push "route ..." , pois ele seria adicionado pelo daemon OpenVPN na inicialização / configuração bem-sucedida da conexão.

    
por 03.04.2013 / 08:45