neutron openvswitch agent实现安全组的方法
关于openstack安全组,采用一问一答的形式记录如下
1. 是加载在计算节点的还是网络节点的?
是加载在计算节点的
2. 是使用iptable规则实现的吗?
M版的neutron实现了openvswitch 基于流表的防火墙
之前常见的是用iptables实现的,一般会创建neutron-openvswi-XXX链
3. iptables实现的防火墙方法中,添加的规则都是accept,其余的包都是drop的吗?
是的添加的规则一般都在最后默认drop规则的前面return掉。安全组利用iptables实现原理如下
其中需要说明两点
(1). ipset
0 0 RETURN all -- any any anywhere anywhere match-set NIPv4de0fc679-6a26-43d6-a3f6- src,规则的意思是利用ipset来指定src集合,在这个集合中的srcIP报文都可以通过。
通过命令ipset list可以查看到所有的ipset集合
[root@node-129 var]# ipset list
Name: NIPv4de0fc679-6a26-43d6-a3f6-
Type: hash:net
Revision: 3
Header: family inet hashsize 1024 maxelem 65536
Size in memory: 16816
References: 1
Members:
192.168.188.19
Name: NIPv6de0fc679-6a26-43d6-a3f6-
Type: hash:net
Revision: 3
Header: family inet6 hashsize 1024 maxelem 65536
Size in memory: 17552
References: 1
Members:
(2).security-group 远端
如果选择一个安全组作为来访源地址,则该安全组中的任何云主机实例都被允许使用该规则访问任一其它云主机。
例如host-1绑定安全组default, host-2绑定安全组secg1, 这时在default中添加一条规则并且指定远程为secg1, 那么这条规则适用于src-ip是host-2的报文。
4. neutron-openvswitch-agent实现firewall的代码结构是怎么样的?
(1) 首先在/etc/neutron/plugins/ml2/openvswitch_agent.ini 中设置firewall_driver的类名(用于指定加载类的路径),并打开安全组开关。
#firewall_driver = <None>
#firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
firewall_driver = neutron.agent.linux.openvswitch_firewall.OVSFirewallDriver
enable_security_group = true
(2) 所有的firewall基于父类FirewallDriver,每种firewall都需要实现该父类的几个接口;
prepare_port_filter : port创建时调用一次,初始化安全组信息
apply_port_filter
update_port_filter : port安全组更新时被调用
remove_port_filter : port安全组删除时被调用
filter_defer_apply_on
filter_defer_apply_off
ports
defer_apply
update_security_group_members
update_security_group_rules
security_group_updated
这些接口由securitygroups_rpc.py调用。
neutron openvswitch agent实现安全组的方法的更多相关文章
- 理解 OpenStack 高可用(HA)(2):Neutron L3 Agent HA 之 虚拟路由冗余协议(VRRP)
本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...
- JVM插码之五:Java agent+ASM实战--监控所有方法执行时间
本文建立在对instrumentation和agent有初步的了解的前提下阅读,关于这2个类的讲解在其它文章中. 这是一个maven项目,pom中需要的配置,lib中有asm的jar包 pom.xml ...
- 2019-10-30-C#-dotnet-core-局域网组播方法
title author date CreateTime categories C# dotnet core 局域网组播方法 lindexi 2019-10-30 9:0:48 +0800 2019- ...
- Development of a High Coverage Pseudotargeted Lipidomics Method Based on Ultra-High Performance Liquid Chromatography−Mass Spectrometry(基于超高效液相色谱-质谱法的高覆盖拟靶向脂质组学方法的开发)
文献名:Development of a High Coverage Pseudotargeted Lipidomics Method Based on Ultra-High Performance ...
- 3种用组策略将域帐号加入本地管理员组的方法_jinifly_新浪博客
次当前系统域帐号是怎么在第一次登录时,自动加入域客户端本地管理员组的?我猜不外乎就是脚本.计算机策略或虚拟机初始化的自动应答脚本,结果系统的前任同事找到了答案--GPO的用户策略(确切讲是用户首选项) ...
- javascript----数组的方法
1---join() //1----->join()方法将数组中所有元素都转化<<字符串>> //并连接在一起 //array.join()方法是string.split ...
- 删除新版UniAccess Agent 办公室监控软件的方法
UniAccess Agent 是在由LeagSoft开发的监控软件,老版本的一般安装在C:\Program Files\LeagSoft\UniAccess Agent这个目录下,一般找到这个目录点 ...
- MySQL学习笔记:三种组内排序方法
由于MySQ没有提供像Oracle的dense_rank()或者row_number() over(partition by)等函数,来实现组内排序,想实现这个功能,还是得自己想想办法,最终通过创建行 ...
- c#Udp分包组包方法
udp通信协议,相信大家都知道这个.由于是无连接的协议,所有udp的传输效率比tcp高.但是udp协议传输较大的数据文件得分包 最近写了个分包组包的方法,拿来和大家分享,如果有什么不妥的地方,欢迎点评 ...
随机推荐
- WPF 自定义数字文本框:NumericBox
由于项目需要,最近写了一个数字输入文本框,在此作个备忘. 1.代码调用 <controls:NumericBox Height="32" Width="80&quo ...
- openssh-clients(CentOS 7 自带的SSH客户端)
OpenSSH 有自带的服务端 openssh-server(sshd服务) 和 客户端 openssh-clients(ssh命令),平时使用SSH远程登陆Linux都是在本地Windows上使用P ...
- php学习笔记——日期和时间
一.time() 来取得服务器当前时间的时间戳 UNIX 时间戳(timestamp)是 PHP 中关于时间日期一个很重要的概念,它表示从 1970年1月1日 00:00:00 到当前时间的秒数之和. ...
- 自己通过centos6.5配置NFS 成功后的笔记,希望对需要的人有点点帮助吧!
环境介绍: 服务器:centos 172.16.250.170 客户端:centos 172.16.250.172 先用rpm -qa ...
- 如何关闭tomcat的localhost_access_log?
Tomcat每处理一个请求就会在{tomcat_home}/logs/下面生成localhost_access_log,日复一日,服务器上面就产生了很多这样的文件,虽然单个文件不大,但是积少成多,一定 ...
- IMAX公司CEO:进军VR产业,打造VR体验中心
591ARVR资讯网www.591arvr.com报道近日,<财富>杂志采访了IMAX首席执行官理查德·葛尔方(Richar Gelfond),后者谈了谈虚拟现实和IMAX正在打造的VR影 ...
- 使用SLT 工具从SAP导入数据到SAP HANA的监控
使用SLT工具从SAP导入数据到SAP HANA主要有两种方式监控, 一是在SAP SLT服务器上使用以下T-Code: IUUC_SYNC_MON MWBMON 二是在SAP HANA Studio ...
- mysql中timestamp的自动生成与更新
转自:mysql中timestamp的自动生成与更新 MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样.1.自动UPDATE 和INSERT 到当前的时间:表:----------- ...
- Openjudge-NOI题库-简单算术表达式求值
题目描述 Description 两位正整数的简单算术运算(只考虑整数运算),算术运算为: +,加法运算:-,减法运算:*,乘法运算:/,整除运算:%,取余运算. 算术表达式的格式为(运算符前后可能有 ...
- 加速Android Studio的Gradle构建速度
在利用Android Studio做项目时,发现随着项目内资源的逐渐增多(或者项目创建时间太过久远,而又未经常打开),Android Studio的build速度也越来越慢.(P.S.在做我的CSGO ...