Итак, мне удалось получить транспорт IPSec через ESP между двумя хостами, используя racoon
: "локальный" хост, 1.1.1.1
, и пульт, 2.2.2.2
. Это работало только для ICMP (другой трафик игнорировал SA), но это отдельная проблема. Чтобы попытаться заставить весь трафик проходить через безопасный транспорт, я решил настроить туннель GRE, изменив свой setkey
конфигурация из
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;
к
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;
вместе с flush; spdflush
заголовок.
По сути, после того, как это заработало, я настроил туннели GRE с обеих сторон, которые были настроены правильно, насколько мне известно, но которые, насколько я помню, не обрабатывались IPSec. (Адреса туннеля / конечной точки были правильными, маршрутизация была на месте). В любом случае я уничтожил gre1
с этой целью и down
ред gre0
, который не кажется разрушаемым.
Теперь весь трафик в 2.2.2.2
перенаправлен на lo
(согласно tcpdump), который не связан с этим адресом. Здесь нет route
за это, ни за что iptables
пересылка или что-то в этом роде, и ничего в /etc/hosts
. Это сохраняется независимо от того, racoon
работает - даже если он возвращается к точно такой же конфигурации, которая работала с ICMP (т.е. первая конфигурация выше).
Я бы хотел вернуться в «правильное» состояние без перезагрузки, но более того, меня интересует, как такое поведение возможно, учитывая то, что я сказал до сих пор. С радостью предоставлю дополнительную информацию, если она окажется полезной.
РЕДАКТИРОВАТЬ Дополнительный вывод по запросу 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
Вы заметите 10.0.0.1
там в ip address
, это была локальная конечная точка туннеля, который я пытался создать. (Кроме того, чтобы сохранить лицо здесь, я не видел соответствующего вывода с ip route show
, конечно, не то, что мы видим здесь с ip route get 2.2.2.2
: /)
Я предлагаю выполнить следующие команды для очистки вашей сети:
Очистить наборы преобразований ipsec
ip xfrm policy flush
ip xfrm state flush
Очистить IP-адреса от неиспользуемых gre
Туннель:
ip address flush dev gre0
Это должно удалить ненужные части из вашей текущей сетевой конфигурации. Убедитесь, что вы удалили этот материал из файлов конфигурации вашего дистрибутива.
редактировать: Удален @NONE из интерфейса gre0 в соответствии с комментарием A__A__0.