On Tue  2.Aug'16 at  7:54:08 +0000, C. L. Martinez wrote:
> On Mon  1.Aug'16 at  7:54:57 +0000, C. L. Martinez wrote:
> > On Fri 29.Jul'16 at 10:55:01 +0300, Kapetanakis Giannis wrote:
> > > On 28/07/16 22:47, C. L. Martinez wrote:
> > > > Hi all,
> > > > 
> > > >  I will try to encrypt all carp traffic between two OpenBSD 5.9 fws
> > > > (fully patched). According to ifconfig(8) man page:
> > > > 
> > > > carppeer peer_address
> > > > Send the carp advertisements to a specified point-to-point peer or
> > > > multicast group instead of sending the messages to the default carp
> > > > multicast group. The peer_address is the IP address of the other host
> > > > taking part in the carp cluster. With this option, carp(4) traffic can
> > > > be protected using ipsec(4) and it may be desired in networks that do
> > > > not allow or have problems with IPv4 multicast traffic.
> > > > 
> > > >  And the last sentence describes the type of problem that I want to
> > > > avoid: "carp(4) traffic can be protected using ipsec(4) and it may be
> > > > desired in networks that do not allow or have problems with IPv4
> > > > multicast traffic".
> > > > 
> > > >  But I don't see how to implement this feature. If I am not wrong, I
> > > > need to configure ipsec in transport mode. But how to encrypt carp
> > > > protocol only and keep all others services and protocols out of ipsec
> > > > tunnels??
> > > > 
> > > >  Any tip or sample??
> > > > 
> > > 
> > > 
> > > check proto (from protocol) in ipsec.conf(5)
> > > 
> > > G
> > > 
> > 
> > Ok, after doing several tests these days, I have configured ipsec.conf 
> > instead of iked.conf. But carp interfaces remains in MASTER mode in both 
> > firewalls:
> > 
> > FwA:
> > 
> > carp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >         lladdr 01:00:5e:00:01:01
> >         priority: 15
> >         carp: carpdev vio0 advbase 1 balancing ip carppeer 172.22.55.13
> >                 state MASTER vhid 1 advskew 100
> >                 state MASTER vhid 2 advskew 0
> >         groups: carp
> >         status: master
> >         inet 172.22.55.14 netmask 0xffff19f0 broadcast 172.22.247.15
> > carp1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >         lladdr 01:00:5e:00:01:03
> >         priority: 15
> >         carp: carpdev vio1 advbase 1 balancing ip carppeer 172.30.77.3
> >                 state MASTER vhid 3 advskew 100
> >                 state MASTER vhid 4 advskew 0
> >         groups: carp
> >         status: master
> >         inet 172.30.77.1 netmask 0xfffffff8 broadcast 172.30.77.7
> > 
> > ....
> > 
> > 
> > FwB:
> > 
> > carp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >         lladdr 01:00:5e:00:01:01
> >         priority: 15
> >         carp: carpdev vio0 advbase 1 balancing ip carppeer 172.22.55.12
> >                 state MASTER vhid 1 advskew 0
> >                 state MASTER vhid 2 advskew 100
> >         groups: carp
> >         status: master
> >         inet 172.22.55.14 netmask 0xffff19f0 broadcast 172.22.247.15
> > carp1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >         lladdr 01:00:5e:00:01:03
> >         priority: 15
> >         carp: carpdev vio1 advbase 1 balancing ip carppeer 172.30.77.2
> >                 state MASTER vhid 3 advskew 0
> >                 state MASTER vhid 4 advskew 100
> >         groups: carp
> >         status: master
> >         inet 172.30.77.1 netmask 0xfffffff8 broadcast 172.30.77.7
> > 
> > 
> > IPsec flows are established in both firewalls:
> > 
> > FwA:
> > 
> > FLOWS:
> > flow esp in proto carp from 172.22.57.3 to 172.22.57.2 peer 172.22.57.3 
> > srcid 172.22.57.2/32 dstid 172.22.57.3/32 type use
> > flow esp out proto carp from 172.22.57.2 to 172.22.57.3 peer 172.22.57.3 
> > srcid 172.22.57.2/32 dstid 172.22.57.3/32 type require
> > flow esp in proto carp from 172.22.58.3 to 172.22.58.2 peer 172.22.58.3 
> > srcid 172.22.58.2/32 dstid 172.22.58.3/32 type use
> > flow esp out proto carp from 172.22.58.2 to 172.22.58.3 peer 172.22.58.3 
> > srcid 172.22.58.2/32 dstid 172.22.58.3/32 type require
> > flow esp in proto carp from 172.22.55.13 to 172.22.55.12 peer 172.22.55.13 
> > srcid 172.22.55.12/32 dstid 172.22.55.13/32 type use
> > flow esp out proto carp from 172.22.55.12 to 172.22.55.13 peer 172.22.55.13 
> > srcid 172.22.55.12/32 dstid 172.22.55.13/32 type require
> > flow esp in proto carp from 172.30.77.3 to 172.30.77.2 peer 172.30.77.3 
> > srcid 172.30.77.2/32 dstid 172.30.77.3/32 type use
> > flow esp out proto carp from 172.30.77.2 to 172.30.77.3 peer 172.30.77.3 
> > srcid 172.30.77.2/32 dstid 172.30.77.3/32 type require
> > flow esp in proto carp from 172.22.54.3 to 172.22.54.2 peer 172.22.54.3 
> > srcid 172.22.54.2/32 dstid 172.22.54.3/32 type use
> > flow esp out proto carp from 172.22.54.2 to 172.22.54.3 peer 172.22.54.3 
> > srcid 172.22.54.2/32 dstid 172.22.54.3/32 type require
> > flow esp in proto carp from 172.22.56.3 to 172.22.56.2 peer 172.22.56.3 
> > srcid 172.22.56.2/32 dstid 172.22.56.3/32 type use
> > flow esp out proto carp from 172.22.56.2 to 172.22.56.3 peer 172.22.56.3 
> > srcid 172.22.56.2/32 dstid 172.22.56.3/32 type require
> > 
> > SAD:
> > esp transport from 172.22.54.3 to 172.22.54.2 spi 0x1ee8aacd auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.55.13 to 172.22.55.12 spi 0x54d57373 auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.57.2 to 172.22.57.3 spi 0x57f09d05 auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.56.2 to 172.22.56.3 spi 0x5a171e12 auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.30.77.2 to 172.30.77.3 spi 0x5e1cc51a auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.54.2 to 172.22.54.3 spi 0x6a7415a2 auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.30.77.3 to 172.30.77.2 spi 0x77435d2a auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.55.12 to 172.22.55.13 spi 0x8a0d95c7 auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.56.3 to 172.22.56.2 spi 0x906dd7fd auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.58.2 to 172.22.58.3 spi 0xab88d522 auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.57.3 to 172.22.57.2 spi 0xca1ba00f auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.58.3 to 172.22.58.2 spi 0xe66ba82a auth 
> > hmac-sha2-256 enc aes
> > 
> > FwB:
> > 
> > FLOWS:
> > flow esp in proto carp from 172.22.58.2 to 172.22.58.3 peer 172.22.58.2 
> > srcid 172.22.58.3/32 dstid 172.22.58.2/32 type use
> > flow esp out proto carp from 172.22.58.3 to 172.22.58.2 peer 172.22.58.2 
> > srcid 172.22.58.3/32 dstid 172.22.58.2/32 type require
> > flow esp in proto carp from 172.22.57.2 to 172.22.57.3 peer 172.22.57.2 
> > srcid 172.22.57.3/32 dstid 172.22.57.2/32 type use
> > flow esp out proto carp from 172.22.57.3 to 172.22.57.2 peer 172.22.57.2 
> > srcid 172.22.57.3/32 dstid 172.22.57.2/32 type require
> > flow esp in proto carp from 172.22.56.2 to 172.22.56.3 peer 172.22.56.2 
> > srcid 172.22.56.3/32 dstid 172.22.56.2/32 type use
> > flow esp out proto carp from 172.22.56.3 to 172.22.56.2 peer 172.22.56.2 
> > srcid 172.22.56.3/32 dstid 172.22.56.2/32 type require
> > flow esp in proto carp from 172.22.54.2 to 172.22.54.3 peer 172.22.54.2 
> > srcid 172.22.54.3/32 dstid 172.22.54.2/32 type use
> > flow esp out proto carp from 172.22.54.3 to 172.22.54.2 peer 172.22.54.2 
> > srcid 172.22.54.3/32 dstid 172.22.54.2/32 type require
> > flow esp in proto carp from 172.30.77.2 to 172.30.77.3 peer 172.30.77.2 
> > srcid 172.30.77.3/32 dstid 172.30.77.2/32 type use
> > flow esp out proto carp from 172.30.77.3 to 172.30.77.2 peer 172.30.77.2 
> > srcid 172.30.77.3/32 dstid 172.30.77.2/32 type require
> > flow esp in proto carp from 172.22.55.12 to 172.22.55.13 peer 172.22.55.12 
> > srcid 172.22.55.13/32 dstid 172.22.55.12/32 type use
> > flow esp out proto carp from 172.22.55.13 to 172.22.55.12 peer 172.22.55.12 
> > srcid 172.22.55.13/32 dstid 172.22.55.12/32 type require
> > 
> > SAD:
> > esp transport from 172.22.54.3 to 172.22.54.2 spi 0x1ee8aacd auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.55.13 to 172.22.55.12 spi 0x54d57373 auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.57.2 to 172.22.57.3 spi 0x57f09d05 auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.56.2 to 172.22.56.3 spi 0x5a171e12 auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.30.77.2 to 172.30.77.3 spi 0x5e1cc51a auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.54.2 to 172.22.54.3 spi 0x6a7415a2 auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.30.77.3 to 172.30.77.2 spi 0x77435d2a auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.55.12 to 172.22.55.13 spi 0x8a0d95c7 auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.56.3 to 172.22.56.2 spi 0x906dd7fd auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.58.2 to 172.22.58.3 spi 0xab88d522 auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.57.3 to 172.22.57.2 spi 0xca1ba00f auth 
> > hmac-sha2-256 enc aes
> > esp transport from 172.22.58.3 to 172.22.58.2 spi 0xe66ba82a auth 
> > hmac-sha2-256 enc aes
> > 
> > 
> > ..But I see a lof of "bad ip cksum 0!" messages on both firewalls ... 
> > 
> > root@obsdfw:~# tcpdump -ttt -env -i enc0
> > Aug 01 07:40:58.546678 (authentic,confidential): SPI 0x5e1cc51a: carp 
> > 172.30.77.2 > 172.30.77.3: CARPv2-advertise 36: vhid=4 advbase=1 advskew=0 
> > demote=0 (DF) [tos 0x10] (ttl 255, id 64496, len 56, bad ip cksum 0! -> 
> > 8d12)
> > Aug 01 07:40:58.546703 (authentic,confidential): SPI 0x8a0d95c7: carp 
> > 172.22.55.12 > 172.22.55.13: CARPv2-advertise 36: vhid=2 advbase=1 
> > advskew=0 demote=0 (DF) [tos 0x10] (ttl 255, id 22255, len 56, bad ip cksum 
> > 0! -> 5e10)
> > Aug 01 07:40:58.556680 (authentic,confidential): SPI 0x5a171e12: carp 
> > 172.22.56.2 > 172.22.56.3: CARPv2-advertise 36: vhid=8 advbase=1 advskew=0 
> > demote=0 (DF) [tos 0x10] (ttl 255, id 56036, len 56, bad ip cksum 0! -> 
> > d82e)
> > Aug 01 07:40:58.556704 (authentic,confidential): SPI 0x6a7415a2: carp 
> > 172.22.54.2 > 172.22.54.3: CARPv2-advertise 36: vhid=6 advbase=1 advskew=0 
> > demote=0 (DF) [tos 0x10] (ttl 255, id 8717, len 56, bad ip cksum 0! -> 9506)
> > Aug 01 07:40:58.566679 (authentic,confidential): SPI 0xab88d522: carp 
> > 172.22.58.2 > 172.22.58.3: CARPv2-advertise 36: vhid=12 advbase=1 advskew=0 
> > demote=0 (DF) [tos 0x10] (ttl 255, id 37779, len 56, bad ip cksum 0! -> 
> > 1b80)
> > Aug 01 07:40:58.566704 (authentic,confidential): SPI 0x57f09d05: carp 
> > 172.22.57.2 > 172.22.57.3: CARPv2-advertise 36: vhid=10 advbase=1 advskew=0 
> > demote=0 (DF) [tos 0x10] (ttl 255, id 53311, len 56, bad ip cksum 0! -> 
> > e0d3)
> > Aug 01 07:40:59.036637 (authentic,confidential): SPI 0x5e1cc51a: carp 
> > 172.30.77.2 > 172.30.77.3: CARPv2-advertise 36: vhid=3 advbase=1 
> > advskew=100 demote=0 (DF) [tos 0x10] (ttl 255, id 31401, len 56, bad ip 
> > cksum 0! -> e5a)
> > Aug 01 07:40:59.036662 (authentic,confidential): SPI 0x8a0d95c7: carp 
> > 172.22.55.12 > 172.22.55.13: CARPv2-advertise 36: vhid=1 advbase=1 
> > advskew=100 demote=0 (DF) [tos 0x10] (ttl 255, id 3795, len 56, bad ip 
> > cksum 0! -> a62c)
> > Aug 01 07:40:59.046674 (authentic,confidential): SPI 0x5a171e12: carp 
> > 172.22.56.2 > 172.22.56.3: CARPv2-advertise 36: vhid=7 advbase=1 
> > advskew=100 demote=0 (DF) [tos 0x10] (ttl 255, id 11562, len 56, bad ip 
> > cksum 0! -> 85e9)
> > Aug 01 07:40:59.046698 (authentic,confidential): SPI 0x6a7415a2: carp 
> > 172.22.54.2 > 172.22.54.3: CARPv2-advertise 36: vhid=5 advbase=1 
> > advskew=100 demote=0 (DF) [tos 0x10] (ttl 255, id 15246, len 56, bad ip 
> > cksum 0! -> 7b85)
> > Aug 01 07:40:59.066676 (authentic,confidential): SPI 0xab88d522: carp 
> > 172.22.58.2 > 172.22.58.3: CARPv2-advertise 36: vhid=11 advbase=1 
> > advskew=100 demote=0 (DF) [tos 0x10] (ttl 255, id 41397, len 56, bad ip 
> > cksum 0! -> d5e)
> > Aug 01 07:40:59.066700 (authentic,confidential): SPI 0x57f09d05: carp 
> > 172.22.57.2 > 172.22.57.3: CARPv2-advertise 36: vhid=9 advbase=1 
> > advskew=100 demote=0 (DF) [tos 0x10] (ttl 255, id 55275, len 56, bad ip 
> > cksum 0! -> d927)
> > Aug 01 07:40:59.111564 (authentic,confidential): SPI 0x77435d2a: carp 
> > 172.30.77.3 > 172.30.77.2: CARPv2-advertise 36: vhid=4 advbase=1 
> > advskew=100 demote=0 [tos 0x10] (ttl 255, id 687, len 56)
> > Aug 01 07:40:59.111580 (authentic,confidential): SPI 0x54d57373: carp 
> > 172.22.55.13 > 172.22.55.12: CARPv2-advertise 36: vhid=2 advbase=1 
> > advskew=100 demote=0 [tos 0x10] (ttl 255, id 52601, len 56)
> > Aug 01 07:40:59.121572 (authentic,confidential): SPI 0x906dd7fd: carp 
> > 172.22.56.3 > 172.22.56.2: CARPv2-advertise 36: vhid=8 advbase=1 
> > advskew=100 demote=0 [tos 0x10] (ttl 255, id 49105, len 56)
> > Aug 01 07:40:59.121589 (authentic,confidential): SPI 0x1ee8aacd: carp 
> > 172.22.54.3 > 172.22.54.2: CARPv2-advertise 36: vhid=6 advbase=1 
> > advskew=100 demote=0 [tos 0x10] (ttl 255, id 33217, len 56)
> > Aug 01 07:40:59.131609 (authentic,confidential): SPI 0xe66ba82a: carp 
> > 172.22.58.3 > 172.22.58.2: CARPv2-advertise 36: vhid=12 advbase=1 
> > advskew=100 demote=0 [tos 0x10] (ttl 255, id 61641, len 56)
> > Aug 01 07:40:59.131626 (authentic,confidential): SPI 0xca1ba00f: carp 
> > 172.22.57.3 > 172.22.57.2: CARPv2-advertise 36: vhid=10 advbase=1 
> > advskew=100 demote=0 [tos 0x10] (ttl 255, id 19054, len 56)
> > Aug 01 07:40:59.341642 (authentic,confidential): SPI 0x77435d2a: carp 
> > 172.30.77.3 > 172.30.77.2: CARPv2-advertise 36: vhid=3 advbase=1 advskew=0 
> > demote=0 [tos 0x10] (ttl 255, id 3431, len 56)
> > Aug 01 07:40:59.341658 (authentic,confidential): SPI 0x54d57373: carp 
> > 172.22.55.13 > 172.22.55.12: CARPv2-advertise 36: vhid=1 advbase=1 
> > advskew=0 demote=0 [tos 0x10] (ttl 255, id 31759, len 56)
> > Aug 01 07:40:59.351583 (authentic,confidential): SPI 0x906dd7fd: carp 
> > 172.22.56.3 > 172.22.56.2: CARPv2-advertise 36: vhid=7 advbase=1 advskew=0 
> > demote=0 [tos 0x10] (ttl 255, id 907, len 56)
> > Aug 01 07:40:59.351613 (authentic,confidential): SPI 0x1ee8aacd: carp 
> > 172.22.54.3 > 172.22.54.2: CARPv2-advertise 36: vhid=5 advbase=1 advskew=0 
> > demote=0 [tos 0x10] (ttl 255, id 34989, len 56)
> > 
> > And I think that could be te reason why carp interfaces are in MASTER mode 
> > in both firewalls ...
> > 
> >  Disabling IPsec, carp interfaces shows the correct state:
> > 
> > FwA:
> > 
> > carp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >         lladdr 01:00:5e:00:01:01
> >         priority: 15
> >         carp: carpdev vio0 advbase 1 balancing ip carppeer 172.22.55.13
> >                 state BACKUP vhid 1 advskew 100
> >                 state MASTER vhid 2 advskew 0
> >         groups: carp
> >         status: backup
> >         inet 172.22.55.14 netmask 0xffff19f0 broadcast 172.22.247.15
> > carp1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >         lladdr 01:00:5e:00:01:03
> >         priority: 15
> >         carp: carpdev vio1 advbase 1 balancing ip carppeer 172.30.77.3
> >                 state BACKUP vhid 3 advskew 100
> >                 state MASTER vhid 4 advskew 0
> >         groups: carp
> >         status: backup
> >         inet 172.30.77.1 netmask 0xfffffff8 broadcast 172.30.77.7
> > 
> > FwB:
> > 
> > carp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >         lladdr 01:00:5e:00:01:01
> >         priority: 15
> >         carp: carpdev vio0 advbase 1 balancing ip carppeer 172.22.55.12
> >                 state MASTER vhid 1 advskew 0
> >                 state BACKUP vhid 2 advskew 100
> >         groups: carp
> >         status: master
> >         inet 172.22.55.14 netmask 0xffff19f0 broadcast 172.22.247.15
> > carp1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >         lladdr 01:00:5e:00:01:03
> >         priority: 15
> >         carp: carpdev vio1 advbase 1 balancing ip carppeer 172.30.77.2
> >                 state MASTER vhid 3 advskew 0
> >                 state BACKUP vhid 4 advskew 100
> >         groups: carp
> >         status: master
> >         inet 172.30.77.1 netmask 0xfffffff8 broadcast 172.30.77.7
> > 
> > 
> >  Arrived to this point, what am I doing wrong?? Or maybe is it a bug?
> > 
> > Thanks.
> > 
> 

I have done more tests under an ESXi 6 host (using e1000 nics) and results are 
the same. Reading pfsync(4) man page:

BUGS
     pfsync does not currently work with ipsec(4).

OpenBSD 5.9                      June 25, 2015                     OpenBSD 5.9

 Maybe is the same problem with carp?? 

Thanks.

-- 
Greetings,
C. L. Martinez

Reply via email to