2015-10-12 34 views
0

我成立了Mininet在VirtualBox和運行以下拓撲:泛光燈防火牆REST API

sudo mn --topo single,3 --mac --switch ovsk --controller=remote,ip=192.168.56.1,port=6653 

我也跑在主機的泛光控制器。

在mininet下ping所有主機時,它們的響應沒有問題。

mininet>pingall 

當我啓用防火牆這樣與REST API出現的問題:

curl http://192.168.56.1:8080/wm/firewall/module/enable/json 

在這種情況下,或者沒有進行迴應收到或當我重複pingall指揮權的任意主機將重播並結束。使用以下作爲唯一的規則

而且例如:

curl -X POST -d '{"action":"ALLOW"}' http://192.168.56.1:8080/wm/firewall/rules/json 

什麼,我認爲應該允許所有主機之間的ping,不能正​​常工作。

我不誠實地知道我是否錯過了某些東西,或者這是一個錯誤,但我在文檔中找不到進一步的解釋。

對於我使用win10的實驗,windows防火牆都是禁用的。

回答

0

防火牆啓用時默認拒絕所有流量,除非創建明確的ALLOW規則。

要添加ALLOW規則流通過例如開關1 00:00:00:00:00:00:00:01

curl -X POST -d '{"switchid": "00:00:00:00:00:00:00:01"}' http://localhost:8080/wm/firewall/rules/json 

這將允許直接連接到SWITCH1 only.If你必須在網絡中的多個開關的主機之間的ping,那麼你將有爲每個交換機執行此操作以允許連接到它們的主機之間進行通信。

但是,您可以僅允許特定主機(例如hostA的(10.0.0.3)和hostB上(10.0.0.7))通過明確ALLOW規則hostA到hostB的,也從hostB的回hostA的溝通。

curl -X POST -d '{"src-ip": "10.0.0.3/32", "dst-ip": "10.0.0.7/32"}' http://localhost:8080/wm/firewall/rules/json 
curl -X POST -d '{"src-ip": "10.0.0.7/32", "dst-ip": "10.0.0.3/32"}' http://localhost:8080/wm/firewall/rules/json 

另請注意:未指定動作意味着ALLOW規則。 還有更多你還可以做, 更多請參閱文檔:Firewall REST API