IPsec StrongSwan nenavaze spojeni

Miroslav Lachman 000.fbsd at quip.cz
Thu Apr 28 19:23:50 CEST 2022


Nejsem si uplne jisty, jestli je tenhle problem specificky pro FreeBSD, 
protoze jiny system nemam. Kazdopadne se moje pozorovani rozchazi s tim, 
co tvrdi dokumentace a ruzna HowTo.

Mam stroj, ktery se pres IPSec pripojuje do nekolika dalsich siti. 
Konfigurace je pomerne jednoducha a "funkcni" za predpokladu, ze spojeni 
rucne nahodim prikazem "ipsec up conn1", "ipsec up conn2" atd.

conn conn1
     keyexchange=ikev2
     ikelifetime=3h
     ike=aes256-sha256-ecp384
     esp=aes256-sha256-ecp384
     lifetime=1h
     authby=secret
     type=tunnel
     left=AA.BB.CC.DD
     leftid=AA.BB.CC.DD
     leftsubnet=10.11.12.13/24
     right=MM.NN.OO.PP
     rightid=MM.NN.OO.PP
     rightsubnet=192.168.5.60
     #auto=start
     auto=route
     dpdaction=restart
     dpddelay=30s
     closeaction=restart

Podobne vypadaji i ostatni spojeni, ale maji jine IP adresy a ike / esp 
algoritmy.

Muj problem je, ze pokud tam mam nastaveno auto=route, tak by to podle 
dokumentace melo nainstalovat kernal trap a pokud system zachyti nejaky 
trafik do te destinace a spojeni jeste neni navazane, tak ho navaze.
https://wiki.strongswan.org/projects/strongswan/wiki/ConnSection
U me se ale nic nestane, spojeni se nenavaze, ping z pocitace v LAN na 
ten vzdaleny konec neprojde.
Pokud spustim "ipsec up conn1", tak se spojeni navaze a packety zacnou z 
LAN prochazet.

Pokud tam ale nastavim auto=start a reloadnu konfiguraci "ipsec reload", 
tak se okamzite navaze spojeni a muzu z LAN pingat ten vzdaleny host.

Puvodne jsem to v konfiguraci mel nastavene jako auto=start, ale pokud 
dojde k ukonceni spojeni z protejsi strany, ztrate konektivity, nebo 
jinym problemum, tak uz se spojeni samo neobnovi. Zda se, ze na to 
nefunguje ani dpdaction=restart.

Nasel jsem treba i ticket https://wiki.strongswan.org/issues/825 nebo 
ServerFault
https://serverfault.com/questions/556885/using-strongswan-whats-the-difference-between-auto-add-and-auto-start

kde se pise:

What usually works best is to use auto=route for your connection. The 
kernel will (re-)trigger the connection if it failed for whatever 
reason, and ensures that no traffic passes unencrypted

A tak me napada, jestli nemam necospatne, nebo jestli tohle chovani neni 
zalezitosti Linux vs FreeBSD? Klidne si dovedu predstavit, ze na 
Linuxovem kernelu se tohle muze chovat jinak, nez na FreeBSD.

Provozujete nekdo IPsec se StrongSwan na FreeBSD a funguje vam 
auto=route tak, jak je popisovano?

Mirek


More information about the Users-l mailing list