On Mon, Aug 03, 2009 at 09:53:00AM -0400, Matthew Haas wrote: > Good day. > > I hope this is the appropriate forum for my questions. It is both > OpenBSD and OpenOSPFD related, but quite networking-centric. My > apologies if there is a better forum.
Which version of OpenBSD are you using. There was a multicast fix going into bridge(4) some time ago (IIRC after 4.5) that is necessary in your case. On the other hand I don't understand why you need to have the bridge, why not use two different networks one for em(4) and one for tun(4) and let ospfd handle the rest. Running a dynamic routing protocol allows you to do that without much issues. > > I've scoured the various examples out on the internet, referenced > relevant information in the various OpenBSD FAQs and elsewhere, yet > still am experiencing problems. > > Basically, I am trying to run OpenOSPFD to manage my routes between > 4 routers (2 local, 2 remote, each managing a unique network). I > have a backbone network on each of the routers for router > communication, and the remote routers have backbone network IP > addresses via an OpenVPN connection. > > I know pictures are preferred, but with the amount of information > it seemed daunting, so here's a semi-picture (where the connection > between all routers is via the 10.10.10.x network): > > local routers > ---------------------------------------- > router A (OBSD4.4) router B (OBSD 4.4) > ------------------ ------------------- > em0: 10.80.1.0/24 xl0: 10.80.2.0/24 > em1: 10.10.10.1 em0: 10.10.10.2 > tun1: backbone VPN > bridge1: em0 + tun1 > > remote routers > ---------------------------------------- > router C (OBSD4.3) router D (FBSD 7.2) > ------------------ ------------------- > re0: 10.81.1.0/24 xl1: 10.82.1.0/24 > tun1: 10.10.10.4 tap1: 10.10.10.5 > > router B bridge1: > /etc/bridgename.bridge1 > ----------------------- > add em0 > add tun1 > up > > *** IP forwarding is enabled on all routers. > > *** In pf rules on all routers, I am telling pf to skip the backbone > and tun interfaces (so it doesn't somehow complicate things). > > Objective: Trying to run OSPF to manage routes between the routers, > each of which manages a 10.8x.y.0/24 network. > > * the 10.10.10.x network is designated as the communications network > between the routers (aka "backbone network"). > > * the remote routers join the backbone via an OpenVPN connection > hosted by "router B" (the tun1 interface on "router B"). > > * tun1 and em0 on "router B" are bridged, in the belief that it > will facilitate communication from routers C and D communicating > on the backbone network. > > * the backbone VPN works. I can set static routes as appropriate and > traffic routes as desired. > > * although I have 4 routers, I am playing with A, B, and C at this > point, as I still have to figure out how to get OpenOSPFD on a > FreeBSD box (it doesn't seem to be actively supported in ports > anymore?) > > -------------------------------------------------------------------- > > OpenOSPFD config (/etc/ospfd.conf) > ---------------------------------- > router A (OpenOSPFD 4.4.1) > -------------------------- > router-id 10.10.10.1 > redistribute connected > > area 0.0.0.0 { > auth-type none > interface em1 > } > > router B (OpenOSPFD 4.4.1) > -------------------------- > router-id 10.10.10.2 > redistribute connected > > area 0.0.0.0 { > auth-type none > interface em0 > } > > router C (native OpenOSPFD to OBSD4.3) > -------------------------------------- > router-id 10.10.10.4 > redistribute connected > > area 0.0.0.0 { > auth-type none > interface tun1 > } > > -------------------------------------------------------------------- > > Observations: There appears to be problems on "router B" when OSPFd > is trying to establish full communication amongst all the routers. > > Output of "ospfctl show neighbor" when all 3 are running > -------------------------------------------------------- > router A > -------- > 10.10.10.4 1 FULL/DR 00:00:31 10.10.10.4 em1 09:55:14 > 10.10.10.2 1 FULL/OTHER 00:00:31 10.10.10.2 em1 16:11:21 > > router B > -------- > 10.10.10.4 1 DOWN/OTHER 00:02:04 10.10.10.4 tun1 - > 10.10.10.1 1 FULL/BCKUP 00:00:30 10.10.10.1 em0 16:11:47 > > router C > -------- > 10.10.10.1 1 FULL/BCKUP 00:00:34 10.10.10.1 tun1 09:55:50 > 10.10.10.2 1 INIT/OTHER 00:00:34 10.10.10.2 tun1 - > > If I just run ospfd on routers A and C, they seem to talk just fine. > When I start ospfd on router B, if I tell it to use "interface em0" > it seems to be able to talk okay with router A (but has issues > talking to router C), whereas if it is using "interface tun1", it > can talk to router C, but has issues talking to router A (I see lots > of "unknown neighbor ID" messages from ospfd-- a tcpdump seems to > show traffic destined to router A from B is going down tun1, never > getting to the right place-- but this is usually when I tell router > B to use BOTH em0 and tun1, just two consecutive interface > statements in the area stanza). > > When I have "router B" use tun1 (the backbone VPN link), I have to > assign it an IP (10.10.10.6 for the sake of experimenting). This > tends to have an effect of popping up on routers A and C as a > neighbor. > > I thought what might be a way to solve the problem was to tell > router B to use the bridge1 interface... but I cannot seem to apply > an IP address to it. > > The questions I think I have are: > > - Do I need to do something more with the bridge to somehow get it > talking transparently between the two interfaces on router B? > > - Is it possible to apply an IP address to an OpenBSD bridge? If so, > how? > > - Any suggestions for dealing with OpenOSPFD communications through this > scenario? > > - I can use OSPF on more than 2 routers, right? I don't see anything > that specifically says "max/only 2", but I do see some status messages > that refer to "2-WAY", and all the examples found out on the internet > make use of only 2 routers. I do have a 3rd local router (not > mentioned) that I'd also like to join in on the fun once I get things > going. > > - I do want OSPF in this scenario, right? I read up on BGP and OSPF and > arrived at the conclusion that I am dealing with interior routing. > > - Random OT question: Does anyone know the current state of OpenOSPFD on > non-OpenBSD systems (and FreeBSD 7.2 in particular)? From what I can > see, OpenOSPFD was removed from ports a year or so ago, citing lack of > maintainer. I see other mentions that people should favor OpenOSPFD > over Quagga's OSPFD due to a more active community. > > Thanks for any help, suggestions, pointers, etc. that can be offered. > > -Matthew > -- :wq Claudio