Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Jul 2017 11:47:36 +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:  <3a7d5a5b-3b72-4cfe-2d8e-c832f7bfab5c@spam-fetish.org>
In-Reply-To: <e870fe5e-431c-49b6-5960-123d0c7be0a9@yandex.ru>
References:  <459d59f7-2895-8aed-d547-be46a0fbb918@spam-fetish.org> <2d607e1a-a2c0-0f85-1530-c478962a76cd@spam-fetish.org> <3344e189-cdf0-a2c9-3a2a-645460866f2d@yandex.ru> <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>

index | next in thread | previous in thread | raw e-mail

Am 25.07.2017 um 17:38 schrieb Andrey V. Elsukov:
> On 25.07.2017 17:06, Muenz, Michael wrote:
>>> As I said already, the NAT thinks that both packets are inbound and does
>>> translation for source address each time. You need to do translation for
>>> both directions on enc0 interface like I described, or you need to
>>> somehow hack/modify ipfw_nat.
>>>
>>> You do not need to create SA for 10.26.2.0->10.24.66.0, you only need
>>> create security policy, that will "route" such packets into the IPsec
>>> tunnel. The translation will be done inside IPsec before IP
>>> encapsulation and encryption. Since you are using tunnel mode IPsec,
>>> replies will be returned to your external IP address, and this SA is
>>> exists already. After decryption and IP decapsulation the destination
>>> address of packet will be translated back to 10.26.2.N on if_enc(4).
>> Can I use this spdadd command also when using strongswan? (Please excuse
>> stupid questions)
> I'm not familiar with strongswan configuration, but you can just try and
> check that the proposed configuration will work.

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>

dmesg and syslog is clean, no error. Also adding the -v for verbose 
doesn't output anything.

Will have to investigate on this.

>
>>> ipfw nat 1 config ip 10.26.1.1 log
>>> ipfw add 179 nat 1 all from 10.26.2.0/24 to 10.24.66.0/24 out xmit enc0
>>> ipfw add 179 nat 1 all from 10.24.66.0/24 to 10.26.1.1 in recv enc0
>>>
>> Ok so your 3 nat commands will only match when there's a new spd like
>> above right?
>> Since there's nothing on enc0 without it.
> Yes, it is. A security policy will route requests from 10.26.2.0/24 into
> IPsec tunnel, where they should be translated, and then replies will be
> received.
>
Ok, then it's clear why it doesn't work. Thanks for you efforts!
Will debug with the OPNsense dev's to catch this one ..

Michael


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3a7d5a5b-3b72-4cfe-2d8e-c832f7bfab5c>