documentation:examples:simple_vrrp_lab
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| documentation:examples:simple_vrrp_lab [2017/07/07 00:23] – created - external edit 127.0.0.1 | documentation:examples:simple_vrrp_lab [2026/02/27 09:55] (current) – [Starting the lab] olivier | ||
|---|---|---|---|
| Line 13: | Line 13: | ||
| < | < | ||
| - | # ./ | + | # ./ |
| - | vmm module not loaded. Loading it... | + | |
| - | nmdm module not loaded. Loading it... | + | |
| - | if_tap module not loaded. Loading it... | + | |
| - | BSD Router Project (http:// | + | |
| Setting-up a virtual lab with 4 VM(s): | Setting-up a virtual lab with 4 VM(s): | ||
| - | - Working directory: /tmp/BSDRP | + | - Working directory: /home/ |
| - | - Each VM have 1 core(s) and 256M RAM | + | - Each VM has a total of 1 (1 cores and 1 threads) and 1G RAM |
| + | - Emulated NIC: virtio-net | ||
| + | - Boot mode: UEFI | ||
| - Switch mode: bridge + tap | - Switch mode: bridge + tap | ||
| - 2 LAN(s) between all VM | - 2 LAN(s) between all VM | ||
| - Full mesh Ethernet links between each VM | - Full mesh Ethernet links between each VM | ||
| - | VM 1 have the following NIC: | + | VM 1 has the following NIC: |
| - | - vtnet0 connected to VM 2. | + | - vtnet0 connected to VM 2 |
| - | - vtnet1 connected to VM 3. | + | - vtnet1 connected to VM 3 |
| - | - vtnet2 connected to VM 4. | + | - vtnet2 connected to VM 4 |
| - vtnet3 connected to LAN number 1 | - vtnet3 connected to LAN number 1 | ||
| - vtnet4 connected to LAN number 2 | - vtnet4 connected to LAN number 2 | ||
| - | VM 2 have the following NIC: | + | VM 2 has the following NIC: |
| - | - vtnet0 connected to VM 1. | + | - vtnet0 connected to VM 1 |
| - | - vtnet1 connected to VM 3. | + | - vtnet1 connected to VM 3 |
| - | - vtnet2 connected to VM 4. | + | - vtnet2 connected to VM 4 |
| - vtnet3 connected to LAN number 1 | - vtnet3 connected to LAN number 1 | ||
| - vtnet4 connected to LAN number 2 | - vtnet4 connected to LAN number 2 | ||
| - | VM 3 have the following NIC: | + | VM 3 has the following NIC: |
| - | - vtnet0 connected to VM 1. | + | - vtnet0 connected to VM 1 |
| - | - vtnet1 connected to VM 2. | + | - vtnet1 connected to VM 2 |
| - | - vtnet2 connected to VM 4. | + | - vtnet2 connected to VM 4 |
| - vtnet3 connected to LAN number 1 | - vtnet3 connected to LAN number 1 | ||
| - vtnet4 connected to LAN number 2 | - vtnet4 connected to LAN number 2 | ||
| - | VM 4 have the following NIC: | + | VM 4 has the following NIC: |
| - | - vtnet0 connected to VM 1. | + | - vtnet0 connected to VM 1 |
| - | - vtnet1 connected to VM 2. | + | - vtnet1 connected to VM 2 |
| - | - vtnet2 connected to VM 3. | + | - vtnet2 connected to VM 3 |
| - vtnet3 connected to LAN number 1 | - vtnet3 connected to LAN number 1 | ||
| - vtnet4 connected to LAN number 2 | - vtnet4 connected to LAN number 2 | ||
| - | For connecting to VM' | + | To connect |
| - | - VM 1 : cu -l /dev/nmdm1B | + | - VM 1 : sudo cu -l /dev/nmdm-BSDRP.1B |
| - | - VM 2 : cu -l /dev/nmdm2B | + | - VM 2 : sudo cu -l /dev/nmdm-BSDRP.2B |
| - | - VM 3 : cu -l /dev/nmdm3B | + | - VM 4 : sudo cu -l /dev/nmdm-BSDRP.4B |
| - | - VM 4 : cu -l /dev/nmdm4B | + | - VM 3 : sudo cu -l /dev/nmdm-BSDRP.3B |
| </ | </ | ||
| + | |||
| + | |||
| ===== Configuring Routers ===== | ===== Configuring Routers ===== | ||
| Line 60: | Line 60: | ||
| < | < | ||
| - | sysrc hostname=R1 | + | sysrc hostname=R1 |
| - | sysrc ifconfig_vtnet3=" | + | |
| - | sysrc ifconfig_vtnet4=" | + | |
| - | sysrc freevrrpd_enable=YES | + | ifconfig_vtnet4=" |
| - | cat <<EOF > / | + | |
| - | [VRID] | + | |
| - | serverid = 1 | + | echo ' |
| - | interface = vtnet3 | + | kldload carp |
| - | # This router is the master | + | service hostname restart |
| - | priority = 101 | + | |
| - | addr = 192.168.1.254/ | + | |
| - | # We want that this state is dependant with the state of vrid 2 | + | |
| - | vridsdep = 2 | + | |
| - | password = vrid1 | + | |
| - | + | ||
| - | [VRID] | + | |
| - | serverid = 2 | + | |
| - | interface = vtnet4 | + | |
| - | # This router is the master | + | |
| - | priority = 101 | + | |
| - | addr = 192.168.2.254/ | + | |
| - | password | + | |
| - | # We want that this state is dependant with the state of vrid 1 | + | |
| - | vridsdep = 1 | + | |
| - | EOF | + | |
| service netif restart | service netif restart | ||
| - | service freevrrpd start | + | sysctl net.inet.carp.preempt=1 |
| config save | config save | ||
| </ | </ | ||
| Line 93: | Line 77: | ||
| < | < | ||
| - | sysrc hostname=R2 | + | sysrc hostname=R2 |
| - | sysrc ifconfig_vtnet3=" | + | |
| - | sysrc ifconfig_vtnet4=" | + | |
| - | sysrc freevrrpd_enable=YES | + | ifconfig_vtnet4=" |
| - | cat <<EOF > / | + | |
| - | [VRID] | + | |
| - | serverid = 1 | + | echo ' |
| - | interface = vtnet3 | + | kldload carp |
| - | # This router is the backup | + | service hostname restart |
| - | priority = 100 | + | |
| - | addr = 192.168.1.254/ | + | |
| - | # We want that this state is dependant with the state of vrid 2 | + | |
| - | vridsdep = 2 | + | |
| - | password = vrid1 | + | |
| - | + | ||
| - | [VRID] | + | |
| - | serverid = 2 | + | |
| - | interface = vtnet4 | + | |
| - | # This router is the backup | + | |
| - | priority = 100 | + | |
| - | addr = 192.168.2.254/ | + | |
| - | password | + | |
| - | # We want that this state is dependant with the state of vrid 1 | + | |
| - | vridsdep = 1 | + | |
| - | EOF | + | |
| service netif restart | service netif restart | ||
| - | service freevrrpd start | + | sysctl net.inet.carp.preempt=1 |
| config save | config save | ||
| </ | </ | ||
| Line 126: | Line 94: | ||
| < | < | ||
| - | sysrc hostname=R3 | + | sysrc hostname=R3 |
| - | sysrc ifconfig_vtnet3=" | + | ifconfig_vtnet3=" |
| - | sysrc defaultrouter=" | + | defaultrouter=" |
| - | sysrc gateway_enable=NO | + | gateway_enable=NO |
| - | sysrc ipv6_gateway_enable=NO | + | ipv6_gateway_enable=NO |
| service netif restart | service netif restart | ||
| service routing restart | service routing restart | ||
| Line 139: | Line 107: | ||
| < | < | ||
| - | sysrc hostname=R4 | + | sysrc hostname=R4 |
| - | sysrc ifconfig_vtnet4=" | + | ifconfig_vtnet4=" |
| - | sysrc defaultrouter=" | + | defaultrouter=" |
| - | sysrc gateway_enable=NO | + | gateway_enable=NO |
| - | sysrc ipv6_gateway_enable=NO | + | ipv6_gateway_enable=NO |
| service netif restart | service netif restart | ||
| service routing restart | service routing restart | ||
| Line 156: | Line 124: | ||
| < | < | ||
| - | [root@R1]~# grep vrrp / | + | root@R1:~ # grep carp / |
| - | Nov 5 11:37:15 R1 freevrrpd[1177]: launching daemon in background mode | + | Feb 27 01:41:27 R1 kernel: carp: 1@vtnet3: INIT -> BACKUP (initialization complete) |
| - | Nov 5 11:37:15 R1 freevrrpd[1178]: | + | Feb 27 01:41:27 R1 kernel: carp: 2@vtnet4: INIT -> BACKUP (initialization complete) |
| - | Nov 5 11:37:15 R1 freevrrpd[1178]: reading configuration file / | + | Feb 27 01:41:29 R1 kernel: carp: 1@vtnet3: BACKUP -> MASTER (preempting a slower |
| - | Nov 5 11:37:15 R1 freevrrpd[1178]: monitored circuits engine initialized | + | Feb 27 01:41:29 R1 kernel: carp: 2@vtnet4: BACKUP -> MASTER (preempting a slower |
| - | Nov 5 11:37:16 R1 freevrrpd[1178]: server state vrid 1: backup | + | |
| - | Nov 5 11:37:17 R1 freevrrpd[1178]: | + | |
| - | Nov 5 11:37:20 R1 freevrrpd[1178]: server state vrid 1: master | + | |
| - | Nov 5 11:37:21 R1 freevrrpd[1178]: server state vrid 2: master | + | |
| </ | </ | ||
| Line 172: | Line 136: | ||
| < | < | ||
| - | [root@R2]~# grep vrrp / | + | root@R2:~ # grep carp / |
| - | Nov 5 11:41:37 R2 freevrrpd[2091]: launching daemon in background mode | + | Feb 27 01:41:26 R2 kernel: carp: 1@vtnet3: INIT -> BACKUP (initialization complete) |
| - | Nov 5 11:41:37 R2 freevrrpd[2092]: initializing threads and all VRID | + | Feb 27 01:41:26 R2 kernel: carp: 2@vtnet4: INIT -> BACKUP (initialization complete) |
| - | Nov 5 11:41:37 R2 freevrrpd[2092]: reading configuration file / | + | Feb 27 01:41:29 R2 kernel: carp: 1@vtnet3: BACKUP -> MASTER (master timed out) |
| - | Nov 5 11:41:37 R2 freevrrpd[2092]: monitored circuits engine initialized | + | Feb 27 01:41:29 R2 kernel: carp: 2@vtnet4: BACKUP -> MASTER (master timed out) |
| - | Nov 5 11:41:38 R2 freevrrpd[2092]: server state vrid 1: backup | + | Feb 27 01:41:29 R2 kernel: carp: 1@vtnet3: MASTER -> BACKUP (more frequent advertisement received) |
| - | Nov 5 11:41:39 R2 freevrrpd[2092]: server state vrid 2: backup | + | Feb 27 01:41:29 R2 kernel: carp: 2@vtnet4: MASTER -> BACKUP (more frequent advertisement received) |
| </ | </ | ||
| Line 193: | Line 157: | ||
| 64 bytes from 192.168.2.4: | 64 bytes from 192.168.2.4: | ||
| </ | </ | ||
| + | |||
| And checking ARP cache for a VRRP MAC address (00: | And checking ARP cache for a VRRP MAC address (00: | ||
| < | < | ||
| - | [root@R3]~#arp -na | grep 192.168.1.254 | + | root@R3:~ # arp -na | grep 192.168.1.254 |
| - | ? (192.168.1.254) at 00: | + | ? (192.168.1.254) at 00: |
| </ | </ | ||
| Line 205: | Line 169: | ||
| Disable one interface on R1 for changing the VRRP states: | Disable one interface on R1 for changing the VRRP states: | ||
| < | < | ||
| - | + | root@R1:~ # ifconfig vtnet3 down | |
| - | [root@R1]~# ifconfig vtnet3 down | + | root@R1:~ # grep carp / |
| - | Nov 5 11: | + | Feb 27 09:19:11 router kernel: carp: 1@vtnet3: MASTER -> INIT (hardware interface down) |
| - | Nov 5 11:48:40 R1 freevrrpd[1178]: There is a big problem here ! | + | Feb 27 09:19:11 router kernel: carp: demoted by 240 to 240 (interface |
| - | Nov 5 11:48:42 R1 freevrrpd[1178]: interface | + | Feb 27 09:19:11 router kernel: carp: 2@vtnet4: MASTER -> BACKUP (more frequent advertisement received) |
| - | Nov 5 11:48:42 R1 freevrrpd[1178]: VRID 2 (interface | + | |
| </ | </ | ||
| Line 216: | Line 179: | ||
| < | < | ||
| - | [root@R2]~#tail -f / | + | root@R2:~ # grep carp / |
| - | Nov 5 11:48:45 R2 freevrrpd[2092]: server state vrid 1: master | + | Feb 27 09:19:11 router kernel: carp: 2@vtnet4: BACKUP -> MASTER (preempting a slower |
| - | Nov 5 11:48:48 R2 freevrrpd[2092]: server state vrid 2: master | + | Feb 27 09:19:15 router kernel: carp: 1@vtnet3: BACKUP -> MASTER (master |
| </ | </ | ||
documentation/examples/simple_vrrp_lab.1499379822.txt.gz · Last modified: by 127.0.0.1
