Date: Wed, 26 Jul 2017 14:33:44 +0200 From: "Muenz, Michael" <m.muenz@spam-fetish.org> To: freebsd-net@freebsd.org Subject: Re: NAT before IPSEC - reply packets stuck at enc0 Message-ID: <6bf87e8a-f557-bfab-13ce-dd8accb88299@spam-fetish.org> In-Reply-To: <2672efbc-49f2-efba-07d6-feeb5c8e3757@yandex.ru> References: <459d59f7-2895-8aed-d547-be46a0fbb918@spam-fetish.org> <1279753e-9ad1-2c02-304e-5001e2bbc82f@spam-fetish.org> <15e6eb38-ef0c-7bfd-5f2c-d2acc8ea1af4@yandex.ru> <cdb7e172-4074-4559-1e91-90c8e9276134@spam-fetish.org> <63e80fcf-915e-2dd5-d8c9-1904c8261c6f@yandex.ru> <1c91cd8f-105d-e886-3126-67505c6c3900@spam-fetish.org> <c738380c-e0cc-2d32-934e-a05502887b93@yandex.ru> <1e889acf-49d1-b70f-7097-82e6e4dfabb6@spam-fetish.org> <454ed1b7-a80f-b096-cfa1-3c32d1e60f7d@yandex.ru> <f4c5a11c-a329-d746-ece8-e3752a6c82ea@spam-fetish.org> <5dfdfbb3-1046-5abe-b23a-b62c215b5d08@yandex.ru> <ada882bb-7344-49c5-0e47-e1432f27f1c9@spam-fetish.org> <860b48aa-b99e-7b71-3724-587ee0a7fe80@spam-fetish.org> <1b831b84-1d3f-38cb-acee-07a339315417@yandex.ru> <0bbf5bb9-8089-f9ce-3b1d-e9bcbdbc6c76@spam-fetish.org> <e870fe5e-431c-49b6-5960-123d0c7be0a9@yandex.ru> <3a7d5a5b-3b72-4cfe-2d8e-c832f7bfab5c@spam-fetish.org> <2672efbc-49f2-efba-07d6-feeb5c8e3757@yandex.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
Am 26.07.2017 um 12:20 schrieb Andrey V. Elsukov: > On 26.07.2017 12:47, Muenz, Michael wrote: >> When I type setkey -PD I get: >> >> 10.24.66.0/24[any] 10.26.1.0/24[any] any >> in ipsec >> esp/tunnel/81.24.74.3-213.244.192.191/unique:2 >> created: Jul 26 11:03:53 2017 lastused: Jul 26 11:40:02 2017 >> lifetime: 9223372036854775807(s) validtime: 0(s) >> spid=5 seq=1 pid=4292 >> refcnt=1 >> 10.26.1.0/24[any] 10.24.66.0/24[any] any >> out ipsec >> esp/tunnel/213.244.192.191-81.24.74.3/unique:2 >> created: Jul 26 11:03:53 2017 lastused: Jul 26 11:40:02 2017 >> lifetime: 9223372036854775807(s) validtime: 0(s) >> spid=6 seq=0 pid=4292 >> refcnt=1 >> >> >> So it's in use. >> >> But when I type in your command it just "hangs". Not the system, but the >> command doesn't get completed. >> >> root@PB-FW1-FRA:~ # setkey -v -c spdadd -4 10.26.2.0/24 10.24.66.0/24 >> any -P out ipsec esp/tunnel/213.244.192.191-81.24.74.3/require ; >> <waiting cursor> > You need to do it this way: > 1. setkey -v -c <press Enter> > 2. type the policy specification > 3. press Enter and then press ^D > > > # setkey -v -c > spdadd -4 10.26.2.0/24 10.24.66.0/24 any -P out ipsec > esp/tunnel/213.244.192.191-81.24.74.3/unique:2 ; > ^D > > Also, since your policies uses "unique" level, you need to specify the > same level using "unique:N" syntax. > > Also if it is interesting to you, I patched ipfw_nat to be able specify > needed direction. The patch is untested at all :) > https://people.freebsd.org/~ae/nat_in_out.diff > > You need to rebuild ipfw(4) and ipfw_nat(4) kernel modules, and also > ipfw(8) binary. > > With this patch you can use the following commands: > > ipfw nat 1 config ip 10.26.1.1 log > ipfw add 179 nat-out 1 all from 10.26.2.0/24 to 10.24.66.0/24 in recv vtnet1 > ipfw add 179 nat-in 1 all from 10.24.66.0/24 to 10.26.1.1 in recv enc0 > > or these: > ipfw nat 1 config ip 10.26.1.1 log reverse > ipfw add 179 nat-in 1 all from 10.26.2.0/24 to 10.24.66.0/24 in recv vtnet1 > ipfw add 179 nat-out 1 all from 10.24.66.0/24 to 10.26.1.1 in recv enc0 > > Or maybe guys from OpenSense can help with testing. > You are a genius! Many thanks for you patience with me! Now I have a running setup and it also works with unpatched OPNsense kernel: kldload ipfw_nat ipfw nat 1 config ip 10.26.1.1 log ipfw add 179 nat 1 log all from 10.26.2.0/24 to 10.24.66.0/24 out xmit enc0 ipfw add 179 nat 1 log all from 10.24.66.0/24 to 10.26.1.1 in recv enc0 setkey -PD | grep unique setkey -v -c spdadd -4 10.26.2.0/24 10.24.66.0/24 any -P out ipsec esp/tunnel/213.244.192.191-81.24.74.3/unique:X ; ^D Thats all! I got it running, did a reboot and then it failed everytime until I saw the number after unique changes. How is this number calculated? I need this for templating the script. Thanks for you help, you made my day/week/month/year :) Michael
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6bf87e8a-f557-bfab-13ce-dd8accb88299>