眼下。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. git commit 含有中文的代码,提示Warnning:Your console font probably doesn't support Unicode.......

    git 提交代码是会遇到以下问题, git commit 代码时提示: Warning: Your console font probably doesn't support Unicode. If ...

  2. python基础——14(shelve/shutil/random/logging模块/标准流)

    一.标准流 1.1.标准输入流 res = sys.stdin.read(3) 可以设置读取的字节数 print(res) res = sys.stdin.readline() print(res) ...

  3. xtu数据结构 C. Ultra-QuickSort

    C. Ultra-QuickSort Time Limit: 7000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java ...

  4. TOJ 2446: Mint

    2446: Mint Time Limit(Common/Java):2000MS/20000MS     Memory Limit:65536KByteTotal Submit: 4         ...

  5. apr的使用

    APR(Apache Portable Runtime),即Apache可移植运行库,正如官网所言,APR的使命是创建和维护一套软件库,以便在不同操作系统(Windows.Linux等)底层实现的基础 ...

  6. “玲珑杯”ACM比赛 Round #13 B -- 我也不是B,倍增+二分!

    B  我也不是B   这个题做了一下午,比赛两个小时还是没做出来,比完赛才知道要用一个倍增算法确定区间,然后再二分右端点.   题意:定义一个序列的混乱度为累加和:b[i]*v[i],b[i]为这个序 ...

  7. 自定义Title

    xml: <jp.co.view.TitleLayout android:id="@+id/titleLayout" android:layout_width="m ...

  8. LightOJ1125 Divisible Group Sums

    Divisible Group Sums Given a list of N numbers you will be allowed to choose any M of them. So you c ...

  9. 【jquery创建元素添加元素】

    使用jquery创建新元素的方法为:$(html标签),例如 $("<p></p>")创建了一个段落.注意此时只是创建了对象,尚未添加到文档节点中去:以下四 ...

  10. Linux之VMware虚拟机取消DHCP

    1.点击编辑项 2.选择VMnet1  点击更改设置 3.选择VMnet1 去掉使用本地DHCP服务  点击应用 原文地址:https://blog.csdn.net/star_in_shy/arti ...