专项小结

1、虚拟机带宽控制

Q:如何实现虚拟机带宽控制?

A:通过libvirt的virsh工具可以实现虚拟机上传和下载流量控制,virsh工具使用方法如下:

virsh domiftune <domain> <interface> inbound x outbound y --live

domain 虚拟机id

interface 虚拟机网卡MAC地址

inbound  后接x是虚拟机下载流量限制值,单位是KB

outbound  后接y是虚拟机上传流量限制值,单位是KB

Q:能否取消虚拟机带宽控制?

A:libvirt提供的virsh domiftune没有取消流量控制

如上,设置一个足够大的inbound和outbound可以达到取消流量控制的效果,可设为15000。

2、安全审计

Q:日志审计系统如何获取远程服务器的组件日志?

A:远程服务器的组件日志存在.log文件中,可以通过rsyslog获取并传到日志审计服务器。修改远程服务器配置/etc/rsyslog.conf,添加下面的内容来手机nc组件日志:


$Modload imfile

#File 1

$InputFileName /var/log/eucalyptus/nc.log

$InputFileTag tag1:

$InputFileStateFile /tmp/eucalyptus-nc-state

$InputFileFacility local4

$InputFileServerity info

$InputRunFileMonitor

并在该配置文件最后添加local4.* @@remote-nost:514 remote-host是日志审计服务器地址)

Q:日志审计系统能否收集同一远程服务器的不同组件日志?

A:可以通过rsyslog收集同一主机的不同组件日志。修改远程服务器配置/etc/rsyslog.conf,添加如下内容来手机nc和audit组件日志:


$Modload imfile

#File 1

$InputFileName /var/log/eucalyptus/nc.log

$InputFileTag tag1:

$InputFileStateFile /tmp/eucalyptus-nc-state

$InputFileFacility local4

$InputFileServerity info

$InputRunFileMonitor

#File 2

$InputFileName /var/log/audit/audit.log

$InputFileTag tag1:

$InputFileStateFile /tmp/audit-state

$InputFileFacility local4

$InputFileServerity info

$InputRunFileMonitor

并在该配置文件最后添加local4.* @@remote-nost:514 remote-host是日志审计服务器地址)

3、抗拒绝服务攻击

Q:如何设置通过简单的iptables规则实现抗拒绝服务攻击?

A:在iptables的mangle表中,对PREROUTING链设置以下规则可以实现抗拒绝服务攻击:


iptables -A PREROUTING -t mangle -p icmp --icmp-type echo-request -m limit --limit 6/min --limit-burst 30 -j ACCEPT

iptables -A PREROUTING -t mangle -p icmp --icmp-type echo-request -j DROP

iptables -A PREROUTING -t mangle -p tcp --syn -m limit --limit 1/min --limit-burst 30 -j ACCEPT

#iptables -A PREROUTING -t mangle -p tcp --tcp-flags SYN,ACK,FIN,RST -m limit -limit 1/min --limit-burst 30 -j ACCEPT

iptables -A PREROUTING -t mangle -p tcp --syn -j DROP

iptables -A PREROUTING -t mangle -p udp -m limit --limit 10/min --limit-burst 30 -j ACCEPT

iptables -A PREROUTING -t mangle -p udp -j DROP

Q:使用tcpdump抓取拒绝服务攻击包时能否通过协议来抓取?

A:可以,tcpdump抓包工具支持抓取指定协议的数据包,举例抓取来自192.168.7.107的udp包,其抓包命令如下:

#tcpdump -i br0 src 192.168.7.107 and udp -A -s0

Q: 什么是mangle表?

A:mangle表是iptables三表五链的其中一个表。Mangle表的作用是改变包的属性,同时,网络数据包进入本地时,必将首先经过mangle表的PREROUTING链。

4、防恶意软件加载

Q:windows防恶意软件加载如何实现?

A:windows提供软件白名单功能,白名单启用后仅允许运行和安装白名单里的软件。通过修改注册表可以很方便的启用白名单。启用白名单的注册表注入文件如下:


Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]

"NoDriveTypeAutoRun"=dword:00000091

"RestrictRun"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun]

"1"="nfscmd.exe"

"2"="iexplore.exe"

"3"="regedit.exe"

"4"="QQ.exe"

"5"="wps.exe"

"6"="wpp.exe"

"7"="Foxmail.exe"

"8"="mmc.exe"

"9"="notepad.exe"

"10"="chrome.exe"

"11"="mspaint.exe"

"12"="AcroRd32.exe"

"13"="et.exe"

Q:linux如何实现防恶意软件加载?

A:linux强制访问控制策略与windows软件白名单效果相似,可以作为防恶意软件加载方法。以Linuxmint为例,通过内核重编译加入强防控制grsecurity。

使用gradm2命令来生成强防规则:

#开启强防学习模式,根据用户操作自动生成学习日志

#gradm2 -F -L learn.log

#从日志文件生成强防规则

#gradm2 -F -L learn.log -O policy

5、ipv6支持

Q:ipv6是否支持dhcp固定MAC分配?

A:可以使用linux下的dhcpd -6来启动一个ipv6的dhcp服务,可以为指定的MAC地址分配固定ipv6地址。linux虚拟机可以通过dhcp客户端获取ipv6地址,windows虚拟机不支持这种方式的dhcp服务。

Q:ipv6转换为数字后占128bit,如何进行地址池计算?

A:在ipv6字符串地址转换为数值进行计算时,可以转换为前64bit和后64bit,通过后64bit来计算地址池。

Q:开启ipv6支持,虚拟机获取不到ipv6地址?

A:虚拟机的ipv6地址通过dhcp分配。首先在CC上检查DHCP服务是否开启:

#ps -aux | grep dhcp

可以看到dhcpd -6 进程,如果看不到该进程,检查CC端是否配置ipv6地址。

CC端ipv6地址与平台配置文件/etc/eucalyptus/eucalyptus.conf中的DNSv6配置相同:

VNET_DNSV6=””

6、vlan支持

Q:vlan模式下,如何实现虚拟机网络隔离?

A:通过vlan-tag实现虚拟机网络隔离。Vlan模式下,云平台将一个安全组视为一个虚拟vlan。虚拟机启动时为eth0创建一个vlan标签eth0.*和一个网桥eucabr*,虚拟机的虚拟网卡vnet*和eth0.*挂载同一个网桥上,实现同一vlan之间的通信,并阻断不同vlan之间的通信。

Q:vlan支持需要什么样的条件?

A:vlan支持需要CC和NC之间的交换机都支持vlan-tag。可以通过vlan-claan来验证,下面是vlan-clean方法:

在CC上:

#vconfig add eth0 10

#ifconfig eth0.10 192.168.1.2 up

在NC上:

#vconfig add eth0 10

#ifconfig eth0.10 192.168.1.3 up

#ping 192.168.1.2

以上方法中,最后的ping能通则说明服务器交换机支持vlan。

vlan模式下,kvm的虚拟机将不再使用br0作为虚拟机桥接网桥,而是使用eucabr*作为桥接网桥,所以在配置vlan前需要清除宿主上的br0网桥

#ifconfig br0 down

#brctl delbr br0

Q:vlan支持云平台配置文件如何配置?

A:云平台的MANAGED模式是对应支持vlan的,主要配置项如下:


VNET_MODE=”MANAGED”

VNET_PRIVINTERFACE=”eth0”

VNET_PUBINTERFACE=”eth0”

VNET_PUBLICIPS=

VNET_SUBNET=

VNET_NETMASK=

VNET_ADDRSPERNET=

VNET_DNS=

Q:vlan模式下,为什么在不同vlan下的虚拟机相互能ping通?

A:先来看一个例子,在下图中,pc3,pc4,pc5分别连接到vlan3,vlan4,vlan5上. Linux box的eth0连到交换机的trunk口上。在linux box上,配置eth0.3,eth0.4,eth0.5三个vlan interface,并配置相应的ip地址。在pc3,pc4,pc5上分别设置缺省网关为eth0.3,eth0.4,eth0.5上的地址。这样,pc3,pc4,pc5就可以通过linux box的转发来实现相互间的通信。

在vlan模式下,CC服务器上会创建与虚拟机相同的vlan-tagging,并配置对应vlan的缺省网关地址,此时,CC服务器可以看做是如上图的linux box。

如果想要禁止vlan之间的相互通信,把设置在eth0.*上的缺省网关地址删除即可。注意删除的缺省网关一定要重新加到eth0网卡上。使用ip add\del 可以完成以上操作。

