在OpenStack中绕过或停用security group (iptables)

眼下。OpenStack中默认採用了security group的方式。用系统的iptables来过滤进入vm的流量。这个本意是为了安全,可是往往给调试和开发带来一些困扰。

因此,暂时性的禁用它能够排除由于iptables规则错误问题带来的网络不通等情况。

在H版本号中,能够通过改动neutron plugin.ini中的firewall配置来禁用security group。

但在I版本号中。类似的操作仅仅会让vm出来的流量都无法通过安全网桥。

因此,在正常配置启用security group的情况下,我们须要想办法来让流量绕过它。

通过《深入理解OpenStack中的网络实现》中的分析。我们知道。从vm出来的流量被过滤的规则在 neutron-openvswi-o9LETTERID链上。而到vm里面的规则在neutron-openvswi-i9LETTERID链上。

因此,我们仅仅须要相应在链上加入同意通过的规则就可以。

首先。查看vm出来的安全规则链上的规则

iptables -nvL neutron-openvswi-o9LETTERID

普通情况下,类似于以下几条

Chain neutron-openvswi-o4430511a-6 (2 references)

pkts bytes target     prot opt in     out     source               destination

6  1968 RETURN    
udp  --  *      *      
0.0.0.0/0            0.0.0.0/0          
udp
spt:68
dpt:67

1437  121K neutron-openvswi-s4430511a-6  all  --  *      *      
0.0.0.0/0            0.0.0.0/0

0     0 DROP       udp  --  *      *      
0.0.0.0/0            0.0.0.0/0          
udp
spt:67
dpt:68

0     0 DROP       all  --  *      *      
0.0.0.0/0            0.0.0.0/0           state INVALID

278 23352 RETURN     all  --  *      *      
0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED

1159 97356 RETURN     all  --  *      *      
0.0.0.0/0            0.0.0.0/0

0     0 neutron-openvswi-sg-fallback  all  --  *      *      
0.0.0.0/0            0.0.0.0/0

可见,默认同意通过的流量仅仅有源port为67而目标port68的dhcp请求流量,另外就是neutron-openvswi-s4430511a-6链中,会对源地址和源mac进行检查,假设跟分配到的一致,则同意通过。

比如,我们让全部的ping包(无论源地址和源mac)都同意从vm发出来,则须要加入

iptables -I neutron-openvswi-o9LETTERID -p icmp -j RETURN

更简单粗暴的,同意全部的从vm出来的流量。不进行不论什么检查。则须要加入

iptables -I neutron-openvswi-o9LETTERID -j RETURN

须要注意的是,这样加入的规则,不在neutron的维护中。因此,过一段时间后会被清理掉,这时候就须要又一次加入。

时间: 2024-10-10 15:42:02

在OpenStack中绕过或停用security group (iptables)的相关文章

Neutron 理解 (9): OpenStack 是如何实现 Neutron 网络 和 Nova虚机 防火墙的 [How Nova Implements Security Group and How Neutron Implements Virtual Firewall]

学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron OVS OpenFlow 流表 和 L2 Population (5)Neutron DHCP Agent (6)Neutron L3 Agent (7)Neutron LBaas (8)Neutron Security Group (9)Neutro

OpenStack中VNC协议实现多屏共享(多屏不踢访问)

OpenStack中VNC协议实现多屏共享 by 无若 libvirt设置基本说明: <devices> <graphics type='sdl' display=':0.0'/> <graphics type='vnc' port='5904' sharePolicy='allow-exclusive'> <listen type='address' address='1.2.3.4'/> </graphics> <graphics ty

openstack中eventlet使用

openstack中使用eventlet的协程来实现并发. 第一种,使用eventlet.GreenPool来管理绿色线程 如l3-agent在开启了8个绿色线程来处理router消息 def _process_routers_loop(self): pool = eventlet.GreenPool(size=8) while True: pool.spawn_n(self._process_router_update) 第二种是在oslo.messaging中创建接消息的进程直接创建绿色线程

部署OpenStack问题汇总(四)--openstack中nova-compute状态status显示为&#39;XXX&#39;的问题

第一次部署openstack的时候就遇见了这个问题,当时的版本是havana, 现在部署essex的时候又遇到了这个问题,经过一番折腾,解决了这个问题,记录下来,以免以后忘记. =========================================================== 1.查看/var/log/nova/nova-compute.log文件其中出现了这样的情况: Domain not found: no domain with matching name 'insta

Openstack中给windows加载virtion驱动

通过qemu-img将windows虚拟机的vmdk文件转换成qcow2,并将文件上传至openstack中时,发现虚拟机无法启动. 经过分析,原因是openstack默认使用的是virtio驱动,而windows虚拟机未安装virtion驱动. 解决办法:安装VirtIO驱动 1.通过virt-manager打开windows虚拟机 2.磁盘.网卡使用默认驱动,即磁盘使用ide.网卡使用rt 3.添加一块floopy设备 4.添加一块临时硬盘,设置为virtio模式 5.启动虚拟机,为新磁盘.

Openstack中给windows虚拟机加载virtion驱动

通过qemu-img将windows虚拟机的vmdk文件转换成qcow2,并将文件上传至openstack中时,发现虚拟机无法启动. 经过分析,原因是openstack默认使用的是virtio驱动,而windows虚拟机未安装virtion驱动. 解决办法:安装VirtIO驱动 1.通过virt-manager打开windows虚拟机 2.磁盘.网卡使用默认驱动,即磁盘使用ide.网卡使用rt 3.添加一块floopy设备 4.添加一块临时硬盘,设置为virtio模式 5.启动虚拟机,为新磁盘.

Openstack中的DVR Part1 -- 东西向流量处理

作者:Liping Mao  发表于:2014-07-04 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 在Openstack中L3router会造成流量集中的问题.不论东西向还是南北向的流量都需要流过网络节点的虚拟路由器.为了解决流量集中的问题,社区正在开打分布式虚拟路由器(DVR)的feature.本文focus在DVR中东西向流量的处理流程.南北向的处理不在本文范围内. 首先看一下东西向流量存在的问题. 一个用户创建了一个VRoute1(在Netw

openstack中彻底删除计算节点的操作记录

在使用openstack的过程中,我们经常会添加好几台计算节点来部署虚拟机,在后续使用中由于某些原因,一些计算节点出现了问题,需要将这些出了问题的计算节点从openstack的控制节点中踢出去!但是很多时候,在删除计算节点的时候由于删除不彻底而导致了后面使用openstack出现了诸多问题. 下面记录了在openstack中彻底删除计算节点linux-node2.openstack的操作: 在控制节点上操作 查看计算节点 [[email protected] src]# openstack ho

在OpenStack中对云主机类型进行重新配置

实现功能:实现在openstack中能够重新调整新建的openstack主机的内存及磁盘空间大小. 当我们在openstack主机实例中操作-->调整云主机大小 的时候并没有报错,但发现云主机的内存与磁盘空间并没有变化,查询/var/log/nova/nova-compute.log 发现有如下错误: nstance: c63d6086-f899-4994-a239-8b4eb0343a13] Setting instance back to ACTIVE after: Instance rol