我有一个虚拟网络这样支持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