openbgpds not talking each other since 8.2-STABLE upgrade
Nikolay Denev
ndenev at gmail.com
Wed Jan 4 05:24:06 UTC 2012
On Jan 3, 2012, at 10:52 PM, Doug Barton wrote:
> On 01/03/2012 11:06, Hiroki Sato wrote:
>> Doug Barton <dougb at freebsd.org> wrote
>> in <4F027BC0.1080101 at FreeBSD.org>:
>>
>> do> We have a pair of physical FreeBSD systems configured as routers
>> do> designed to operate in an active/standby CARP configuration. Everything
>> do> used to work fine, but since an upgrade to 8.2-STABLE on December 29th
>> do> the two routers don't speak BGP to each other anymore. They both
>> do> function fine individually, and failover works. It is only the openbgpd
>> do> communication between them that's not flowing.
>>
>> Doug, does your kernel have TCP_SIGNATURE option?
>
> Yes.
>
>> The patch[*] for
>> net/openbgpd can be used as a workaround if it was due to TCP_MD5SIG
>> option on the listening sockets.
>>
>> [*] http://people.allbsd.org/~hrs/FreeBSD/openbgpd.20120104-1.diff
>>
>> While this is an ugly hack and I will investigate more reasonable
>> solution for that, I want to narrow down the cause first. Can anyone
>> who are using a 8-STABLE kenrel with TCP_SIGNATURE let me know if
>> this works or not?
>
> This patch works even if net.inet.tcp.signature_verify_input=1. If I
> turn that sysctl off on both sides they can talk to each other even
> without the patch. So that would definitely seem to indicate that the
> tcp_signature stuff is the source of the problem.
>
> What unfortunately did not work is configuring signatures on both sides.
> With the sysctl enabled, IPSEC set up on both hosts, and the tcp md5sig
> option in both bgpd.conf files, we got the same result as before, no
> communication between them. When -HUP'ing and/or restarting openbgpd
> with the tcp md5sig option enabled we get "pfkey setup failed."
>
> So, "working iBGP + no signatures" is a good next step. "iBGP +
> signatures" would be an even better one. :) We're happy to test more
> patches, etc.; and thanks again to everyone who has responded so far.
>
>
> Doug
>
> --
>
> You can observe a lot just by watching. -- Yogi Berra
>
> Breadth of IT experience, and depth of knowledge in the DNS.
> Yours for the right price. :) http://SupersetSolutions.com/
>
You are setting the keys with setkey for both directions of a single session, right?
i.e.:
add X.X.X.X Y.Y.Y.Y tcp 0x1000 -A tcp-md5 "SomePass";
add Y.Y.Y.Y X.X.X.X tcp 0x1000 -A tcp-md5 "SomePass";
As before it was only needed to set the "outgoing" direction key, which should not work anymore unless
net.inet.tcp.signature_verify_input is zero.
More information about the freebsd-net
mailing list