39 lines
1.7 KiB
Markdown
39 lines
1.7 KiB
Markdown
|
# Lab 2: eBGP Routing with an OpenBGPD Route Server
|
||
|
|
||
|
## Network Architecture
|
||
|
|
||
|
- There are 3 AS: AS23, AS42 and AS1337
|
||
|
- All eBGP routers are connected to the same bridge (like an IX)
|
||
|
- There is another OpenBGPD server on the same bridge acting as an IX route server.
|
||
|
|
||
|
## eBGP
|
||
|
|
||
|
- Each AS runs an OpenBGPD router for eBGP peering.
|
||
|
- Each AS peers with the route server `fd00:d0ca:ffff:1::ffff`.
|
||
|
- An [alice-lg](https://github.com/alice-lg/alice-lg) looking class connecting to all 3 BGP routers is started on [http://localhost:7340](http://localhost:7340).
|
||
|
- Each AS announces the `fd00:d0ca:<ASN>:1::/64` prefix.
|
||
|
|
||
|
|
||
|
Example: Verify that direct routes are configured in the FIB even though the routes were learned through the route server:
|
||
|
|
||
|
```shell-session
|
||
|
$ docker exec -it lab002-openbgpd-ix-routeserver-as23-1 /bin/sh
|
||
|
/ # ip -6 r | grep 'via fd00'
|
||
|
fd00:d0ca:42:1::/64 via fd00:d0ca:ffff:1::42 dev eth1 metric 1024
|
||
|
fd00:d0ca:1337:1::/64 via fd00:d0ca:ffff:1::1337 dev eth1 metric 1024
|
||
|
default via fd00:d0ca:23:1::1 dev eth0 metric 1024
|
||
|
/ # bgpctl show rib
|
||
|
flags: * = Valid, > = Selected, I = via IBGP, A = Announced,
|
||
|
S = Stale, E = Error
|
||
|
origin validation state: N = not-found, V = valid, ! = invalid
|
||
|
aspa validation state: ? = unknown, V = valid, ! = invalid
|
||
|
origin: i = IGP, e = EGP, ? = Incomplete
|
||
|
|
||
|
flags vs destination gateway lpref med aspath origin
|
||
|
AI*> N-? fd00:d0ca:23:1::/64 :: 100 0 i
|
||
|
*> N-? fd00:d0ca:42:1::/64 fd00:d0ca:ffff:1::42 100 0 65535 42 i
|
||
|
*> N-? fd00:d0ca:1337:1::/64 fd00:d0ca:ffff:1::1337 100 0 65535 1337 i
|
||
|
```
|
||
|
|
||
|
TODO: I don't yet understand why the AS 65535 (route server) is added to the AS path despite `transparent-as yes` being configured.
|