Floodlight防火墙REST API

时间:2015-10-12 00:32:33

标签: api rest acl access-control mininet

我在Virtualbox上设置Mininet并运行以下拓扑:

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防火墙全部被禁用。

1 个答案:

答案 0 :(得分: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的主机之间的ping。如果网络中有更多交换机,则必须为每个交换机执行此操作,以允许连接到它们的主机之间进行通信。

但是,您只能通过从hostA到hostB以及hostB明确指定10.0.0.3规则来允许特定主机(例如hostA(10.0.0.7)和hostB(ALLOW))进行通信。回到主持人。

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