FRR學習第4天-路由聚合

今天學習使用frr搭建一個bgp網絡環境,練習以下功能:shell

  1. 兩個frr路由器創建鄰居關係
  2. 進行路由聚合
  3. 實現兩個網絡經過動態路由互通

實驗拓撲

clipboard.png

配置主機

主機1

#bgp 配置
router bgp 7675
 bgp router-id 192.168.59.128
 neighbor 192.168.59.129 remote-as 7676
 !
!
#配置一個host
sudo ip netns add ns1 
sudo ip link add veth1 type veth peer name eth0 netns ns1
sudo ip netns exec ns1 ip link set eth0 up
sudo ip netns exec ns1 ip link set lo up
sudo ip netns exec ns1 ip addr add 2.2.2.2/24 dev eth0
sudo ip netns exec ns1 ip route add default via 2.2.2.254 dev eth0
sudo ip link set veth1 up
sudo ip link add br1 type bridge
sudo ip link set br1 up
sudo ip link set veth1 master br1
sudo ip addr add 2.2.2.254/24 dev br1
#打開轉發開關
ubuntu@ubuntu:~$ sudo -i
root@ubuntu:~# echo 1 > /proc/sys/net/ipv4/ip_forward

#添加幾個其它網段的路由
ubuntu@ubuntu:~$ sudo ip route add 2.2.3.0/24 via 192.168.59.129 dev ens34    
ubuntu@ubuntu:~$ sudo ip route add 2.2.4.0/24 via 192.168.59.129 dev ens34 
ubuntu@ubuntu:~$ sudo ip route add 2.2.5.0/24 via 192.168.59.129 dev ens34 
ubuntu@ubuntu:~$ sudo ip route add 2.2.6.0/24 via 192.168.59.129 dev ens34

主機2

#bgp 配置
router bgp 7676
 bgp router-id 192.168.59.129
 neighbor 192.168.59.128 remote-as 7675
 !
!
#配置一個host
sudo ip netns add ns1 
sudo ip link add veth1 type veth peer name eth0 netns ns1
sudo ip netns exec ns1 ip link set eth0 up
sudo ip netns exec ns1 ip link set lo up
sudo ip netns exec ns1 ip addr add 3.3.3.3/24 dev eth0
sudo ip netns exec ns1 ip route add default via 3.3.3.254 dev eth0
sudo ip link set veth1 up
sudo ip link add br1 type bridge
sudo ip link set br1 up
sudo ip link set veth1 master br1
sudo ip addr add 3.3.3.254/24 dev br1
#打開轉發開關
ubuntu@ubuntu:~$ sudo -i
root@ubuntu:~# echo 1 > /proc/sys/net/ipv4/ip_forward

聚合攜帶summary-only選項,該選項只會宣告聚合地址,不會宣告更具體的地址

主機1:經過配置聚合進行發佈

ubuntu(config-router)# aggregate-address 2.2.0.0/16 summary-only
ubuntu(config-router)# network 2.2.3.0/24

主機2

ubuntu(config-router)# network 3.3.3.0/24

查看配置結果

主機1

ubuntu# show ip bgp
BGP table version is 25, local router ID is 192.168.59.128, vrf id 0
Default local pref 100, local AS 7675
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 2.2.0.0/16       0.0.0.0                            32768 i
s> 2.2.3.0/24       0.0.0.0                  0         32768 i
*> 3.3.3.0/24       192.168.59.129           0             0 7676 i

Displayed  3 routes and 3 total paths
ubuntu# 
#能夠看到2.2.3.0/24前面有個s字母,表示更加具體的路由被抑制了。

主機2

ubuntu# show ip bgp 
BGP table version is 24, local router ID is 192.168.59.129, vrf id 0
Default local pref 100, local AS 7676
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 2.2.0.0/16       192.168.59.128                         0 7675 i
*> 3.3.3.0/24       0.0.0.0                  0         32768 i

Displayed  2 routes and 2 total paths
ubuntu# 
#只收到對等體的聚合路由

從上面能夠看出,summary-only選項,該選項只會宣告聚合地址,不會宣告更具體的地址。具體路由會被抑制,標號爲s>。ubuntu

測試

主機1

ubuntu@ubuntu:~$ sudo ip netns exec ns1 ping 3.3.3.3 -c 2
PING 3.3.3.3 (3.3.3.3) 56(84) bytes of data.
64 bytes from 3.3.3.3: icmp_seq=1 ttl=62 time=0.372 ms
64 bytes from 3.3.3.3: icmp_seq=2 ttl=62 time=0.339 ms

--- 3.3.3.3 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 32ms
rtt min/avg/max/mdev = 0.339/0.355/0.372/0.025 ms
ubuntu@ubuntu:~$

主機2

ubuntu@ubuntu:~$ sudo ip netns exec ns1 ping 2.2.2.2 -c 2
PING 2.2.2.2 (2.2.2.2) 56(84) bytes of data.
64 bytes from 2.2.2.2: icmp_seq=1 ttl=62 time=0.564 ms
64 bytes from 2.2.2.2: icmp_seq=2 ttl=62 time=0.359 ms

--- 2.2.2.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 3ms
rtt min/avg/max/mdev = 0.359/0.461/0.564/0.104 ms
ubuntu@ubuntu:~$
相關文章
相關標籤/搜索