невозможно установить исходный маршрут - RTNETLINK отвечает: Нет такого процесса (IPsec / strongswan)

В основном я пытаюсь подключить pfSense к EdgeRouter через IPsec site2site.
(общедоступные IP-сети запутаны с помощью '1.2.')

             [pfsense] <-> [edgerouter]  
public: 1.2.156.229/30 <-> 1.2.112.249/30
tunnel: 10.5.44.100/24 <-> 10.20.30.100/24

Настройки IPsec на обоих сайтах:
фаза1: IKEv2 PSK AES128 SHA1 DH2
фаза 2: ESP AES128 SHA1

EdgeRouter имеет доступ к Интернету через OLSR с ячеистой маршрутизацией, поэтому его шлюз обычно нелокальный и также может изменяться при изменении ячеистой сети. Это предусмотрено OLSR, поэтому в этой настройке нет ничего плохого в том, что шлюз не находится в той же подсети.

Туннель / соединение установлено, но нет трафика, проходящего через него, поэтому после повышения уровня журнала ядра strongswan и покопавшись в charon.log на обоих сайтах, я обнаружил проблему с настройкой маршрутов на EdgeRouter:

charon.log на edgerouter:

Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1> getting a local address in traffic selector 10.20.30.0/24
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1> using host 10.20.30.100
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1> sending RTM_GETROUTE 207: => 52 bytes @ 0x711f80a8
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>    0: 34 00 00 00 1A 00 01 00 CF 00 00 00 6A 6B 00 00  4...........jk..
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   16: 02 00 00 00 00 00 00 00 00 00 00 00 08 00 10 00  ................
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   32: FF FF FF FF 08 00 07 00 4E 29 70 F9 08 00 01 00  ........N)p.....
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   48: C1 EE 9C E5                                      ....
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1> received RTM_NEWROUTE 207: => 112 bytes @ 0x604f58
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>    0: 70 00 00 00 18 00 00 00 CF 00 00 00 6A 6B 00 00  p...........jk..
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   16: 02 20 00 00 FE 00 00 01 00 02 00 00 08 00 0F 00  . ..............
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   32: FE 00 00 00 08 00 01 00 C1 EE 9C E5 08 00 04 00  ................
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   48: 0A 00 00 00 08 00 07 00 4E 29 70 F9 08 00 05 00  ........N)p.....
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   64: 4E 29 76 75 08 00 10 00 FF FF FF FF 24 00 0C 00  N)vu........$...
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   80: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   96: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1> using 1.2.118.117 as nexthop to reach 1.2.156.229/32
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1> 1.2.112.249 is on interface br0
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1> installing route: 10.5.44.0/24 via 1.2.118.117 src 10.20.30.100 dev br0
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1> getting iface index for br0
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1> sending RTM_NEWROUTE 208: => 60 bytes @ 0x711f8090
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>    0: 3C 00 00 00 18 00 05 06 D0 00 00 00 6A 6B 00 00  <...........jk..
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   16: 02 18 00 00 DC 04 00 01 00 00 00 00 08 00 01 00  ................
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   32: 0A 05 2C 00 08 00 07 00 0A 14 1E 64 08 00 05 00  ..,........d....
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   48: 4E 29 76 75 08 00 04 00 0A 00 00 00              N)vu........
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1> received (2) 208: => 80 bytes @ 0x604fe8
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>    0: 50 00 00 00 02 00 00 00 D0 00 00 00 6A 6B 00 00  P...........jk..
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   16: FD FF FF FF 3C 00 00 00 18 00 05 06 D0 00 00 00  ....<...........
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   32: 6A 6B 00 00 02 18 00 00 DC 04 00 01 00 00 00 00  jk..............
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   48: 08 00 01 00 0A 05 2C 00 08 00 07 00 0A 14 1E 64  ......,........d
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1>   64: 08 00 05 00 4E 29 76 75 08 00 04 00 0A 00 00 00  ....N)vu........
Mar  4 23:27:27 12[KNL] <peer-1.2.156.229-tunnel-1|1> unable to install source route for 10.20.30.100
Mar  4 23:27:27 12[IKE] <peer-1.2.156.229-tunnel-1|1> CHILD_SA peer-1.2.156.229-tunnel-1{2} established with SPIs c042bc69_i c46929b0_o and TS 10.20.30.0/24 === 10.5.44.0/24
Mar  4 23:27:40 11[KNL] creating roam job due to route change
Mar  4 23:27:40 11[KNL] <peer-1.2.156.229-tunnel-1|1> sending RTM_GETROUTE 209: => 52 bytes @ 0x719f8888

Я попытался воспроизвести ошибку, чтобы понять, что происходит не так.

# # reproduce error:
# ip route add 10.5.44.0/24 via 1.2.118.117 src 10.20.30.100 dev br1
RTNETLINK answers: No such process

# # check default route and local ip address:
# ip route show | grep 0.0.0.0
0.0.0.0/1 via 1.2.118.117 dev br0  metric 2 onlink
# ip -f inet address show br0
10: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    inet 1.2.112.249/30 brd 1.2.112.251 scope global br0
# ip -f inet address show br1
11: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1462 qdisc noqueue state UP group default
    inet 10.20.30.100/24 brd 10.20.30.255 scope global br1

# # try to narrow down the problem
# ip route add 10.5.44.0/24 via 1.2.118.117 src 10.20.30.100 dev br1
RTNETLINK answers: No such process
# ip route add 10.5.44.0/24 src 10.20.30.100 dev br1
# ip route change 10.5.44.0/24 via 1.2.118.117 src 10.20.30.100 dev br1
RTNETLINK answers: No such process

Теперь я не понимаю, чего не хватает rtnetlink или что не так с шлюзом?

Поиск ошибок strongswan или rtnetlink не дает ничего особенного в качестве ответа, Следующее предположение: я что-то пропустил при настройке этого туннеля? EdgeRouter имеет интерфейс моста (br0) с общедоступным IP-адресом для доступа в Интернет и второй интерфейс моста (br1) с локальным IP-адресом для сети управления.

Также я проверил эту статью, описывающую IPsec на EdgeRouter и мою конфигурация почти такая же, за исключением того, что я использую мостовые интерфейсы и IKEv2 (вместо описанного IKEv1).

Углубленное копание привело меня к Что МОЖЕТ вызвать «RTNETLINK отвечает: Нет такого процесса» при добавлении маршрута и теперь я не понимаю, что может быть не так.

1
задан 13 April 2017 в 15:14
1 ответ

solve the problem.

поскольку демон strongswan хотел установить следующий маршрут:

ip route add 10.5.44.0/24 via 1.2.118.117 src 10.20.30.100 dev br0

, который не работал, в соответствии с Шлюзом в другой подсети на Linux я установил следующие два маршрута на Edgerouter:

ip route add 10.5.44.101 dev br1
ip route add 10.5.44.0/24 via 10.5.44.101 dev br1

10.5.44.101 - это внутренняя удаленная сторона туннеля ipsec. интерфейс br1 необходимо использовать, так как туннель работает с ним из-за определенной локальной сети.

hth

0
ответ дан 4 December 2019 в 05:07

Теги

Похожие вопросы