Date: Wed, 22 Aug 2007 14:54:33 +0200 From: Steffen Schumacher <steffen@schumacher.dk> To: Tom Judge <tom@tomjudge.com> Cc: freebsd-isp@freebsd.org Subject: Re: Using FreeBSD as a router Message-ID: <20070822125432.GB58627@schumacher.dk> In-Reply-To: <46CC1E6E.9080701@tomjudge.com> References: <20070822080112.GA58627@schumacher.dk> <46CC1E6E.9080701@tomjudge.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 22.08.2007 12:30:54 +0100, Tom Judge wrote: > Steffen Schumacher wrote: >> Hi! >> This may b the wrong list, but you might know the right one.. >> I'm using the port quagge (zebra spin-off) in order to run bgp >> off of two freebsd boxes, serving as routers. >> They receive a default candidate from bgp: a/b. >> The aim is to configure a static default with a next-hop of a/b. >> This way the isp doesn't have to announce a 0/0, and I will still >> have a default pointing the right way. >> (I'm getting the a/b in from two separate lines for redundancy). >> My problem is that I can't make the default work. >> I use 'route default a/b' which actually shows up in 'netstat -rnf inet' >> but it still doesn't work. >> I've enclosed a lot of debug output. >> Can anyone point me in the right direction? >> Debug output: >> g3# route add default 195.249.0.0 >> add net default: gateway 195.249.0.0 > > Firstly this address is not a valid host address it is a network address. > as shown by the routing entry below. Secondly your default gateway must be > on your local network segment to work however 195.249.0/16 is behind the > router 131.164.191.1. > > 195.249.0/16 131.164.191.1 UG1 1 12 vlan7 > > Perhaps your default gateway should be 131.164.191.1 ?? > Yes - ultimately that should be my gateway, but I want FreeBSD to realize this by looking at the 195.249.0/16 route. The thing is that 195.249.0/16 will also be seen from 131.164.191.2 but with a lower localpref, making 131.164.191.1 the best choice. This way if .1 dies, 195.249.0/16 should be routed towards .2, and ultimately my default should go at .2 also. This is the goal - to make the default move to .2 if .1 is dead, and back when 1. comes back up again. I don't think it matters if I use 195.249.0.0 or 195.249.1.1, since the router receiving the packets will do their own routing lookup. Whats important is only getting the next-hop mac/if for the default route, and that should be available from the 195.249.0/16 route. /Steffen > Tom > >> g3# netstat -rnf inet >> Routing tables >> Internet: >> Destination Gateway Flags Refs Use Netif Expire >> default 195.249.0.0 UGS 0 0 vlan7 >> 127.0.0.1 127.0.0.1 UH 0 725 lo0 >> 131.164.191/29 link#10 UC 0 0 vlan7 >> 131.164.191.1 00:12:1e:f0:a0:fe UHLW 2 33782 vlan7 260 >> 131.164.191.2 00:0f:34:62:27:38 UHLW 1 5927 vlan7 1127 >> 131.164.191.3 00:0e:0c:b2:c6:55 UHLW 1 35 lo0 >> 131.164.191.9 192.168.0.2 UGH1 0 981 vlan1 >> 131.164.191.10 131.164.191.10 UH 0 4 lo0 >> 131.164.191.16/29 192.168.0.2 UG1 0 270 vlan1 >> 131.164.191.24 ff:ff:ff:ff:ff:ff UHLWb 1 50 vlan5 => >> 131.164.191.24/29 link#8 UC 0 0 vlan5 >> 131.164.191.27 00:0e:0c:b2:c6:55 UHLW 1 4 lo0 >> 131.164.191.31 ff:ff:ff:ff:ff:ff UHLWb 1 39 vlan5 >> 192.168.0 link#4 UC 0 0 vlan1 >> 192.168.0.2 00:0e:0c:bd:27:38 UHLW 3 12241 vlan1 1113 >> 192.168.10 link#5 UC 0 0 vlan2 >> 192.168.11 link#4 UC 0 0 vlan1 >> 192.168.20 link#6 UC 0 0 vlan3 >> 192.168.20.2 00:0e:0c:bd:27:38 UHLW 1 508 vlan3 31 >> 192.168.21 link#7 UC 0 0 vlan4 >> 195.249.0/16 131.164.191.1 UG1 1 12 vlan7 >> and some route lookups: >> g3# route -vn get 0 >> u: inet 0.0.0.0; u: link ; RTM_GET: Report Metrics: len 168, pid: 0, seq >> 1, errno 0, flags:<UP,GATEWAY,STATIC> >> locks: inits: sockaddrs: <DST,NETMASK,IFP> >> default default route to: default >> destination: default >> mask: default >> gateway: 195.249.0.0 >> interface: vlan7 >> flags: <UP,GATEWAY,DONE,STATIC> >> recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu >> expire >> 0 0 0 0 0 0 9504 >> 0 locks: inits: sockaddrs: <DST,GATEWAY,NETMASK,IFP,IFA> >> default 195.249.0.0 default vlan7:0.e.c.b2.c6.55 131.164.191.3 >> g3# route -vn get 195.249.0.0 >> u: inet 195.249.0.0; u: link ; RTM_GET: Report Metrics: len 172, pid: 0, >> seq 1, errno 0, flags:<UP,GATEWAY,STATIC> >> locks: inits: sockaddrs: <DST,NETMASK,IFP> >> 195.249.0.0 (0) 0 ffff route to: 195.249.0.0 >> destination: 195.249.0.0 >> mask: 255.255.0.0 >> gateway: 131.164.191.1 >> interface: vlan7 >> flags: <UP,GATEWAY,DONE,PROTO1> >> recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu >> expire >> 0 0 0 0 0 0 9504 >> 0 locks: inits: sockaddrs: <DST,GATEWAY,NETMASK,IFP,IFA> >> 195.249.0.0 131.164.191.1 255.255.0.0 vlan7:0.e.c.b2.c6.55 131.164.191.3 >> g3# route -vn get 131.164.191.1 >> u: inet 131.164.191.1; u: link ; RTM_GET: Report Metrics: len 164, pid: 0, >> seq 1, errno 0, flags:<UP,GATEWAY,HOST,STATIC> >> locks: inits: sockaddrs: <DST,IFP> >> 131.164.191.1 route to: 131.164.191.1 >> destination: 131.164.191.1 >> interface: vlan7 >> flags: <UP,HOST,DONE,LLINFO,WASCLONED> >> recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu >> expire >> 0 0 0 0 0 0 9504 >> 84 locks: inits: sockaddrs: <DST,GATEWAY,IFP,IFA> >> 131.164.191.1 0.12.1e.f0.a0.fe vlan7:0.e.c.b2.c6.55 131.164.191.3 >> _______________________________________________ >> freebsd-isp@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-isp >> To unsubscribe, send any mail to "freebsd-isp-unsubscribe@freebsd.org" > > _______________________________________________ > freebsd-isp@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-isp > To unsubscribe, send any mail to "freebsd-isp-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070822125432.GB58627>