我想根据TCP选项字段丢弃我的Linux主机的传入流量。如TCP选项30多路径TCP。如果数据包包含多路径tcp符号或选项字段30,则我Linux主机需要丢弃该连接或数据包。
我的设置是主机1 <->主机2 <->主机3。主机1通过主机2向主机3发送数据包。主机2有两个接口eth0和eth1。eth0连接主机1,eth1连接主机3。当传入的ETH0数据包包含选项字段30时,我只想取消连接或丢弃数据包。
我尝试过iptables字符串比较,但不起作用。
命令是,
sudo iptables -I INPUT -j DROP -p tcp -s 0.0.0.0/0 -m string --string "Multipath TCP" --algo bm.但上述规则不会阻止多路径TCP通过主机2 eth0,eth1发送和接收。主机2无法丢弃多路径TCP (选项字段30)流量。是否可以根据选项字段丢弃指定TCP数据包。
发布于 2016-01-04 18:06:19
首先,您需要在host2上的转发链中添加规则(原因是数据包不是针对host2的,不会命中输入链)。
iptables中有一个与TCP选项相匹配的选项。请尝试执行以下iptables命令:
iptables -I FORWARD -p tcp --tcp-option 30 -j DROPhttps://stackoverflow.com/questions/34536607
复制相似问题