Tente:
iptables -t nat -A POSTROUTING -s 10.19.88.0/24 -o eth0 -j SNAT --to 11.12.13.2
Ou melhor ainda;)
iptables -t nat -A POSTROUTING -s 10.19.88.0/24 -j SNAT --to 11.12.13.2
Atualmente tenho um servidor openVPN com vários endereços IP externos.
Gostaria de ter todas as conexões VPN (interface tun0 e / ou intervalo de IPs 10.19.88.xx) para obter o segundo endereço IP externo como 'IP público', em vez do primeiro.
Como exemplo, usando endereços fictícios:
Deault eth0 address: 11.12.13.1 (server.domain.tld)
eth0:0 address: 11.12.13.2 (vpn.domain.tld)
Todas as conexões VPN estão atualmente usando 11.12.13.1, em vez de 11.12.13.2.
Existe alguma maneira de resolver isso (usando o iptables?)
Obrigado
iptables -t nat -A POSTROUTING -i tun0 -j SNAT --to 11.12.13.2
O problema com a resposta do rkthkr (além do caractere estranho na interface) é que ele corresponderia apenas aos pacotes vindos da sub-rede 10.19.88.0/24 que já estão saindo eth0: 0 e SNAT'ing-los.
Ao usar -i tun0
, você está identificando os pacotes apenas pela interface em que eles aparecem (suponho que seja o único tráfego vindo do tun0) e, em seguida, SNAT usando o mesmo IP de saída.
Você não pode usar "-i interface_name" com POSTROUTING.
-i nome_da_interface - > PREROUTING (de onde vem um pacote)
-o interface_name - > POSTROUTING (para onde um pacote vai)
Não seria melhor usar opções openvpn em vez de trazer iptables?
local 11.12.13.2
bind
mesmos problemas, iptables -t nat -A POSTROUTANDO -i tun0 -j SNAT - para 11.12.13.2 não trabalhando no debian 5