我們上次在Mininet所模擬出來的拓墣是一個Router連接兩個不同網段,且每個網段各有一台host,現在則是使用兩台Router分別連接一台host,和上次不一樣的地方是,這次實驗有三個不同網段,而且不僅是host要設定路由外,Router的部分也要進行設定
實驗環境
- ubuntu desktop 16.04
- mininet 2.3.0
#執行mininet的拓墣檔案(router_2.py)
python ./router_2.py

# xterm開啟r1 r2 h1 h2

#進行設備上IP的設定(有以下設定語法)
ifconfig [設備介面] [IP位址]/[遮罩數]
ifconfig [設備介面] [IP位址] netmask [子網路遮罩IP]
ip addr add [IP位址]/[遮罩數] brd + dev [設備介面]

# 進行主機Ping測試
我們發現r1/r2/h1/h2只能ping到直連網路的網域


# 開啟路由轉發功能
echo 1 > /proc/sys/net/ipv4/ip_forward# 設定h1和h2的路由
[h1]> ip route add default -via 192.168.10.254 dev h1-eth0
[h2]> ip route add default -via 192.168.30.254 dev h2-eth0
# 觀察Ping結果
中間r1和r2間無法通訊,需要在r1和r2設定路由
# 進行路由設定
[r1]> ip route add 192.168.30.0/24 via 192.168.20.2 dev r1-eth1
[r2]> ip route add 192.168.10.0/24 via 192.168.20.1 dev r2-eth1
# 小觀察:我們停用r1的轉發功能,看看結果

如果不想經過這麼繁雜的設定,可以將上面的設定寫成python檔案,再做執行