Eu tenho uma configuração openvpn que está funcionando muito bem. Existem cerca de 50 clientes conectados e tudo é muito prático. Eu preciso de um desses clientes para rotear todo o tráfego através da vpn. Eu configurei um ccd
para esse cliente em particular e adicionei o push "redirect-gateway def1"
a ele. A tabela de roteamento parece estar atualizada no cliente. Eu posso acessar todos os hosts no vpn, mas não consigo acessar qualquer outra coisa fora do vpn. Quando tracerouting do cliente, tudo vai para o gateway vpn, mas depois disso não mais. Eu acredito que o culpado é a configuração do iptables no servidor.
Esta é a configuração
- Eu tenho um openvpn usando a sub-rede 10.170.x.x com o gateway vpn em 10.170.0.1 (VPNGATEWAY)
- Eu tenho uma sub-rede diferente, 10.171.x.x, que obtém seu ip atribuído por meio de registros ccd (essa é a rede administrativa e tem 3 clientes)
- O cliente que eu quero ter todo o seu tráfego através da vpn é 10.171.0.1 (CLIENTE)
A partir de 10.171.0.1 (CLIENTE) Eu posso pingar 10.170.0.1 (VPNGATEWAY). Na verdade eu posso pingar todos os hosts em 10.170.x.xe 10.171.x.x. Mas não pode pingar 8.8.8.8.
Este é o conf iptables
Existem algumas regras e eu tirei para simplificar.
*filter
:INPUT DROP [1000:900000]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 127.0.0.1 -j ACCEPT
# here were some rules accepting certain ports 22, 80, etc
-A INPUT -p icmp -m icmp --icmp-type 8 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 13 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 30 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
# this is the client that needs internet thru the gateway
# i've tried to make as permissive as possible but still to no avail
-A INPUT -s 10.171.0.1 -j ACCEPT
-A FORWARD -s 10.171.0.1 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
Eu também tentei adicionar
iptables -t nat -A POSTROUTING -s 10.171.0.1 -o eth0 -j MASQUERADE
Mas ainda não há trabalho. Alguma idéia?