Linux 2.6 / Netfilter / Netmap com múltiplos destinos

1

Eu quero criar uma conexão VPN para outra rede, mas temos que mapear nossos endereços (172.16.0.0/22) para um novo IP, porque a rede de destino também está usando nossos IPs. Então, tentamos configurar essa conexão com o destino NETMAP. Queremos acessar serviços em 3 redes no destino: 1.1.0.0/17, 3.3.0.0/16, 5.5.0.0/16 (apenas um exemplo!) Também não é possível mapear nossa rede 1: 1, mas temos apenas um endereço IP aceito pela rede de destino (192.168.72.1). Eu tenho as seguintes regras nat configuradas:

Chain eth0_in (1 references)
target     prot opt source               destination         
NETMAP     all  --  1.1.0.0/16        192.168.72.1        172.16.0.0/22
NETMAP     all  --  3.3.0.0/16        192.168.72.1        172.16.0.0/22
NETMAP     all  --  5.5.0.0/16        192.168.72.1        172.16.0.0/22

Chain eth0_masq (1 references)
target     prot opt source               destination         
MASQUERADE  all  --  172.16.0.0/16        anywhere            policy match dir out pol none 
SNAT       all  --  172.16.0.0/16        anywhere            policy match dir out pol none to:192.168.72.1 

Chain eth0_out (1 references)
target     prot opt source               destination         
NETMAP     all  --  172.16.0.0/22        1.1.0.0/16       192.168.72.1/32
NETMAP     all  --  172.16.0.0/22        3.3.0.0/16       192.168.72.1/32
NETMAP     all  --  172.16.0.0/22        5.5.0.0/16       192.168.72.1/32

Isso funciona parcialmente. O primeiro endereço acessado depois de um recarregamento do iptables funciona, mas todos os outros endereços não estão funcionando. por exemplo

telnet 1.1.0.1 works
telnet 3.3.0.1 fails

- recarrega todos os iptables

telnet 3.3.0.1 works
telnet 1.1.0.1 fails

O que está errado? É possível mapear uma rede para um IP para vários destinos?

    
por Roland Spatzenegger 29.09.2016 / 14:05

1 resposta

0

Houve alguma interação indesejada com um túnel ipsec também configurado no sistema. Depois de desativá-lo, o mapa funcionou perfeitamente como pretendido. Após alguma inspeção, encontramos o erro no nível da política, que foi definido como obrigatório em vez de exclusivo. Ativar o túnel ipsec novamente com "unique" resolveu o problema.

    
por 24.10.2016 / 17:35

Tags