我正在尝试更改现有的 cpqd 开关,以使其充当状态防火墙,可以定义查看 TCP 标头标志的流条目。
我正在使用的开源项目是: https ://github.com/CPqD/ofsoftswitch13
我无法理解代码中的更改必须发生在哪里,或者换句话说,交换机在哪里监听和监控主机之间的数据包流量。我不确定如何调试它,所以我目前正在代码中使用打印。关于如何在代码中找到发送或接收数据包的位置的任何建议?或者关于如何轻松调试代码?
提前致谢
我正在尝试更改现有的 cpqd 开关,以使其充当状态防火墙,可以定义查看 TCP 标头标志的流条目。
我正在使用的开源项目是: https ://github.com/CPqD/ofsoftswitch13
我无法理解代码中的更改必须发生在哪里,或者换句话说,交换机在哪里监听和监控主机之间的数据包流量。我不确定如何调试它,所以我目前正在代码中使用打印。关于如何在代码中找到发送或接收数据包的位置的任何建议?或者关于如何轻松调试代码?
提前致谢
您需要创建一个使用 Openflow 从交换机设置流表的应用程序。这个库抽象了 Openflow 协议,该协议知道如何与启用 Openflow 的交换机进行交互。
如果要实现防火墙,则必须编写一个应用程序,该应用程序将使用此库在流表中写入条目。你需要有一个带交换机的网络基础设施(你可以用 Mininet 模拟它)
如示例所示(请参阅主题:安装流以匹配 IPv6 数据包),您可以简化此示例以创建流条目以阻塞某些流。您只需要创建一个不执行任何操作的匹配项(这意味着它将阻止流程)。
我建议你看看这个教程:http ://sdnhub.org/tutorials/opendaylight/ 。它简单明了。如果您想通过 REST 与开关进行交互,请查看:http ://www.frank-durr.de/?p=68 。