眼下。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的维护中。因此,过一段时间后会被清理掉,这时候就须要又一次加入。

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

  1. DPDK在OpenStack中的实现

    随着云计算与大数据的快速发展,其对数据中心网络的性能和管理提出了更高的要求,但传统云计算架构存在多个I/O瓶颈,由于云平台基本上是采用传统的X86服务器加上虚拟化方式组建,随着40G.100G高速网卡 ...

  2. 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 + GR ...

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

    OpenStack中VNC协议实现多屏共享 by 无若   libvirt设置基本说明:   <devices> <graphics type='sdl' display=':0.0 ...

  4. OpenStack中Keystone的基本概念理解

    原文http://www.kankanews.com/ICkengine/archives/10788.shtml Keystone简介 Keystone(OpenStack Identity Ser ...

  5. openstack中eventlet使用

    openstack中使用eventlet的协程来实现并发. 第一种,使用eventlet.GreenPool来管理绿色线程 如l3-agent在开启了8个绿色线程来处理router消息 def _pr ...

  6. 探索 OpenStack 之(14):OpenStack 中 RabbitMQ 的使用

    本文是 OpenStack 中的 RabbitMQ 使用研究 两部分中的第一部分,将介绍 RabbitMQ 的基本概念,即 RabbitMQ 是什么.第二部分将介绍其在 OpenStack 中的使用. ...

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

    在使用openstack的过程中,我们经常会添加好几台计算节点来部署虚拟机,在后续使用中由于某些原因,一些计算节点出现了问题,需要将这些出了问题的计算节点从openstack的控制节点中踢出去!但是很 ...

  8. OpenStack中给wsgi程序写单元測试的方法

    在 OpenStack 中, 针对web应用, 有三种方法来写单元測试 1) 使用webob生成模拟的request from __future__ import print_function imp ...

  9. openstack中iptables的使用

    openstack中nova使用了iptables实现其网络相关功能,乍看openstack的iptables表比较复杂,整理了一下iptables的filter表和nat表的结构,以一个all in ...

随机推荐

  1. BZOJ 1831: [AHOI2008]逆序对

    题目大意: 给出一个序列,有几个位置上的数字任意.求最小的逆序对数. 题解: 自己决定放置的数一定是单调不降的.不然把任意两个交换一下就能证明一定会增加逆序对. 然后就可以DP了,f[i][j]表示第 ...

  2. 查询UNDO使用情况

    查看UNDO事务占用情况 SELECT s.username, s.sid, pr.PID, s.OSUSER, s.MACHINE, s.PROGRAM, rs.segment_id, r.usn, ...

  3. hdu6058[链表维护] 2017多校3

    用一个双向链表来查找比当前元素大的前k-1个元素和后k-1个元素 ,从小到大枚举x,算完x的贡献后将x从链表中删除,优化到O(nk). /*hdu6058[链表维护] 2017多效3*/ #inclu ...

  4. 【bzoj4408】[Fjoi 2016]神秘数 主席树

    题目描述 一个可重复数字集合S的神秘数定义为最小的不能被S的子集的和表示的正整数.例如S={1,1,1,4,13},1 = 12 = 1+13 = 1+1+14 = 45 = 4+16 = 4+1+1 ...

  5. redmine与SVN的Https方式整合问题

    尼玛啊!这个SVN的整合搞了一晚上,今天早上终于搞定了,FUCK!!! 进入话题: 可以先在bitnami redmine stack的命令行环境下手工运行svn,看是否能取到数据, svn list ...

  6. polya burnside 专题

    polya题目:uva 11077 Find the Permutationsuva 10294 Arif in DhakaLA 3641 Leonardo's Notebookuva 11077 F ...

  7. 【BZOJ2653】middle(主席树,二分)

    题意:一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整. 给你一个长度为n的序列s. 回答Q个这样的询问:s的左端点在[a,b]之间,右端点在[ ...

  8. gdbt原理解析

    链接: http://note.youdao.com/noteshare?id=aeb1c7a30c5f4b70e3fff51f28ee5c47 懒得复制到这里了,一开始是在有道云笔记上写的,这里的公 ...

  9. hdu 4960 记忆化搜索 DP

    Another OCD Patient Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Ot ...

  10. float类型的使用

    将身高字段设置为float类型,保留一位小数: ALTER TABLE `user` CHANGE `height` `height` FLOAT(4,1) UNSIGNED NOT NULL DEF ...