Encaminhamento de IP Linux para OpenVPN - configuração correta do firewall?

Encaminhamento de IP Linux para OpenVPN - configuração correta do firewall?

Tenho o OpenVPN rodando em uma máquina Linux. O servidor VPN possui um endereço IP público (xxxx) e os clientes VPN recebem endereços no dispositivo "tun" em 10.8.0.0\24. Eu tenho uma regra IPTables para mascarar NAT 10.8.0.0\24 no endereço IP público.

Para colocar o servidor VPN em execução, tive que ativar o encaminhamento de IP (então defini net.ipv4.conf.default.forwarding=1).

... Em outras palavras, é exatamente o que o tutorial do OpenVPN diz para fazer, sem truques sofisticados.

Tudo isso funciona, mas estou preocupado com a parte de ativação do encaminhamento. EUpensara máquina agora encaminhará pacotes de qualquer endereço IP para qualquer endereço IP, o que não parece adequado. Por ter um IP acessível publicamente, isso é particularmente ruim.

Há alguma sugestão de regra de firewall para restringir o comportamento indesejado de encaminhamento? Acho que qualquer resposta será uma ou mais regras IPTables na cadeia FORWARD, mas é aqui que fiquei preso.

obrigado!

Responder1

Se você usar essas regras para encaminhar tabela, tudo bem.

-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.8.0.0/24 -j ACCEPT
-A FORWARD -j REJECT

Você pode colocar as regras no arquivo /etc/sysconfig/iptables e reiniciar o firewall. Para teste de linha de comando, primeiro faça

 iptables -F 

para remover a rejeição padrão de encaminhamento de tráfego e adicionar 'iptables' antes de cada uma das três regras acima.

Responder2

Aqui está um subconjunto do que configurei no meu gateway openvpn:

iptables -A FORWARD -i tun0 -o tun0 -j ACCEPT # vpn to vpn
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT # vpn to ethernet
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT # ethernet to vpn

Observe que este é apenas um subconjunto; o resto da regra faz coisas NAT padrão.

informação relacionada