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
: /)