-
Notifications
You must be signed in to change notification settings - Fork 278
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #417 from blinklet/master
FFRouting lab 01
- Loading branch information
Showing
12 changed files
with
275 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
| | | | ||
| ----------------------------- | -------------------------------------------------------------------- | | ||
| **Description** | A 3-node ring of FRR routers with OSPF IGP | | ||
| **Components** | [FRR](http://docs.frrouting.org/en/latest/overview.html) | | ||
| **Resource requirements**[^1] | :fontawesome-solid-microchip: 2 <br/>:fontawesome-solid-memory: 2 GB | | ||
| **Topology file** | [frr01.clab.yml][topofile] | | ||
| **Name** | frr01 | | ||
| **Version information**[^2] | `containerlab:0.13.0`, `frrouting/frr:v7.5.1`, `docker-ce:19.03.13` | | ||
|
||
## Description | ||
This lab example consists of three FRR routers connected in a ring topology. Each router has one PC connected to it. | ||
|
||
This is also an example of how to pre-configure lab nodes of `linux` kind in containerlab. | ||
|
||
To start this lab, run the [`run.sh`][run] script, which will run the containerlab deploy commands, and then configure the PC interfaces. | ||
|
||
The lab configuration is documented in detail at: https://www.brianlinkletter.com/2021/05/use-containerlab-to-emulate-open-source-routers/ | ||
|
||
[topofile]: https://github.com/srl-labs/containerlab/tree/master/lab-examples/frr01/frr01.clab.yml | ||
[run]: https://github.com/srl-labs/containerlab/tree/master/lab-examples/frr01/run.sh | ||
|
||
[^1]: Resource requirements are provisional. Consult with the installation guides for additional information. | ||
[^2]: The lab has been validated using these versions of the required tools/components. Using versions other than stated might lead to a non-operational setup process. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
#!/bin/sh | ||
sudo docker exec -d clab-frrlab-PC1 ip link set eth1 up | ||
sudo docker exec -d clab-frrlab-PC1 ip addr add 192.168.11.2/24 dev eth1 | ||
sudo docker exec -d clab-frrlab-PC1 ip route add 192.168.0.0/16 via 192.168.11.1 dev eth1 | ||
sudo docker exec -d clab-frrlab-PC1 ip route add 10.10.10.0/24 via 192.168.11.1 dev eth1 | ||
|
||
sudo docker exec -d clab-frrlab-PC2 ip link set eth1 up | ||
sudo docker exec -d clab-frrlab-PC2 ip addr add 192.168.12.2/24 dev eth1 | ||
sudo docker exec -d clab-frrlab-PC2 ip route add 192.168.0.0/16 via 192.168.12.1 dev eth1 | ||
sudo docker exec -d clab-frrlab-PC2 ip route add 10.10.10.0/24 via 192.168.12.1 dev eth1 | ||
|
||
sudo docker exec -d clab-frrlab-PC3 ip link set eth1 up | ||
sudo docker exec -d clab-frrlab-PC3 ip addr add 192.168.13.2/24 dev eth1 | ||
sudo docker exec -d clab-frrlab-PC3 ip route add 192.168.0.0/16 via 192.168.13.1 dev eth1 | ||
sudo docker exec -d clab-frrlab-PC3 ip route add 10.10.10.0/24 via 192.168.13.1 dev eth1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Simple OSPF lab using FRR | ||
|
||
This lab example consists of three FRR routers connected in a ring topology. Each router has one PC connected to it. | ||
|
||
This is also an example of how to pre-configure lab nodes on "linux" node types in Containerlab. | ||
|
||
To start this lab, run the *run.sh* script, which will run the containerlab deploy commands, and then configure the PC interfaces. | ||
|
||
The lab configuration is documented in detail at: https://www.brianlinkletter.com/2021/05/use-containerlab-to-emulate-open-source-routers/ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
name: frr01 | ||
|
||
topology: | ||
nodes: | ||
router1: | ||
kind: linux | ||
image: frrouting/frr:v7.5.1 | ||
binds: | ||
- router1/daemons:/etc/frr/daemons | ||
- router1/frr.conf:/etc/frr/frr.conf | ||
router2: | ||
kind: linux | ||
image: frrouting/frr:v7.5.1 | ||
binds: | ||
- router2/daemons:/etc/frr/daemons | ||
- router2/frr.conf:/etc/frr/frr.conf | ||
router3: | ||
kind: linux | ||
image: frrouting/frr:v7.5.1 | ||
binds: | ||
- router3/daemons:/etc/frr/daemons | ||
- router3/frr.conf:/etc/frr/frr.conf | ||
PC1: | ||
kind: linux | ||
image: praqma/network-multitool:latest | ||
PC2: | ||
kind: linux | ||
image: praqma/network-multitool:latest | ||
PC3: | ||
kind: linux | ||
image: praqma/network-multitool:latest | ||
|
||
links: | ||
- endpoints: ["router1:eth1", "router2:eth1"] | ||
- endpoints: ["router1:eth2", "router3:eth1"] | ||
- endpoints: ["router2:eth2", "router3:eth2"] | ||
- endpoints: ["PC1:eth1", "router1:eth3"] | ||
- endpoints: ["PC2:eth1", "router2:eth3"] | ||
- endpoints: ["PC3:eth1", "router3:eth3"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
zebra=yes | ||
bgpd=no | ||
ospfd=yes | ||
ospf6d=no | ||
ripd=no | ||
ripngd=no | ||
isisd=no | ||
pimd=no | ||
ldpd=yes | ||
nhrpd=no | ||
eigrpd=no | ||
babeld=no | ||
sharpd=no | ||
staticd=no | ||
pbrd=no | ||
bfdd=no | ||
fabricd=no | ||
|
||
vtysh_enable=yes | ||
zebra_options=" -s 90000000 --daemon -A 127.0.0.1" | ||
bgpd_options=" --daemon -A 127.0.0.1" | ||
ospfd_options=" --daemon -A 127.0.0.1" | ||
ospf6d_options=" --daemon -A ::1" | ||
ripd_options=" --daemon -A 127.0.0.1" | ||
ripngd_options=" --daemon -A ::1" | ||
isisd_options=" --daemon -A 127.0.0.1" | ||
pimd_options=" --daemon -A 127.0.0.1" | ||
ldpd_options=" --daemon -A 127.0.0.1" | ||
nhrpd_options=" --daemon -A 127.0.0.1" | ||
eigrpd_options=" --daemon -A 127.0.0.1" | ||
babeld_options=" --daemon -A 127.0.0.1" | ||
sharpd_options=" --daemon -A 127.0.0.1" | ||
staticd_options=" --daemon -A 127.0.0.1" | ||
pbrd_options=" --daemon -A 127.0.0.1" | ||
bfdd_options=" --daemon -A 127.0.0.1" | ||
fabricd_options=" --daemon -A 127.0.0.1" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
frr version 7.5.1_git | ||
frr defaults traditional | ||
hostname router1 | ||
no ipv6 forwarding | ||
! | ||
interface eth1 | ||
ip address 192.168.1.1/24 | ||
! | ||
interface eth2 | ||
ip address 192.168.2.1/24 | ||
! | ||
interface eth3 | ||
ip address 192.168.11.1/24 | ||
! | ||
interface lo | ||
ip address 10.10.10.1/32 | ||
! | ||
router ospf | ||
passive-interface eth3 | ||
network 192.168.1.0/24 area 0.0.0.0 | ||
network 192.168.2.0/24 area 0.0.0.0 | ||
network 192.168.11.0/24 area 0.0.0.0 | ||
! | ||
line vty | ||
! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
zebra=yes | ||
bgpd=no | ||
ospfd=yes | ||
ospf6d=no | ||
ripd=no | ||
ripngd=no | ||
isisd=no | ||
pimd=no | ||
ldpd=yes | ||
nhrpd=no | ||
eigrpd=no | ||
babeld=no | ||
sharpd=no | ||
staticd=no | ||
pbrd=no | ||
bfdd=no | ||
fabricd=no | ||
|
||
vtysh_enable=yes | ||
zebra_options=" -s 90000000 --daemon -A 127.0.0.1" | ||
bgpd_options=" --daemon -A 127.0.0.1" | ||
ospfd_options=" --daemon -A 127.0.0.1" | ||
ospf6d_options=" --daemon -A ::1" | ||
ripd_options=" --daemon -A 127.0.0.1" | ||
ripngd_options=" --daemon -A ::1" | ||
isisd_options=" --daemon -A 127.0.0.1" | ||
pimd_options=" --daemon -A 127.0.0.1" | ||
ldpd_options=" --daemon -A 127.0.0.1" | ||
nhrpd_options=" --daemon -A 127.0.0.1" | ||
eigrpd_options=" --daemon -A 127.0.0.1" | ||
babeld_options=" --daemon -A 127.0.0.1" | ||
sharpd_options=" --daemon -A 127.0.0.1" | ||
staticd_options=" --daemon -A 127.0.0.1" | ||
pbrd_options=" --daemon -A 127.0.0.1" | ||
bfdd_options=" --daemon -A 127.0.0.1" | ||
fabricd_options=" --daemon -A 127.0.0.1" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
frr version 7.5.1_git | ||
frr defaults traditional | ||
hostname router2 | ||
no ipv6 forwarding | ||
! | ||
interface eth1 | ||
ip address 192.168.1.2/24 | ||
! | ||
interface eth2 | ||
ip address 192.168.3.1/24 | ||
! | ||
interface eth3 | ||
ip address 192.168.12.1/24 | ||
! | ||
interface lo | ||
ip address 10.10.10.2/32 | ||
! | ||
router ospf | ||
passive-interface eth3 | ||
network 192.168.1.0/24 area 0.0.0.0 | ||
|
||
network 192.168.3.0/24 area 0.0.0.0 | ||
network 192.168.12.0/24 area 0.0.0.0 | ||
! | ||
line vty | ||
! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
zebra=yes | ||
bgpd=no | ||
ospfd=yes | ||
ospf6d=no | ||
ripd=no | ||
ripngd=no | ||
isisd=no | ||
pimd=no | ||
ldpd=yes | ||
nhrpd=no | ||
eigrpd=no | ||
babeld=no | ||
sharpd=no | ||
staticd=no | ||
pbrd=no | ||
bfdd=no | ||
fabricd=no | ||
|
||
vtysh_enable=yes | ||
zebra_options=" -s 90000000 --daemon -A 127.0.0.1" | ||
bgpd_options=" --daemon -A 127.0.0.1" | ||
ospfd_options=" --daemon -A 127.0.0.1" | ||
ospf6d_options=" --daemon -A ::1" | ||
ripd_options=" --daemon -A 127.0.0.1" | ||
ripngd_options=" --daemon -A ::1" | ||
isisd_options=" --daemon -A 127.0.0.1" | ||
pimd_options=" --daemon -A 127.0.0.1" | ||
ldpd_options=" --daemon -A 127.0.0.1" | ||
nhrpd_options=" --daemon -A 127.0.0.1" | ||
eigrpd_options=" --daemon -A 127.0.0.1" | ||
babeld_options=" --daemon -A 127.0.0.1" | ||
sharpd_options=" --daemon -A 127.0.0.1" | ||
staticd_options=" --daemon -A 127.0.0.1" | ||
pbrd_options=" --daemon -A 127.0.0.1" | ||
bfdd_options=" --daemon -A 127.0.0.1" | ||
fabricd_options=" --daemon -A 127.0.0.1" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
frr version 7.5.1_git | ||
frr defaults traditional | ||
hostname router3 | ||
no ipv6 forwarding | ||
! | ||
interface eth1 | ||
ip address 192.168.2.2/24 | ||
! | ||
interface eth2 | ||
ip address 192.168.3.2/24 | ||
! | ||
interface eth3 | ||
ip address 192.168.13.1/24 | ||
! | ||
interface lo | ||
ip address 10.10.10.3/32 | ||
! | ||
router ospf | ||
passive-interface eth3 | ||
network 192.168.2.0/24 area 0.0.0.0 | ||
network 192.168.3.0/24 area 0.0.0.0 | ||
network 192.168.13.0/24 area 0.0.0.0 | ||
! | ||
line vty | ||
! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#!/bin/sh | ||
clab deploy --topo frrlab.yml | ||
./PC-interfaces.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters