實驗環境:Mininet and Remote Controller(Ubuntu14.04 Desktop ryu)
實驗過程:
1. 在有圖形界面的控制器端,遠程登錄到mininet以使用可視化界面來配置實驗網絡
$ ssh -X mininet@192.168.0.31
$ cd ~/mininet/examples
$ sudo python miniedit.py
2. 打開控制器gui發現進程
$ cd ~/Downloads/ryu-3.26
# PYTHONPATH=. ./bin/ryu run --observe-links ryu/app/gui_topology/gui_topology.py
3. 在mininet運行拓撲,進入CLI命令行界面,啟動成功后,在控制器用網頁打卡本地8080端口可看到拓撲展示
$ sudo mn -c
$ sudo python ~/mininet/examples/etest.py
4. 配置流表
a. standalone配置MAC Learning
# ovs-ofctl del-flows s4
# ovs-ofctl add-flow s4 "table=0 actions=learn(table=2,NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],output:NXM_OF_IN_PORT[]),resubmit(,1)"
# ovs-ofctl add-flow s4 "table=1,priority=0 actions=NORMAL"
# ovs-ofctl dump-flows s4
b. secure配置流表
# ovs-ofctl add-flow s1 "in_port=2,ip,nw_src=10.0.0.1,nw_dst=10.0.0.4 actions=output:1"
# ovs-ofctl add-flow s1 "in_port=1,ip,nw_src=10.0.0.4,nw_dst=10.0.0.1 actions=output:2"
# ovs-ofctl add-flow s1 "in_port=2,arp,nw_src=10.0.0.1,nw_dst=10.0.0.4 actions=output:1"
# ovs-ofctl add-flow s1 "in_port=1,arp,nw_src=10.0.0.4,nw_dst=10.0.0.1 actions=output:2"
