Hi Guys/Gals

I have a stock install of OpenBSD/BGP 3.8 and I'm finding some weird
happenings. I'm part of the Virt-IX project (http://www.virt-ix.net/),
which is a training ground for learning BGP.

The Setup is an OpenVPN connection to a peering LAN (194.126.235.0/24_
where other participants host there routers. Below is my 'bgpctl sh'

# bgpctl sh
Neighbor             AS    MsgRcvd    MsgSent    OutQ  Up/Down
State/PrefixRcvd
New-V-IX             65438       1750       1749     0 1d05h06m      1
New-V-IX             64542       1221       1223     0 12:08:02      1
New-V-IX             65213       1752       1751     0 1d05h08m      1
cymrubogon-p2        65333       1751       1750     0 18:34:29
63/1000
cymrubogon-p1        65333       1753       1750     0 1d05h08m
63/1000
New-V-IX                 0          0          0     0 Never    Active
Melchior             65101     115012       3503     0 1d04h13m 183805
default virt-ix      31064     147297       3506     0 1d04h07m 183799
tvk                  65126       1753       1751     0 1d05h08m      2
Lex van Roon (r3boot 65342       3497       3505     0 15:59:06      1
daviper              64662       1753       1754     0 10:02:14      2
lotjuh               65188       1752       1751     0 1d05h08m      1
mszabo               65302       1752       1751     0 1d05h08m      1
# bgpctl -n sh
Neighbor             AS    MsgRcvd    MsgSent    OutQ  Up/Down
State/PrefixRcvd
194.126.235.89       65438       1750       1749     0 1d05h06m      1
194.126.235.49       64542       1221       1224     0 12:08:06      1
194.126.235.51       65213       1752       1751     0 1d05h08m      1
38.229.0.5           65333       1751       1750     0 18:34:33
63/1000
206.71.160.162       65333       1753       1750     0 1d05h08m
63/1000
194.126.235.0/24         0          0          0     0 Never    Active
194.126.235.7        65101     115012       3503     0 1d04h13m 183805
194.126.235.1        31064     147297       3507     0 1d04h07m 183799
194.126.235.29       65126       1753       1751     0 1d05h08m      2
194.126.235.111      65342       3497       3506     0 15:59:10      1
194.126.235.43       64662       1753       1754     0 10:02:18      2
194.126.235.3        65188       1752       1751     0 1d05h08m      1
194.126.235.47       65302       1752       1751     0 1d05h08m      1

(My bgpd.conf is at the bottom)


I've done some traffic engineering and selected some non optimal
routing;

As you can see, I'm looking at the AS path to www.openbgpd.com
(81.209.180.64)

bgpctl  bgpd
# bgpctl sh ip bgp 81.209.180.64
flags: * = Valid, > = Selected, I = via IBGP, A = Announced
origin: i = IGP, e = EGP, ? = Incomplete

flags destination         gateway          lpref   med aspath origin
*>    81.209.180.0/22     194.126.235.1      150    15 65101 31064 15703
13237 24640 i
*     81.209.180.0/22     194.126.235.1      100    15 31064 31064 15703
13237 24640 i
#

The selected path to 81.209.180.64 is thru:-
65101 31064 15703 13237 24640

As you can see, AS65101 (194.126.235.7) is the preferred route, but has
the same gateway as AS31064 (the optimal route) just to double check
that its not a glitch, I do a traceroute to www.openbgpd.com

# traceroute www.openbgpd.com
traceroute to www.openbgpd.com (81.209.180.64), 64 hops max, 40 byte
packets
 1  rtr-1.peering.virt-ix.net (194.126.235.1)  10.360 ms  10.277 ms
10.197 ms
 2  c1201-gateway.trueserver.nl (213.193.208.73)  16.562 ms  17.771 ms
17.921 ms
 3  AMS-IX.AMS-1-eth010-101.nl.lambdanet.net (195.69.144.212)  11.199 ms
11.106 ms  10.990 ms
 4  DUS-2-pos700.de.lambdanet.net (82.197.128.29)  17.578 ms  17.549 ms
18.49 ms
 5  HAN-7-pos600.de.lambdanet.net (217.71.105.125)  22.427 ms  21.874 ms
22.775 ms
 6  HAM-4-pos010.de.lambdanet.net (217.71.105.34)  28.18 ms  27.124 ms
27.191 ms
 7  ge2.cr10.ham.bsws.de (80.86.162.34)  26.241 ms  26.597 ms  26.375 ms
 8  ge0.cr20.ham.bsws.de (80.86.183.4)  26.954 ms  26.806 ms  27.17 ms
 9  064.n30.ham.bsws.de (81.209.180.64)  27.87 ms  27.357 ms  27.180 ms


I would expect the first two hops to be:-

1  virtix-gw.melchioraelmans.nl (194.126.235.7)
2  rtr-1.peering.virt-ix.net (194.126.235.1)
3 ..
4 ... 

For another example, I have a Neighbour of AS65438 at 194.126.235.89,
announcing 195.16.86.208/29.

Now when I look at the AS Path to 195.16.86.208/29 I get:-

# bgpctl sh ip bgp  195.16.86.208
flags: * = Valid, > = Selected, I = via IBGP, A = Announced
origin: i = IGP, e = EGP, ? = Incomplete

flags destination         gateway          lpref   med aspath origin
*>    195.16.86.208/29    194.126.235.89     150    15 65101 65438 i
*     195.16.86.208/29    194.126.235.89     100     0 65438 i
*     195.16.86.208/29    194.126.235.89     100    15 31064 31064 65438
i
#

You see, I get the same thing:-
*>    195.16.86.208/29    194.126.235.89     150    15 65101 65438 i

Out of the three valid routes, AS65101 should be my route and have the
gateway of 194.126.235.7, but the gateway's addresses are all the same
for the optimal AS Path and not the engineered AS Path.


There are no other routing protocols running, my only guess is that's
because the peering LAN is on a /24, something else is caching the
routes.

Please help.


Now that's out of the way, I have a general question that has been
bugging me for ages is, how do you get to see the traffic transferred on
a OpenBSD box, on Linux boxes you can find that information on the
interfaces when running 'ifconfig'



# cat /etc/bgpd.conf
# bgpd.conf,v 0.4 19/04/2006 21:22:16 ben ashton # virt-ix bgpd
configuration file

# global configuration
AS 65103

router-id 194.126.235.13
holdtime 180
holdtime min 3
fib-update yes
rde med compare always
#log updates
listen on 194.126.235.13

network 195.16.84.8/29

group "virt-ix announce self" {

        announce self

        neighbor 194.126.235.47 {
                descr "mszabo"
                remote-as 65302
        }
        neighbor 194.126.235.3 {
                descr "lotjuh"
                remote-as 65188
        }
        neighbor 194.126.235.43 {
                descr "daviper"
                remote-as 64662
        }
        neighbor 194.126.235.111 {
                descr "Lex van Roon (r3boot)"
                remote-as 65342
        }
        neighbor 194.126.235.29 {
                descr "tvk"
                remote-as 65126
        }
}

group "virt-ix announce all" {

        announce self

        neighbor 194.126.235.1 {
                descr "default virt-ix"
                remote-as 31064
        }

        neighbor 194.126.235.7 {
                descr "Melchior"
                remote-as 65101
        }
}

group "New-V-IX" {
        neighbor 194.126.235.0/24 {
                descr "New-V-IX"
                passive
                announce self
        }
}

group "cymru peering bogon" {

        neighbor x.x.x.x {
                descr "cymrubogon-p1"
                remote-as 65333
                multihop 64
                local-address 194.126.235.13
                max-prefix 1000
                announce none
                tcp md5sig password Monkeys

        }
        neighbor x.x.x.x {
                descr "cymrubogon-p2"
                remote-as 65333
                multihop 64
                local-address 194.126.235.13
                max-prefix 1000
                announce none
                tcp md5sig password Monkeys

        }
}


match from any community *:* set metric 10 match from group "virt-ix
announce all"  set metric 15 match from 194.126.235.1 set
prepend-neighbor 1 match from 194.126.235.7  set localpref 150

allow from any community 31064:4000 set pftable "VIX-True"
allow from any community 31064:1000 set pftable "VIX-User"
allow from any community 31064:500  set pftable "VIX-Orig"

allow from any community 65333:888 set pftable "bogons"
allow from any community 65333:888 set nexthop blackhole

#allow from any community 31064:4000 set rtlabel "VIX-True"
#allow from any community 31064:1000 set rtlabel "VIX-User"
#allow from any community 31064:500  set rtlabel "VIX-Orig"
#allow from any community 65333:888  set rtlabel "bogons"

deny from any prefix 0.0.0.0/0
deny from any prefix 10.0.0.0/8 prefixlen >= 8 deny from any prefix
172.16.0.0/12 prefixlen >= 12 deny from any prefix 192.168.0.0/16
prefixlen >= 16 deny from any prefix 169.254.0.0/16 prefixlen >= 16 deny
from any prefix 192.0.2.0/24 prefixlen >= 24 deny from any prefix
224.0.0.0/4 prefixlen >= 4 deny from any prefix 240.0.0.0/4 prefixlen >=
4

#

Reply via email to