Usando iptables para rotear todos os dados internos para tun0 da eth0

1

Procurando por algumas respostas;)

Estou executando o Zentyal em um gateway. O gateway também é um cliente OpenVPN, para um servidor eu corro para fora de outro país. Interfaces são assim:

Externo: eth1 (dhcp do modem 192.168.1.2) Interno: eth0 (estático 10.1.1.1) OpenVPN: tun0 (do servidor OpenVPN 10.7.0.6)

Eu conectei a VPN e ela funciona. Eu posso pingar o servidor via

# ping 10.7.0.1

Da máquina do gateway.

Estas são as regras que eu tenho no servidor, elas funcionaram bem até agora

iptables -t nat -A POSTROUTING -i tun0 -o eth0 -j SNAT --to-source # Generated by iptables-save v1.4.8 on Sat Mar 23 04:41:56 2013
*mangle
:PREROUTING ACCEPT [2036011512:705237252333]
:INPUT ACCEPT [332186284:78285843071]
:FORWARD ACCEPT [1703824348:626951360931]
:OUTPUT ACCEPT [405392399:436227187419]
:POSTROUTING ACCEPT [2109216747:1063178548350]
COMMIT
# Completed on Sat Mar 23 04:41:56 2013
# Generated by iptables-save v1.4.8 on Sat Mar 23 04:41:56 2013
*filter
:INPUT ACCEPT [332186284:78285843071]
:FORWARD ACCEPT [1019886723:183138161264]
:OUTPUT ACCEPT [405392397:436227186606]
-A FORWARD -i tun0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
COMMIT
# Completed on Sat Mar 23 04:41:56 2013
# Generated by iptables-save v1.4.8 on Sat Mar 23 04:41:56 2013
*nat
:PREROUTING ACCEPT [12528325:854813836]
:POSTROUTING ACCEPT [2920518:161107345]
:OUTPUT ACCEPT [882245:53661537]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Sat Mar 23 04:41:56 2013

Eu não acredito que o problema seja com o servidor, como eu já trabalhei no passado, com as mesmas regras. Além disso, se eu me conectar diretamente com uma única máquina, parece funcionar bem em NetworkManager

Aqui está a configuração do meu cliente OpenVPN:

client
dev tun
proto udp
remote <server IP> 1194
resolv-retry infinite
redirect-gateway def1
nobind
user nobody
group nogroup
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client_home.crt
key /etc/openvpn/client_home.key
script-security 3
ns-cert-type server
comp-lzo
verb 3
mute 20
cipher AES-256-CBC
keysize 256

Então, agora, o que eu quero fazer é canalizar toda a LAN (off eth0 10.1.1.1/32) através do tun0 (openvpn 10.7.0.6). Não consigo fazer o tun0 aparecer no Zenyal, por isso não posso configurá-lo como o gateway padrão, etc.

Alguém por favor pode me ajudar a escrever um conjunto de regras iptables para a máquina de gateway forçar todos os dados através da conexão OpenVPN?

Obrigado, espero que consiga resolver isso. Você sabe, toda a privacidade está começando a nos assustar um pouco;)

    
por StarBlessed 21.04.2013 / 06:36

0 respostas