Last active
January 3, 2024 14:16
-
-
Save Shikugawa/2a350061ffa7154319d01947d58f4b67 to your computer and use it in GitHub Desktop.
/32 maintenance mode
This file contains hidden or 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
int net0 | |
ipv6 nd ra-interval 3 | |
no ipv6 nd suppress-ra | |
! | |
int net1 | |
ipv6 nd ra-interval 3 | |
no ipv6 nd suppress-ra | |
! | |
router bgp 65000 | |
bgp router-id 10.255.0.1 | |
bgp bestpath as-path multipath-relax | |
neighbor PEER peer-group | |
neighbor PEER remote-as external | |
neighbor PEER bfd 4 400 400 | |
neighbor net1 interface peer-group PEER | |
neighbor net2 interface peer-group PEER | |
neighbor net3 interface peer-group PEER | |
! | |
address-family ipv4 unicast | |
redistribute connected | |
exit-address-family | |
! |
This file contains hidden or 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
int net0 | |
ipv6 nd ra-interval 3 | |
no ipv6 nd suppress-ra | |
! | |
int net1 | |
ipv6 nd ra-interval 3 | |
no ipv6 nd suppress-ra | |
! | |
router bgp 65001 | |
bgp router-id 10.255.0.2 | |
bgp bestpath as-path multipath-relax | |
neighbor PEER peer-group | |
neighbor PEER remote-as external | |
neighbor PEER bfd 4 400 400 | |
neighbor net0 interface peer-group PEER | |
! | |
address-family ipv4 unicast | |
neighbor PEER route-map LB_OUT out | |
network 1.1.1.1/32 | |
network 2.2.2.2/32 | |
network 3.3.3.3/32 | |
network 4.4.4.4/32 | |
exit-address-family | |
! | |
route-map LB_OUT permit 5 | |
match ip address prefix-list lbvip_maint | |
# no set as-path prependで、as-path-prependの設定を解除できる | |
set as-path prepend 65001 65001 65001 65001 | |
! | |
route-map LB_OUT permit 10 | |
match ip address prefix-list lbvip | |
! | |
ip prefix-list lbvip permit 1.1.1.1/32 | |
ip prefix-list lbvip permit 2.2.2.2/32 | |
ip prefix-list lbvip permit 3.3.3.3/32 | |
ip prefix-list lbvip permit 4.4.4.4/32 | |
ip prefix-list lbvip_maint permit 1.1.1.1/32 | |
ip prefix-list lbvip_maint permit 2.2.2.2/32 | |
! |
This file contains hidden or 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
int net0 | |
ipv6 nd ra-interval 3 | |
no ipv6 nd suppress-ra | |
! | |
int net1 | |
ipv6 nd ra-interval 3 | |
no ipv6 nd suppress-ra | |
! | |
router bgp 65001 | |
bgp router-id 10.255.0.3 | |
bgp bestpath as-path multipath-relax | |
neighbor PEER peer-group | |
neighbor PEER remote-as external | |
neighbor PEER bfd 4 400 400 | |
neighbor net0 interface peer-group PEER | |
! | |
address-family ipv4 unicast | |
neighbor PEER route-map LB_OUT out | |
network 1.1.1.1/32 | |
network 2.2.2.2/32 | |
network 3.3.3.3/32 | |
network 4.4.4.4/32 | |
exit-address-family | |
! | |
route-map LB_OUT permit 5 | |
match ip address prefix-list lbvip_maint | |
# no set as-path prependで、as-path-prependの設定を解除できる | |
set as-path prepend 65001 65001 65001 65001 | |
! | |
route-map LB_OUT permit 10 | |
match ip address prefix-list lbvip | |
! | |
ip prefix-list lbvip permit 1.1.1.1/32 | |
ip prefix-list lbvip permit 2.2.2.2/32 | |
ip prefix-list lbvip permit 3.3.3.3/32 | |
ip prefix-list lbvip permit 4.4.4.4/32 | |
ip prefix-list lbvip_maint permit 1.1.1.1/32 | |
ip prefix-list lbvip_maint permit 2.2.2.2/32 | |
! |
This file contains hidden or 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
int net0 | |
ipv6 nd ra-interval 3 | |
no ipv6 nd suppress-ra | |
! | |
int net1 | |
ipv6 nd ra-interval 3 | |
no ipv6 nd suppress-ra | |
! | |
router bgp 65001 | |
bgp router-id 10.255.0.4 | |
bgp bestpath as-path multipath-relax | |
neighbor PEER peer-group | |
neighbor PEER remote-as external | |
neighbor PEER bfd 4 400 400 | |
neighbor net0 interface peer-group PEER | |
! | |
address-family ipv4 unicast | |
neighbor PEER route-map LB_OUT out | |
network 1.1.1.1/32 | |
network 2.2.2.2/32 | |
network 3.3.3.3/32 | |
network 4.4.4.4/32 | |
exit-address-family | |
! | |
route-map LB_OUT permit 5 | |
match ip address prefix-list lbvip_maint | |
# no set as-path prependで、as-path-prependの設定を解除できる | |
set as-path prepend 65001 65001 65001 65001 | |
! | |
route-map LB_OUT permit 10 | |
match ip address prefix-list lbvip | |
! | |
ip prefix-list lbvip permit 1.1.1.1/32 | |
ip prefix-list lbvip permit 2.2.2.2/32 | |
ip prefix-list lbvip permit 3.3.3.3/32 | |
ip prefix-list lbvip permit 4.4.4.4/32 | |
ip prefix-list lbvip_maint permit 1.1.1.1/32 | |
ip prefix-list lbvip_maint permit 2.2.2.2/32 | |
! |
This file contains hidden or 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
postinit: | |
- cmds: | |
- cmd: docker cp frr.conf.R0 R0:/etc/frr/frr.conf | |
- cmd: docker cp frr.conf.R1 R1:/etc/frr/frr.conf | |
- cmd: docker cp frr.conf.R2 R2:/etc/frr/frr.conf | |
- cmd: docker cp frr.conf.R3 R3:/etc/frr/frr.conf | |
- cmd: docker exec R0 /usr/lib/frr/frr start | |
- cmd: docker exec R1 /usr/lib/frr/frr start | |
- cmd: docker exec R2 /usr/lib/frr/frr start | |
- cmd: docker exec R3 /usr/lib/frr/frr start | |
nodes: | |
- name: S0 | |
image: slankdev/frr | |
interfaces: | |
- { name: net0, type: direct, args: R0#net0 } | |
- name: R0 | |
image: slankdev/frr | |
sysctls: | |
- sysctl: net.ipv4.ip_forward=1 | |
- sysctl: net.ipv4.conf.all.rp_filter=0 | |
- sysctl: net.ipv4.conf.lo.rp_filter=0 | |
- sysctl: net.ipv6.conf.all.disable_ipv6=0 | |
- sysctl: net.ipv6.conf.all.forwarding=1 | |
- sysctl: net.ipv6.conf.all.forwarding=1 | |
- sysctl: net.ipv4.fib_multipath_hash_policy=1 | |
interfaces: | |
- { name: net0, type: direct, args: S0#net0 } | |
- { name: net1, type: direct, args: R1#net0 } | |
- { name: net2, type: direct, args: R2#net0 } | |
- { name: net3, type: direct, args: R3#net0 } | |
- name: R1 | |
image: slankdev/frr | |
sysctls: | |
- sysctl: net.ipv4.ip_forward=1 | |
- sysctl: net.ipv4.conf.all.rp_filter=0 | |
- sysctl: net.ipv4.conf.lo.rp_filter=0 | |
- sysctl: net.ipv6.conf.all.disable_ipv6=0 | |
- sysctl: net.ipv6.conf.all.forwarding=1 | |
- sysctl: net.ipv6.conf.all.forwarding=1 | |
- sysctl: net.ipv4.fib_multipath_hash_policy=1 | |
interfaces: | |
- { name: net0, type: direct, args: R0#net1 } | |
- { name: net1, type: direct, args: S1#net0 } | |
- name: S1 | |
image: slankdev/frr | |
interfaces: | |
- { name: net0, type: direct, args: R1#net1 } | |
- name: R2 | |
image: slankdev/frr | |
sysctls: | |
- sysctl: net.ipv4.ip_forward=1 | |
- sysctl: net.ipv4.conf.all.rp_filter=0 | |
- sysctl: net.ipv4.conf.lo.rp_filter=0 | |
- sysctl: net.ipv6.conf.all.disable_ipv6=0 | |
- sysctl: net.ipv6.conf.all.forwarding=1 | |
- sysctl: net.ipv6.conf.all.forwarding=1 | |
- sysctl: net.ipv4.fib_multipath_hash_policy=1 | |
interfaces: | |
- { name: net0, type: direct, args: R0#net2 } | |
- { name: net1, type: direct, args: S2#net0 } | |
- name: S2 | |
image: slankdev/frr | |
interfaces: | |
- { name: net0, type: direct, args: R2#net1 } | |
- name: R3 | |
image: slankdev/frr | |
sysctls: | |
- sysctl: net.ipv4.ip_forward=1 | |
- sysctl: net.ipv4.conf.all.rp_filter=0 | |
- sysctl: net.ipv4.conf.lo.rp_filter=0 | |
- sysctl: net.ipv6.conf.all.disable_ipv6=0 | |
- sysctl: net.ipv6.conf.all.forwarding=1 | |
- sysctl: net.ipv6.conf.all.forwarding=1 | |
- sysctl: net.ipv4.fib_multipath_hash_policy=1 | |
interfaces: | |
- { name: net0, type: direct, args: R0#net3 } | |
- { name: net1, type: direct, args: S3#net0 } | |
- name: S3 | |
image: slankdev/frr | |
interfaces: | |
- { name: net0, type: direct, args: R3#net1 } | |
node_configs: | |
- name: S0 | |
cmds: | |
- cmd: ip addr add 10.1.0.2/24 dev net0 | |
- cmd: ip route replace default via 10.1.0.1 | |
- name: R0 | |
cmds: | |
- cmd: ip addr add 10.255.0.1/32 dev lo | |
- cmd: ip addr add 10.0.0.1/24 dev net0 | |
- cmd: ip addr add 10.1.0.10/24 dev net1 | |
- cmd: ip addr add 10.1.0.20/24 dev net2 | |
- cmd: ip addr add 10.1.0.30/24 dev net3 | |
- name: R1 | |
cmds: | |
- cmd: ip addr add 10.255.0.2/32 dev lo | |
- cmd: ip addr add 10.0.0.11/24 dev net0 | |
- cmd: ip addr add 192.168.0.1/24 dev net1 | |
# VIP | |
- cmd: ip addr add 1.1.1.1/32 dev lo | |
- cmd: ip addr add 2.2.2.2/32 dev lo | |
- cmd: ip addr add 3.3.3.3/32 dev lo | |
- cmd: ip addr add 4.4.4.4/32 dev lo | |
- cmd: ip route replace default via 10.0.0.1 | |
- name: S1 | |
cmds: | |
- cmd: ip addr add 192.168.0.2/24 dev net0 | |
- cmd: ip route replace default via 192.168.0.1 | |
- cmd: sh -c "echo S1 > index.html" | |
- cmd: nohup python3 -m http.server 80 & | |
- name: R2 | |
cmds: | |
- cmd: ip addr add 10.255.0.3/32 dev lo | |
- cmd: ip addr add 10.0.0.21/24 dev net0 | |
- cmd: ip addr add 192.168.0.1/24 dev net1 | |
# VIP | |
- cmd: ip addr add 1.1.1.1/32 dev lo | |
- cmd: ip addr add 2.2.2.2/32 dev lo | |
- cmd: ip addr add 3.3.3.3/32 dev lo | |
- cmd: ip addr add 4.4.4.4/32 dev lo | |
- cmd: ip route replace default via 10.0.0.1 | |
- name: S2 | |
cmds: | |
- cmd: ip addr add 192.168.0.2/24 dev net0 | |
- cmd: ip route replace default via 192.168.0.1 | |
- cmd: sh -c "echo S2 > index.html" | |
- cmd: nohup python3 -m http.server 80 & | |
- name: R3 | |
cmds: | |
- cmd: ip addr add 10.255.0.4/32 dev lo | |
- cmd: ip addr add 10.0.0.31/24 dev net0 | |
- cmd: ip addr add 192.168.0.1/24 dev net1 | |
# VIP | |
- cmd: ip addr add 1.1.1.1/32 dev lo | |
- cmd: ip addr add 2.2.2.2/32 dev lo | |
- cmd: ip addr add 3.3.3.3/32 dev lo | |
- cmd: ip addr add 4.4.4.4/32 dev lo | |
- cmd: ip route replace default via 10.0.0.1 | |
- name: S3 | |
cmds: | |
- cmd: ip addr add 192.168.0.2/24 dev net0 | |
- cmd: ip route replace default via 192.168.0.1 | |
- cmd: sh -c "echo S3 > index.html" | |
- cmd: nohup python3 -m http.server 80 & |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment