Назад | Перейти на главную страницу

Удаленный конец транспорта IPSec `` постоянно приклеен '' к кольцевой проверке после некоторой возни с GRE

Итак, мне удалось получить транспорт 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.