Q:vlan模式下,虚拟机能不能更改所在vlan?

A:不能,云平台中,每一个vlan对应一个安全组,每个安全组都有不同的子网和网关,不同安全组的ip地址不重复。在不重新分配地址的情况下,虚拟机无法更改所在的vlan。

7、安全告警

Q:使用hMailServer搭建的报警邮箱无法发送报警邮件?

A:原因是在平台中设置了管理员邮箱为外网邮箱,而在内网环境下,邮件无法发送系统信息到外网邮件,继而一直尝试重新发送,占据大量发件队列,造成告警邮件无法发出。解决办法是,进入hMailServfer管理界面,清空邮件服务器的发送邮件队列clear queue。

Q:使用hMailServer搭建的报警邮箱无法接收报警邮件?

A:设置邮箱容量达到设置的最大值时,无法接收到任何邮件。进入进入hMailServfer管理界面,清空邮箱空间或增加邮箱空间即可收到报警邮件。

8、测试环境

Q:怎么配置服务器ipv6地址,使其开机自动配置?

A:修改/etc/sysconfig/network-scripts/ifcfg_br0


NM_CONTROLLED=yes

ONBOOT=yes

TYPE=Bridge

BOOTPROTO=none

PREFIX=24

DEFROUTE="yes"

IPV4_FAILURE_FATAL="yes"

#IPV6INIT=no

USERCTL=no

DEVICE=br0

IPADDR=192.168.7.106

GATEWAY=192.168.7.254

DNS1=124.16.136.254

NETMASK=255.255.255.0

IPV6ADDR=2001:db8:0:1::5/64

IPV6INIT=yes

IPV6_AUTOCONF=no

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=yes

Q:云平台组件SC启动失败?

A:云平台组件SC启动失败一般是组件启动时获取到非预期的ip地址,解决办法是清除SC所在宿主机上除eth0上配置的SC组件ip地址之外的所有网卡上的ip地址。

如在eth1上有ip地址 192.168.0.1,则执行:

#ip addr del 192.168.0.1 dev eth1,或关闭eth1网卡:ifdown eth1

Q:云平台组件CLoud启动失败?

A:云平台组件cloud启动前,关闭dnsmasq服务,因为他与cloud会占用同一个端口53。将dnsmasq从开机启动服务中删去:

#/etc       /init.d/dnsmasq stop

#chkconifg dnsmasq off

Q:云平台资源总数为0?

A:如果云平台组件配置正确,但资源总数为0是因为NC服务器时间与CLC服务器时间相差较多。执行时间同步命令可以解决这个问题。

#ntpdate -u ip-cloud

#hwclock --systohc

Q:为什么windows虚拟机能够分配到IP地址而linux虚拟机分配不到?

A:云平台未配置ipv6时,centos虚拟机配置网卡时,如果将ipv6和ipv4均配置为dhcp自动获取,他们会使用同一个dhcp客户端。dhcp客户端首先探寻ipv6的dhcp服务,如果未在第一时间探寻到DHCP -6服务,dhcp客户端将关闭而不是继续探寻ipv6的dhcp服务,这会导致虚拟机无法获取ip地址。解决方法是修改镜像网卡配置,取消ipv6的dhcp自动获取配置。

云平台在已经配置ipv6的情况下,如果ipv6的dhcp服务启动失败,也会导致linux虚拟机无法获取ip地址。此时,需检查CC服务器的ipv6地址时候与云平台配置VNET_DNSV6相同。

时间: 2024-10-08 06:15:13

专项小结的相关文章

自强队2018中国机器人大赛服务机器人专项赛赛后总结会简报

会议时间:2018年5月18日17:00-19:00会议地点:上海大学(延长校区)电机楼会议室会议主持:陈万米老师参会人员:陈万米.黄慎之老师及2018中国机器人大赛服务机器人专项赛参赛学生 会议纪要: 一.队员小结 贾若楠:GPSR项目中底盘出现问题,如果有语音识别离线包可能带来更好的成绩.主观项目如果能做好实体成绩会更好. 过铭泽:WhoIsWho项目规则有漏洞,大部分队伍的机器人并没有走到志愿者面前,我们的机器人可以实现所有项目,但是由于底盘导致我们的优势没有发挥出来. 徐慧:硬件还需要深

