Servidor OpenVPN em execução no openvz. Como escrever regra iptables sem masquerade?

6

Estou configurando um VPS que está sendo executado no openvz como um servidor OpenVPN usando uma interface tun.

Estou tendo alguns problemas com a regra iptables, pois o MASQUERADE não está disponível.

Se o MASQUERADE estivesse disponível, eu escreveria as regras do iptables da seguinte forma:

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

No entanto, como não consigo usar o MASQUERADE, como posso reescrever essas regras usando SNAT ou DNAT?

obrigado antecipadamente

-------------- EDITAR ---------------

Obrigado à Olipro pela solução. Aqui estão as regras que funcionaram para mim:

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING  -s 10.8.0.0/24 -o venet0 -j SNAT --to-source 1.2.3.4

Onde 1.2.3.4 é o endereço IP público do servidor openvpn.

    
por Rich 01.09.2011 / 02:29

1 resposta

6

Você só precisa do MASQUERADE se o seu endereço IPv4 global mudar frequentemente (como no ADSL), caso contrário, o SNAT é geralmente preferível.

Em vez da regra MASQUERADE, use o SNAT assim:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source 1.2.3.4

substitua 1.2.3.4 pelo IP público real da VM ... também, eu esperaria que eth0 fosse veth0 ou venet0, já que é uma caixa OpenVZ.

    
por 01.09.2011 / 03:03