-
Notifications
You must be signed in to change notification settings - Fork 451
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] 安全组和子网ACL优先级问题 #4607
Comments
I found related issues that might be helpful:
|
@oilbeater 大佬,这个看着是要提到 ovn 社区解决么? |
allow 改成 allow-related 试试 |
目前将安全组相应的ACL的action改成allow 改成 allow-related,也是同样的问题;kubectl ko trace显示是通的但实际不通 |
Kube-OVN Version
v1.13.0
Kubernetes Version
v1.21.5
Operation-system/Kernel Version
"BigCloud Enterprise Linux For Euler 21.10 LTS" 4.19.90-2107.6.0.0192.8.oe1.bclinux.x86_64
Description
1、设置VLAN子网ACL为禁止同子网的所有流量,优先级设置1590
2、在该子网创建2个不同节点的Pod
3、分别给Pod1绑定安全组1,给Pod2绑定安全组2,安全组规则设置入向和出向放通所有流量
安全组下发的对应ACL规则的优先级应该都高于子网ACL的1590,理论上来说Pod1和Pod2在绑定安全组后应该可以实现互通,但实际上在VLAN子网中,他们无法Ping通彼此。
Steps To Reproduce
1、创建provider-network,defaultInterface根据实际情况调整
2、创建VLAN,vlan id根据实际情况调整
3、创建子网,子网网段、网关及ACL配置根据实际情况调整
4、创建安全组
5、创建Pod
分别给创建的Pod一个绑定sg1(ovn.kubernetes.io/security_groups: sg1) 一个绑定sg2(ovn.kubernetes.io/security_groups: sg2)
Current Behavior
1、这两个Pod分别绑定了安全组sg1和sg2
2、从ping的结果来看无法ping通
3、但是从trace来看,根据ovn的流表会将数据发送到目标pod,但是我在目标pod内并没有抓到icmp的request报文
4、在目标pod所在的节点上可以抓到request包,说明ping发起方pod所在节点将包从物理机发出去了,我进一步抓包后发现数据包到了bond1,但是没有从bond1所在的ovs网桥(br-bussinessnet)将流量通过patch-localnet.subnet2398-to-br-int发送给br-int
似乎出现了ovn的逻辑流量认为数据是通的,但是实际ovs转发的时候并没有通
另外这种情况只出现在underlay网络的跨节点通信,我测试了1.12及master分支,对于overlay网络是没有这个问题的,如果是underlay网络,pod在同一个节点上也不会有这个问题(因为只在br-int上转发?)。唯一有异常的就是underlay子网且pod跨节点,流量需要经过br-bussinessnet(provider-network创建的ovs网桥)
Expected Behavior
跨节点VLAN子网Pod间通信,安全组的优先级大于子网ACL(priority=1590)的时候,Pod间应该能互通
The text was updated successfully, but these errors were encountered: