Rote pacotes de uma VPN para outra

3

Eu tenho dois servidores OpenVPN (10.8.0.0 e 10.9.0.0) configurados no meu servidor OpenSUSE. Dentro de uma rede, cada computador é visível para qualquer outro, mas eu gostaria de fazer com que os computadores sejam visíveis em todas as redes. Eu gostaria de rotear os pacotes assim: quando um usuário (digamos 10.8.0.6) pinga um endereço na outra VPN (10.9.0.6), os pacotes são roteados para o 10.9.0.1 e, em seguida, para o computador apropriado neste VPN Como faço para conseguir isso usando iptables ou uma ferramenta diferente? Eu tentei os comandos no final de esta seção sem sucesso.

    
por Mike 20.12.2011 / 13:45

1 resposta

3

O projeto DD-WRT tem alguns exemplos de OpenVPN em seu wiki que tem uma configuração de exemplo que deve fazer exatamente o que você quer no Configuração avançada: várias redes roteadas seção.

As principais partes que você deve ter em mente estão neste trecho:

Since both will be connecting to the same server, you cannot use the same port number for both clients, so we will be giving port 1999 for the first client and 2000 for the second client. Also, we need to tell Client1 how to reach Client2's subnet and vice-versa. This means including a second routing entry in our configuration.

O que você provavelmente precisará adicionar à sua configuração existente é o seguinte:

Configuração do OpenVPN para clientes no 10.8.0.0

port 2000
# Create routes
route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.1
route add -net 10.9.0.0 netmask 255.255.255.0 gw 10.8.0.1

config do iptables para clientes no 10.8.0.0

# Open firewall holes
iptables -I INPUT 2 -p udp --dport 2000 -j ACCEPT
iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT

Configuração do OpenVPN para clientes em 10.9.0.0

port 1999
# Create routes
route add -net 10.9.0.0 netmask 255.255.255.0 gw 10.9.0.1
route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.9.0.1

config do iptables para clientes no 10.9.0.0

# Open firewall holes
iptables -I INPUT 2 -p udp --dport 1999 -j ACCEPT
iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT

Configuração do OpenVPN para o servidor

# Create routes
route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.6
route add -net 10.9.0.0 netmask 255.255.255.0 gw 10.9.0.6

config do iptables para o servidor

# Open firewall holes for Client1
iptables -I INPUT 2 -p udp --dport 2000 -j ACCEPT
iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT

# Open firewall holes for Client2
iptables -I INPUT 2 -p udp --dport 1999 -j ACCEPT
iptables -I FORWARD -i br0 -o tun1 -j ACCEPT
iptables -I FORWARD -i tun1 -o br0 -j ACCEPT

# Allow Forwarding packets between Client1 and Client2
iptables -I FORWARD -i tun0 -o tun1 -j ACCEPT
iptables -I FORWARD -i tun1 -o tun0 -j ACCEPT

Observe que essas instruções são para configurar o roteamento Ethernet, que é mais fácil de configurar e, provavelmente, o que você deseja para o seu caso. Você deve, no entanto, revisar o diferenças entre bridging e routing , e a visão geral de como configurar Ethernet Bridging se você acha que precisa dos recursos que a bridging oferece.

    
por 20.12.2011 / 15:49