使用Apache POI导出Excel小结--导出XLS格式文档

使用Apache POI导出Excel小结 关于使用Apache POI导出Excel我大概会分三篇文章去写 使用Apache POI导出Excel小结--导出XLS格式文档 使用Apache POI导出Excel小结--导出XLSX格式文档 使用Apache POI导出Excel--大数量导出 导出XLS格式文档 做企业应用项目难免会有数据导出到Excel的需求,最近在使用其,并对导出Excel封装成工具类开放出来供大家参考.关于Apache POI Excel基本的概念与操作我在这里就不啰嗦

【转载】小结一下linux 2.6内核的四种IO调度算法

在LINUX 2.6中,有四种关于IO的调度算法,下面综合小结一下: 1) NOOP NOOP算法的全写为No Operation.该算法实现了最最简单的FIFO队列,所有IO请求大致按照先来后到的顺序进行操作.之所以说“大致”,原因是NOOP在FIFO的基础上还做了相邻IO请求的合并,并不是完完全全按照先进先出的规则满足IO请求.NOOP假定I/O请求由驱动程序或者设备做了优化或者重排了顺序(就像一个智能控制器完成的工作那样).在有些SAN环境下,这个选择可能是最好选择.Noop 对于 IO

Android基础入门教程——8.1.3 Android中的13种Drawable小结 Part 3

Android基础入门教程--8.1.3 Android中的13种Drawable小结 Part 3 标签(空格分隔): Android基础入门教程 本节引言: 本节我们来把剩下的四种Drawable也学完,他们分别是: LayerDrawable,TransitionDrawable,LevelListDrawable和StateListDrawable, 依旧贴下13种Drawable的导图: 1.LayerDrawable 层图形对象,包含一个Drawable数组,然后按照数组对应的顺序来

Android基础入门教程——8.1.2 Android中的13种Drawable小结 Part 2

Android基础入门教程--8.1.2 Android中的13种Drawable小结 Part 2 标签(空格分隔): Android基础入门教程 本节引言: 本节我们继续来学习Android中的Drawable资源,上一节我们学习了: ColorDrawable:NinePatchDrawable: ShapeDrawable:GradientDrawable!这四个Drawable~ 而本节我们继续来学习接下来的五个Drawable,他们分别是: BitmapDrawable:Insert

安卓小结《1》

Activity的生命周期和启动模式的知识点小结: 1.如果Activity切换的时候,新Activity是透明,旧的不会走onStop方法. 2.新的Activity切换的时候,旧Activity  会先执行,onpause,然后才会启动新的activity. 3. Activity在异常情况下被回收时,onSaveInstanceState方法会被回调,回调时机是在onStop之前,当Activity被重新创建的时 候,onRestoreInstanceState方法会被回调,时序在onSt

date命令小结

在写linux shell脚本时,date是经常要用到的一个命令,这篇文章就此做个小结,以防自己用到时到处找 1.最基本的,显示当前的具体时期:直接敲入 date即可,如下, [email protected]:~/scripts$ date 2015年 01月 03日 星期六 21:46:49 CST 2.显示某个文件上次修改的时间:date -r file [email protected]:~/scripts$ date -r save.sh 2015年 01月 02日 星期五 23:29

java 小结2 多态问题。

面向对象这个东西,其实我们一直是不是都没有感觉到自己在用,以后我一定要用用.以前学c#时候认真的看过一次,最近一直研究java.随便再看看. 多态问题: 在java中多态分为(1)编译时多态和(2)运行时多态 (1)编译时多态比较容易理解:其实就是通过方法重载,就是方法的重载,同一个函数名但是可以参数不一样.这就是重载(so easy) (2)运行时多态:这个是通过方法覆盖实现的,就是子类在继承父类的时候,通过对某个方法的重写,覆盖父类方法. 简单的说:比如我们有个父类A,子类B通过Extend

php操作xml小结

<?php #php操作xml,SimpleXMLElement类小结 header('Content-type:text/html;charset=utf-8;'); //1.构造函数 /* $xmlstring=<<<XML <?xml version="1.0" encoding="utf-8"?> <note  xmlns:b="http://www.w3school.com.cn/example/&quo