O fim remoto do transporte IPSec é 'permenemente colado' ao loopback depois de alguns mexer com o GRE

2

Portanto, consegui obter o transporte IPSec através de ESP entre dois hosts usando racoon : o host 'local', 1.1.1.1 e o remoto, 2.2.2.2 . Só funcionou para o ICMP (outro tráfego ignorou o SA), mas esse é um problema separado. Para tentar fazer todo o tráfego atravessar o transporte seguro, decidi configurar um túnel GRE, alterando minha configuração setkey de

spdadd 2.2.2.2 1.1.1.1 any -P in ipsec esp/transport//require;
spdadd 1.1.1.1 2.2.2.2 any -P out ipsec esp/transport//require;

para

spdadd 2.2.2.2 1.1.1.1 gre -P in ipsec esp/transport//require;
spdadd 1.1.1.1 2.2.2.2 gre -P out ipsec esp/transport//require;

junto com o cabeçalho flush; spdflush .

Essencialmente, o que eu fiz depois disso foi configurar túneis GRE em ambos os lados, que foram configurados corretamente com o melhor de meu conhecimento, mas que não acabaram sendo processados pelo IPSec, até onde eu me lembro. (Os endereços de túnel / ponto final estavam corretos, o roteamento estava no lugar). De qualquer forma, eu destruí gre1 neste fim e down ed gre0 , que não parece ser destruível.

Agora, todo o tráfego para 2.2.2.2 é redirecionado para lo (de acordo com o tcpdump), que não está associado a esse endereço. Não há route para ele, nem qualquer iptables de encaminhamento ou qualquer coisa desse tipo e nada em /etc/hosts . Isso persiste independentemente do fato de racoon estar em execução - mesmo que seja retornado exatamente à mesma configuração que funcionou com o ICMP (ou seja, a primeira configuração acima).

Eu gostaria de voltar ao estado 'correto' sem reiniciar, mas mais do que isso estou interessado em saber como esse comportamento é possível, dado o que eu disse até agora. Feliz em fornecer detalhes adicionais se eles forem úteis.

EDITAR Saída adicional, de acordo com o pedido da Lairsdragon:

ip address

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: dummy0:  mtu 1500 qdisc noop state DOWN group default 
    link/ether 0e:09:76:da:e2:22 brd ff:ff:ff:ff:ff:ff
3: eth0:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether f2:3c:91:50:42:a1 brd ff:ff:ff:ff:ff:ff
    inet 1.1.1.1/24 brd 1.1.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 ---/64 scope global mngtmpaddr dynamic 
       valid_lft 2591995sec preferred_lft 604795sec
    inet6 ---/64 scope link 
       valid_lft forever preferred_lft forever
4: teql0:  mtu 1500 qdisc noop state DOWN group default qlen 100
    link/void 
5: tunl0@NONE:  mtu 1480 qdisc noop state DOWN group default 
    link/ipip 0.0.0.0 brd 0.0.0.0
6: gre0@NONE:  mtu 1476 qdisc noqueue state DOWN group default 
    link/gre 1.1.1.1 brd 2.2.2.2
    inet 2.2.2.2/8 scope global gre0
       valid_lft forever preferred_lft forever
    inet 10.0.0.1/32 scope global gre0
       valid_lft forever preferred_lft forever
7: gretap0@NONE:  mtu 1462 qdisc noop state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
8: ip_vti0@NONE:  mtu 1428 qdisc noop state DOWN group default 
    link/ipip 0.0.0.0 brd 0.0.0.0
9: ip6_vti0:  mtu 1500 qdisc noop state DOWN group default 
    link/tunnel6 :: brd ::
10: sit0:  mtu 1480 qdisc noop state DOWN group default 
    link/sit 0.0.0.0 brd 0.0.0.0
11: ip6tnl0:  mtu 1452 qdisc noop state DOWN group default 
    link/tunnel6 :: brd ::
12: ip6gre0:  mtu 1448 qdisc noop state DOWN group default 
    link/gre6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00

ip route show 2.2.2.2

local 2.2.2.2 dev lo  src 2.2.2.2
    cache  

ip xfrm policy

src 1.1.1.1/32 dst 2.2.2.2/32 proto tcp 
        dir out priority 2147483648 
        tmpl src 0.0.0.0 dst 0.0.0.0
                proto esp reqid 0 mode transport
src 1.1.1.1/32 dst 2.2.2.2/32 proto udp 
        dir out priority 2147483648 
        tmpl src 0.0.0.0 dst 0.0.0.0
                proto esp reqid 0 mode transport
src 1.1.1.1/32 dst 2.2.2.2/32 proto icmp 
        dir out priority 2147483648 
        tmpl src 0.0.0.0 dst 0.0.0.0
                proto esp reqid 0 mode transport
src 2.2.2.2/32 dst 1.1.1.1/32 
        dir fwd priority 2147483648 
        tmpl src 0.0.0.0 dst 0.0.0.0
                proto esp reqid 0 mode transport
src 2.2.2.2/32 dst 1.1.1.1/32 
        dir in priority 2147483648 
        tmpl src 0.0.0.0 dst 0.0.0.0
                proto esp reqid 0 mode transport
src 0.0.0.0/0 dst 0.0.0.0/0 
        socket out priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
        socket in priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
        socket out priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
        socket in priority 0 

Você notará um 10.0.0.1 acima em ip address , esse era o ponto final local do túnel que eu estava tentando fazer. (Além disso, só para salvar a cara aqui, não vi nenhuma saída relevante com ip route show , certamente não o que vemos aqui com ip route get 2.2.2.2 : /)

    
por A__A__0 20.12.2014 / 16:31

1 resposta

0

Eu gosto de sugerir que exec os seguintes comandos para limpar seu material de rede:

Limpar os conjuntos de transformações ipsec

ip xfrm policy flush
ip xfrm state flush

Limpe os endereços IP do túnel gre não utilizado:

ip address flush dev gre0

Isso deve remover as partes indesejadas da sua configuração de rede em execução. Certifique-se de remover o material também dos arquivos de configuração do distros.

Editar : Removido o @NONE da interface gre0 de acordo com o comentário A__A__0.

    
por 20.12.2014 / 17:09

Tags