docker下使用quagga實現ospf協議

1、實現拓撲如下:

 

2、連接基本拓撲(其中主機是常規的ubuntu、交換機使用的是ovs、路由器是自己封裝的quagga)

使用以下語句,連接基本的拓撲結構

sudo ovs-vsctl add-br s1    #生成交換機s1
sudo docker run -itd --network=none --name=h1 --privileged=true tzk/ubuntu
sudo docker run -itd --network=none --name=h2 --privileged=true tzk/ubuntu
sudo docker run -itd --network=none --name=server --privileged=true tzk/ubuntu
sudo docker run -itd --network=none --name=Rt170 --privileged=true tzk/quagga
sudo docker run -itd --network=none --name=Rt171 --privileged=true tzk/quagga
#交換機連接h1、h2和Rt170
sudo ovs-docker add-port s1 eth1 h1 --ipaddress=192.168.100.10/24 --gateway=192.168.100.170
sudo ovs-docker add-port s1 eth1 h2 --ipaddress=192.168.100.11/24 --gateway=192.168.100.170
sudo ovs-docker add-port s1 eth1 Rt170 --ipaddress=192.168.100.170/24
#Rt170、Rt171、server相連
sudo mkdir /var/run/netns
PID1=$(sudo docker inspect -f '{{.State.Pid}}' Rt170)
PID2=$(sudo docker inspect -f '{{.State.Pid}}' Rt171)
PID3=$(sudo docker inspect -f '{{.State.Pid}}' server)
sudo ln -s /proc/$PID1/ns/net /var/run/netns/$PID1
sudo ln -s /proc/$PID2/ns/net /var/run/netns/$PID2
sudo ln -s /proc/$PID3/ns/net /var/run/netns/$PID3
sudo ip link add v1 type veth peer name v2
sudo ip link set v1 netns $PID1
sudo ip link set v2 netns $PID2
sudo ip netns exec $PID1 ip link set v1 up
sudo ip netns exec $PID1 ip addr add 192.168.50.170/24 dev v1
sudo ip netns exec $PID2 ip link set v2 up
sudo ip netns exec $PID2 ip addr add 192.168.50.171/24 dev v2
sudo ip link add v3 type veth peer name v4
sudo ip link set v3 netns $PID2
sudo ip link set v4 netns $PID3
sudo ip netns exec $PID2 ip link set v3 up
sudo ip netns exec $PID2 ip addr add 192.168.200.171/24 dev v3
sudo ip netns exec $PID3 ip link set v4 up
sudo ip netns exec $PID3 ip addr add 192.168.200.20/24 dev v4
#給服務器server設置默認網關爲Rt171
sudo ip netns exec $PID3 ip route add default via 192.168.200.171

3、實現路由器功能。以上2步驟的實現,可以在同網段相互ping通,但是Rt170與Rt171並沒有實現其該有的路由功能。

     我們結下來實現其路由功能(以Rt171爲例)

      3.1、進入Rt171路由器中開大zebra與ospfd 

                  

      3.2、配置路由器的ospf協議

       

      3.3、查看鄰居信息  show ip ospf neighbor

            

       以上的操作是針對Rt171的,Rt170相同,主要是在3.2步驟不同,下圖是針對Rt170的3.2的ospf協議配置

          

      Rt170的配置完成neighbor信息如下  

         

4、查看Rt170與Rt171配置效果   show ip route  

      4.1、Rt170的

      

      4.2、Rt171的

         

5、測試

      5.1、h1  ping  server     

           

           

      5.2、server ping h1

           

             

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章