Port forward iptables do linux

1

Minha configuração de rede atual consiste em um nic físico eth1 recebendo meu ip público do modem. Em seguida, tenho máquinas virtuais kvm / qemu em execução em uma rede virtual usando o intervalo de IP 192.168.122.0 - 200 witch, que é a rede NAT padrão criada pelo kvm. Meu problema é que eu tenho um servidor virtual executando meu servidor OpenVPN que precisa estar acessível fora da LAN. O servidor VPN tem um ip estático de 192.168.122.4 . Eu gostaria de portar as portas de encaminhamento 943,1194 para o meu servidor vpn, como eu faria isso no iptables linux?

NOTA: as seguintes regras foram adicionadas ao iptables por kvm: Eu também tenho outras regras para filtragem, mas não acho que sejam necessárias para mostrar.

:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE
-A POSTROUTING -p udp -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -p tcp -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 -d 255.255.255.255/32 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 -d 224.0.0.0/24 -j RETURN
-A POSTROUTING -s 192.168.122.93/32 -j SNAT --to-source (my public ip)    
    
por Tristan Vigil 28.07.2015 / 23:35

1 resposta

0

O seguinte deve fazer o truque, levará todo o tráfego em sua interface pública para as portas VPN e alterará o destino para sua máquina VPN.

iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dports 943, 1194 -j DNAT --to 192.168.122.4
iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dports 943, 1194 -j DNAT --to 192.168.122.4

Este asummes você não tem regras para filtrar o seu encaminhamento. Se você fizer a seguinte linha permitirá todo o tráfego do exterior para sua máquina VPN.

iptables -A FORWARD -i eth1 -d 192.168.122.4 -j ACCEPT
    
por 29.07.2015 / 10:12