【问题标题】:Floodlight Firewall REST APIFloodlight 防火墙 REST API
【发布时间】:2015-12-05 15:43:24
【问题描述】:

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

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

我还在主机中运行了泛光灯控制器。

当 ping mininet 下的所有主机时,它们的响应没有问题。

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

【问题讨论】:

    标签: api rest acl access-control mininet


    【解决方案1】:

    防火墙在启用时默认拒绝所有流量,除非创建了明确的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
    

    这将只允许直接连接到交换机 1 的主机之间进行 ping。如果网络中有更多交换机,则必须对每个交换机执行此操作,以允许连接到它们的主机之间进行通信。

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

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多