我有一個虛擬網絡這樣支持OpenFlow-:修改IP和MAC-地址的網絡
開關是一種開放vswitch,然後整個網絡是由大轉變泛光燈控制器控制。
我試圖設置兩個流至交換機1:
1)捕獲來自H1任何分組至h2和改變他們的DST-IP和DST-MAC -addresses到H3的。 2)捕獲從h3到h1的任何數據包,並將它們的src-IP和src-MAC -addresses更改爲h2。
(檢查是否有確切泛光燈REST API請求的問題的底部)
所以,當從H1平我的ping H2應該改爲向H3和背部,但到目前爲止,我還沒有成功的。
可以這樣做嗎?如果是這樣,我錯過了什麼?提前致謝!
Mininet設置:
sudo mn --topo single,3 --controller remote
泛光燈REST API請求:
查找IP地址和MAC地址,並與JQ解析:
curl localhost:8080/wm/device/ | jq '.[]|{mac,ipv4}'
設置第一流(注意,如果你嘗試這個由你自己,MAC地址可能會不同):
curl -d '{"switch": "00:00:00:00:00:00:00:01", "name":"redirection", "src-ip":"10.0.0.1", "dst-ip":"10.0.0.2", "src-mac":"7a:b9:87:ee:d2:b7","dst-mac":"a6:77:bf:8f:c4:db", "ether-type":"0x0800","active":"true","actions":"set-dst-ip=10.0.0.3,set-dst-mac=c2:65:e3:d3:6c:11"}' localhost:8080/wm/staticflowentrypusher/json
設置第二流動:
curl -d '{"switch": "00:00:00:00:00:00:00:01", "name":"redirection2", "src-ip":"10.0.0.3", "dst-ip":"10.0.0.1", "src-mac":"c2:65:e3:d3:6c:11","dst-mac":"7a:b9:87:ee:d2:b7", "ether-type":"0x0800","active":"true","actions":"set-src-ip=10.0.0.2,set-src-mac=a6:77:bf:8f:c4:db"}' http://localhost:8080/wm/staticflowentrypusher/json