请教下面这条iptables规则
iptables -I $chain -t mangle -p tcp ! --syn -m state --state NEW -j DROP
上面iptables规则是不是限定了所有的新建的tcp连接只要不是syn的都将丢弃?
我为虚拟机写下了上面的规则,当虚拟机迁移到其他的主机上时,之前的连接应该会断掉的。为什么迁移过后连接还是重新建立起来了?上面的规则不对么?
PS:目的主机上也有同样的规则
求解
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
其实上面那条规则是可以实现我的需求的。问题在于我把规则写错地方了。应该把规则放在对VMM处过滤。
恩,这样就解决了。
回复 7# yayasusu
呵呵,互相学习,如果你实验成功了,记得把经验与大家共同分享一下啊!
回复 6# platinum
恩,对,你说的是对的。目前的Xen虚拟机live migration就是这样的。
我现在是想利用iptables,将迁移后之前的tcp连接断开。
不过你提醒了我,我貌似应该在VMM处过滤。
赶紧去试试。多谢啦。O(∩_∩)O~
PS:我看过你的一些文章,崇拜你。O(∩_∩)O~
没用过 xen,不知道它的工作原理是什么,不好回答
但传统意义上来讲
1、如果虚拟机在工作状态中也可以迁移
2、如果虚拟机在迁移后的 IP 和 MAC 都没有变化
那么你的迁移就好比把一台服务器在带电情况下从 A 地搬到 B 地一样
如果这样的话,连接应该不会断开才对
回复 4# platinum
利用Xen的live migration.因为xen本身提供透明迁移,所以我想加入iptables规则,让迁移后,之前的连接断开。
怎么个迁移法?
那上面的规则是对的罗?我的需求是这样的:
虚拟机提供的FTP服务,当虚拟机迁移到其他主机上时。原本连接的用户是要断开的。
因为后面有一个限定,-m state --state NEW
这个意思是首次进入 conntrack 框架的数据
作为 TCP 协议而言,首次进入 conntrack 的数据必须是 syn 包
因此,如果首次进入的数据包不是 syn,则一定是非法的,应该 DROP