[Openswan Users] IP XFRM/Netkey/Stale Routes/%pass
Rick Olson
rick at yun.io
Sat Jun 9 04:39:27 EDT 2012
On 06/08/2012 12:17 PM, Martin Lambev wrote:
> Hi Rick,
>
> I'm into the exact same problem as you describe in your openswan
> mailing list.
>
> Reference:
>
>
> My post:
>
>
> [Openswan Users] ERROR: netlink XFRM_MSG_DELPOLICY response for flow
> eroute_connection delete included errno 2: No such file or directory
>
> https://lists.openswan.org/pipermail/users/2012-June/021668.html , I'm
> not going to any tech details, but the main problem remains even in
> openswan 2.6.38
>
> Your post:
>
>
> [Openswan Users] IP XFRM/Netkey/Stale Routes/%pass
>
> https://lists.openswan.org/pipermail/users/2010-September/019322.html
>
>
> #ip xfrm policy
> src 50.50.50.10/32 dst 116.55.126.226/32 proto udp sport 1701 dport 55103
> dir out priority 2080 ptype main
> tmpl src 0.0.0.0 dst 0.0.0.0
> proto esp reqid 16401 mode transport
> src 0.0.0.0/0 dst 0.0.0.0/0
> dir 4 priority 0 ptype main
> src 0.0.0.0/0 dst 0.0.0.0/0
> dir 3 priority 0 ptype main
> src 0.0.0.0/0 dst 0.0.0.0/0
> dir 4 priority 0 ptype main
> src 0.0.0.0/0 dst 0.0.0.0/0
> dir 3 priority 0 ptype main
>
> The problem described by you match exactly the trouble that I have, I
> also try to dig it to the code and compare old vs. new versions 2.6.26
> to 2.6.38 kernel_netlink.c file but because I do not understand C I'm
> lost….
>
> tested with EPEL Openswan 2.6.32 - same issue…
>
> pluto try to delete the xfrm dir out policy but because there is not
> exact match ( I think it's client 'dport' is not there at all in the
> delete statement ) that's why it yells: "ERROR: netlink
> XFRM_MSG_DELPOLICY response for flow eroute_connection delete included
> errno 2: No such file or directory "
>
> Especially " No such file or directory " shows up if only if the
> policy that is left does not match completely. Examlpe could be
> applaied to the policy shown above:
> If we try to delete it with this statement Missing is dport (clients
> port) # ip xfrm policy delete dir out src 50.50.50.10/32 dst
> 116.55.126.226/32 proto udp sport 1701
> we get this error: RTNETLINK answers: No such file or directory
>
> #ip xfrm policy
> src 50.50.50.10/32 dst 116.55.126.226/32 proto udp sport 1701 dport 55103
> dir out priority 2080 ptype main
> tmpl src 0.0.0.0 dst 0.0.0.0
> proto esp reqid 16401 mode transport
> src 0.0.0.0/0 dst 0.0.0.0/0
> dir 4 priority 0 ptype main
> src 0.0.0.0/0 dst 0.0.0.0/0
> dir 3 priority 0 ptype main
> src 0.0.0.0/0 dst 0.0.0.0/0
> dir 4 priority 0 ptype main
> src 0.0.0.0/0 dst 0.0.0.0/0
> dir 3 priority 0 ptype main
>
> but if we do: # ip xfrm policy delete dir out src 50.50.50.10/32 dst
> 116.55.126.226/32 proto udp sport 1701 *dport 55103*
> we get no error and dir out policy is deleted, so I guess that dport
> either is missed in the pluto xfrm delete code ( which I could not
> locate clearly in kernel_netlink.c if this is the correct file)
>
> ip xfrm policy
> src 0.0.0.0/0 dst 0.0.0.0/0
> dir 4 priority 0 ptype main
> src 0.0.0.0/0 dst 0.0.0.0/0
> dir 3 priority 0 ptype main
> src 0.0.0.0/0 dst 0.0.0.0/0
> dir 4 priority 0 ptype main
> src 0.0.0.0/0 dst 0.0.0.0/0
> dir 3 priority 0 ptype main
>
>
> So can you explain your "dirty hack" with _updown.netkey script? Where
> are you put this script and how you call it? Is this full script code?
>
> Best Regards,
>
> Martin
>
Hi Martin,
I feel your pain. Unfortunately, it's been a really long time since I
have been dealing with this issue, and I no longer maintain L2TP VPN
setups (and haven't for at least a year now). While my shell script
hacks did work for me at the time, with the version I was running then,
I unfortunately shot myself in the foot by not keeping track of which
version I was using with the functional workaround. Long story short, I
applied several different patches supplied to me from the OpenSwan team,
but ultimately was never able to get the XFRM policies to break down in
a workable way again. The method I describe with the shell scripts will
_not_ work anymore. The %pass bug was fixed in a patch quite a while
ago, so that shouldn't be happening anymore.
In the end, I think wrote some lame cron job that looked for XFRM
policies sitting around that did not have an associated connection
established with netstat or something. I don't have this anymore, and I
don't remember exactly what I was doing... it was a last-ditch effort.
If you can locate any places where the connection is terminated, you
might be able to cobble something together to manually break down the
XFRM policy. I don't know what OpenSwan officially suggests on this
issue, maybe use their kernel module instead of netkey.
I still occasionally get emails from people over this problem, and I
really wish I could be more help, but because there were conversations
both on the mailing list and in IRC regarding this issue, the details
are too scattered.
Good luck,
Rick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.openswan.org/pipermail/users/attachments/20120609/4919ccc3/attachment.html>
More information about the Users
mailing list