kvm网络桥接,宿主机网络变化,怎么动态修改宿主机里面的ip地址?

回复

大数据 OpenSkill 回复了问题 1 人关注 2 个回复 4742 次浏览 2015-07-09 14:34 来自相关话题

Elasticsearch介绍

大数据 OpenSkill 发表了文章 0 个评论 2718 次浏览 2015-07-08 22:27 来自相关话题

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。   但是,Lucene只是一个库。想要使用它, ...查看全部
es.png

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
 
但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。
 
Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
 
不过,Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它:

    []分布式的实时文件存储,每个字段都被索引并可被搜索[/]
    []分布式的实时分析搜索引擎[/]
    []可以扩展到上百台服务器,处理PB级结构化或非结构化数据[/]

而且,所有的这些功能被集成到一个服务里面,你的应用可以通过简单的RESTful API、各种语言的客户端甚至命令行与之交互。
 
上手Elasticsearch非常容易。它提供了许多合理的缺省值,并对初学者隐藏了复杂的搜索引擎理论。安装即可使用,只需很少的学习既可在生产环境中使用。
 
Elasticsearch在Apache 2 license下许可使用,可以免费下载、使用和修改。
 
随着你对Elasticsearch的理解加深,你可以根据不同的问题领域定制Elasticsearch的高级特性,这一切都是可配置的,并且配置非常灵活。
 
ES诞生模糊记忆:
多年前,一个叫做Shay Banon的刚结婚不久的失业开发者,由于妻子要去伦敦学习厨师,他便跟着也去了。在他找工作的过程中,为了给妻子构建一个食谱的搜索引擎,他开始构建一个早期版本的Lucene。

直接基于Lucene工作会比较困难,所以Shay开始抽象Lucene代码以便Java程序员可以在应用中添加搜索功能。他发布了他的第一个开源项目,叫做“Compass”。

后来Shay找到一份工作,这份工作处在高性能和内存数据网格的分布式环境中,因此高性能的、实时的、分布式的搜索引擎也是理所当然需要的。然后他决定重写Compass库使其成为一个独立的服务叫做Elasticsearch。

第一个公开版本出现在2010年2月,在那之后Elasticsearch已经成为Github上最受欢迎的项目之一,代码贡献者超过300人。一家主营Elasticsearch的公司就此成立,他们一边提供商业支持一边开发新功能,不过Elasticsearch将永远开源且对所有人可用。

Shay的妻子依旧等待着她的食谱搜索……

未披露的0day高危漏洞,再一次心脏滴血OpenSSl

科技前沿 Ansible 发表了文章 0 个评论 3910 次浏览 2015-07-08 18:29 来自相关话题

OpenSSL官方发布漏洞预警,提醒系统管理员做好OpenSSL的升级准备。最新版本OpenSSL将于7月9日(本周四)发布,修复了一个未经披露的高危漏洞。不少安全专家推测,这个高危漏洞将可能是另一个心脏滴血 神秘的高危0day漏洞 O ...查看全部
afw.png

OpenSSL官方发布漏洞预警,提醒系统管理员做好OpenSSL的升级准备。最新版本OpenSSL将于7月9日(本周四)发布,修复了一个未经披露的高危漏洞。不少安全专家推测,这个高危漏洞将可能是另一个心脏滴血
神秘的高危0day漏洞
OpenSSL是一个广泛使用的开源软件库,它使用SSL和TLS为大多数网站提供加密的互联网连接。

OpenSSL项目团队在本周一宣布,即将发布的OpenSSL加密库新版本1.0.2d和1.0.1p中解决了一个被定位于“高危”的安全漏洞。

关于这个神秘的安全漏洞,除了知道它并不影响1.0.0或0.9.8版本之外,目前还没有更详细的消息。在前天公开的一封邮件列表中,开发者Mark J Cox陈述道:
“OpenSSL项目团队宣布即将发布OpenSSL新版本1.0.2d和1.0.1p,这两个新版本将于7月9日发布。值得注意的是,这两个新版本中都修复了一个安全等级评定为“高危”的漏洞。不过,这个漏洞并不影响1.0.0或0.9.8版本。”
OpenSSL官方在发布新版本前发出预警,很可能是为了防止在更新补丁发布给大众之前,黑客利用该漏洞进行攻击。
不少安全专家推测,这个高危漏洞将可能是另一个心脏滴血(Heartbleed)漏洞或POODLE漏洞,而这两者曾被认为是最糟糕的TLS/SSL漏洞,直到今天人们认为它们仍然在影响互联网上的网站。
 
OpenSSL高危漏洞回顾
心脏滴血漏洞:该漏洞去年4月份被发现,它存在于OpenSSL早期版本中,允许黑客读取受害者加密数据的敏感内容,包括信用卡详细信息,甚至能够窃取网络服务器或客户端软件的加密SSL密钥。

POODLE漏洞:几个月后,在古老但广泛应用的SSL 3.0加密协议中发现了另一个被称为POODLE(Padding Oracle On Downgraded Legacy Encryption)的严重漏洞,该漏洞允许攻击者解密加密连接的内容。
 
OpenSSL在今年3月份的一次更新中修复了一批高严重性的漏洞,其中包括拒绝服务漏洞(CVE-2015-0291),它允许攻击者攻击在线服务并使其崩溃;此外还有FREAK漏洞(CVE-2015-0204),它允许攻击者迫使客户端使用弱加密方式。
 
转载出自

Libvirt的三种CPU配置模式

DevOps Ansible 发表了文章 0 个评论 8750 次浏览 2015-07-07 23:22 来自相关话题

CPU配置模式可以有以下几种模式1. custom模式 <cpu mode='custom' match='exact'> &l ...查看全部

CPU配置模式可以有以下几种模式

1. custom模式


<cpu mode='custom' match='exact'>
<modelfallback='allow'>kvm64</model>
...
<featurepolicy='require' name='monitor'/>
</cpu>

2. host-model 模式
根据物理CPU的特性,选择一个最靠近的标准CPU型号,如果没有指定CPU模式,默认也是使用这种模式,xml配置文件为:

<cpu mode='host-model' />

3. host-passthrough 模式
直接将物理CPU 暴露给虚拟机使用,在虚拟机上完全可以看到的就是物理CPU的型号,xml配置文件为:

<cpu mode='host-passthrough'/>

使用host-model看到的VCPU:


processor       : 3
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : WestmereE56xx/L56xx/X56xx (Nehalem-C)
...

使用host-passthrough看到的VCPU:


processor       : 3
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R)Xeon(R) CPU X5650 @ 2.67GHz

可以看到,使用host-model模式,Libvir会根据物理CPU的型号,从规定的CPU中选择一种最接近的CPU型号,而使用host-passthrough模式直接看到的就物理CPU的型号。

Linux系统安装后的基础优化-基于CentOS(5.8/6.4)

运维 OpenSkill 发表了文章 0 个评论 2453 次浏览 2015-07-04 21:58 来自相关话题

在运维工作中,我们发现Linux系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才行。 下面我就为大家简单讲解几点关于Linux系统安装后的基础优化操作。 ...查看全部

在运维工作中,我们发现Linux系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才行。


下面我就为大家简单讲解几点关于Linux系统安装后的基础优化操作。



注意:本次优化都是基于CentOS(5.8/6.4)。关于5.8和6.4两者优化时的小区别,我会在文中提及的。



优化条目:


修改ip地址、网关、主机名、DNS等
关闭selinux,清空iptables
添加普通用户并进行sudo授权管理
更新yum源及必要软件安装
定时自动更新服务器时间
精简开机自启动服务
定时自动清理/var/spool/clientmqueue/目录垃圾文件,防止inode节点被占满
变更默认的ssh服务端口,禁止root用户远程连接
锁定关键文件系统
调整文件描述符大小
调整字符集,使其支持中文
去除系统及内核版本登录前的屏幕显示
内核参数优化

1、修改ip地址、网关、主机名、DNS等

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #网卡名字
BOOTPROTO=static #静态IP地址获取状态 如:DHCP表示自动获取IP地址
IPADDR=192.168.1.113 #IP地址
NETMASK=255.255.255.0 #子网掩码
ONBOOT=yes #引导时是否激活
GATEWAY=192.168.1.1

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.113
NETMASK=255.255.255.0
ONBOOT=yes
GATEWAY=192.168.1.1

[root@localhost ~]# vi /etc/sysconfig/network
HOSTNAME=c64 #修改主机名,重启生效
GATEWAY=192.168.1.1 #修改默认网关,如果上面eth0里面不配置网关的话,默认就使用这里的网关了。

[root@localhost ~]# cat /etc/sysconfig/network
HOSTNAME=c64
GATEWAY=192.168.1.1
我们也可以用 hostname c64 来临时修改主机名,重新登录生效

[root@localhost ~]# vi /etc/resolv.conf #修改DNS信息
nameserver 114.114.114.114
nameserver 8.8.8.8
[root@localhost ~]# cat /etc/resolv.conf #查看修改后的DNS信息
nameserver 114.114.114.114
nameserver 202.106.0.20

[root@localhost ~]# service network restart #重启网卡,生效
重启网卡,也可以用下面的命令
[root@localhost ~]# /etc/init.d/network restart

2、关闭selinux,清空iptables

关闭selinux


[root@c64 ~]# sed –i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config     #修改配置文件则永久生效,但是必须要重启系统。
[root@c64 ~]# grep SELINUX=disabled /etc/selinux/config
SELINUX=disabled #查看更改后的结果
[root@c64 ~]# setenforce 0 #临时生效命令
[root@c64 ~]# getenforce #查看selinux当前状态
Permissive

清空iptables


[root@c64 ~]# iptables –F     #清理防火墙规则
[root@c64 ~]# iptables –L #查看防火墙规则
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@c64 ~]#/etc/init.d/iptables save #保存防火墙配置信息
[root@c64 ~]#service iptables off #开机不自动启动

3、添加普通用户并进行sudo授权管理

[root@c64 ~]# useradd sunsky
[root@c64 ~]# echo "123456"|passwd --stdin sunsky && history –c
[root@c64 ~]# visudo
在root ALL=(ALL) ALL 此行下,添加如下内容
sunsky ALL=(ALL) ALL

4、更新yum源及必要软件安装

yum安装软件,默认获取rpm包的途径从国外官方源,改成国内的源。


国内较快的两个站点:搜狐镜像站点网易镜像站点
法1:自己配置好安装源配置文件,然后上传到linux。

法2:使用镜像站点配置好的yum安装源配置文件


[root@c64 ~]# cd /etc/yum.repos.d/
[root@c64 yum.repos.d]# /bin/mv CentOS-Base.repo CentOS-Base.repo.bak
[root@c64 yum.repos.d]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

接下来执行如下命令,检测yum是否正常


[root@c64 yum.repos.d]# yum clean all  #清空yum缓存
[root@c64 yum.repos.d]# yum makecache #建立yum缓存

然后使用如下命令将系统更新到最新


[root@c64 yum.repos.d]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*       #导入签名KEY到RPM
[root@c64 yum.repos.d]# yum upgrade -y #更新系统内核到最新

接下来就要安装几个必要的软件了


[root@c64 yum.repos.d]# yum install lrzsz ntpdate sysstat -y

lrzsz是一个上传下载的软件
ntpdate是用来与远程时间服务器进行时间更新的软件
sysstat是用来检测系统性能及效率的工具


5、定时自动更新服务器时间


提示:CentOS 6.4的时间同步命令路径不一样, 6是/usr/sbin/ntpdate, 5是/sbin/ntpdate



扩展:在机器数量少时,以上定时任务同步时间就可以了。如果机器数量大时,可以在网内另外部署一台时间同步服务器NTP Server。此处仅提及,不做部署。
时间同步服务器架构图:

6、精简开机自启动服务

刚装完操作系统可以只保留crond,network,syslog,sshd这四个服务。(Centos6.4为rsyslog)


[root@c64 ~]# for sun in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $sun off;done
[root@c64 ~]# for sun in crond rsyslog sshd network;do chkconfig --level 3 $sun on;done
[root@c64 ~]# chkconfig --list|grep 3:on
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

7、定时自动清理/var/spool/clientmqueue/目录垃圾文件,防止inode节点被占满

本优化点,在6.4上可以忽略不需要操作即可!


[root@c64 ~]# mkdir /server/scripts -p
[root@c64 ~]# vi /server/scripts/spool_clean.sh
#!/bin/sh
find /var/spool/clientmqueue/ -type f -mtime +30|xargs rm -f

然后将其加入到crontab定时任务中


[root@c64 ~]# echo '/30    * /bin/sh /server/scripts/spool_clean.sh >/dev/null 2>&1' >>/var/spool/cron/root

8、变更默认的ssh服务端口,禁止root用户远程连接

[root@c64 ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
[root@c64 ~]# vim /etc/ssh/sshd_config
Port 52113 #ssh连接默认的端口
PermitRootLogin no #root用户黑客都知道,禁止它远程登录
PermitEmptyPasswords no #禁止空密码登录
UseDNS no #不使用DNS
[root@c64 ~]# /etc/init.d/sshd reload #从新加载配置
[root@c64 ~]# netstat -lnt #查看端口信息
[root@c64 ~]# lsof -i tcp:52113

9、锁定关键文件系统

[root@c64 ~]# chattr +i /etc/passwd
[root@c64 ~]# chattr +i /etc/inittab
[root@c64 ~]# chattr +i /etc/group
[root@c64 ~]# chattr +i /etc/shadow
[root@c64 ~]# chattr +i /etc/gshadow

使用chattr命令后,为了安全我们需要将其改名


[root@c64 ~]# /bin/mv /usr/bin/chattr /usr/bin/任意名称

10、调整文件描述符大小

[root@localhost ~]# ulimit –n        #查看文件描述符大小
1024
[root@localhost ~]# echo '* - nofile 65535' >> /etc/security/limits.conf

配置完成后,重新登录即可查看。


提示:也可以把ulimit -SHn 65535命令加入到/etc/rc.local,然后每次重启生效


[root@c64 ~]# cat >>/etc/rc.local<<EOF
#open files
ulimit -HSn 65535
#stack size
ulimit -s 65535
EOF

扩展:文件描述符



文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。但是文件描述符这一概念往往只适用于Unix、Linux这样的操作系统。


习惯上,标准输入(standard input)的文件描述符是 0,标准输出(standard output)是 1,标准错误(standard error)是 2。尽管这种习惯并非Unix内核的特性,但是因为一些 shell 和很多应用程序都使用这种习惯,因此,如果内核不遵循这种习惯的话,很多应用程序将不能使用。



11、调整字符集,使其支持中文

sed -i 's#LANG="en_US.UTF-8"#LANG="zh_CN.GB18030"#' /etc/sysconfig/i18n
source /etc/sysconfig/i18n

扩展:什么是字符集?



简单的说就是一套文字符号及其编码。常用的字符集有:
GBK 定长双字节不是国际标准,支持系统不少
UTF-8 非定长 1-4字节广泛支持,MYSQL也使用UTF-8


12、去除系统及内核版本登录前的屏幕显示

[root@c64 ~]# >/etc/redhat-release
[root@c64 ~]# >/etc/issue

13、内核参数优化

说明:本优化适合apache,nginx,squid多种等web应用,特殊的业务也可能需要略作调整。


[root@c64 ~]# vi /etc/sysctl.conf
#by sun in 20131001
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time =600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
#一下参数是对iptables防火墙的优化,防火墙不开会有提示,可以忽略不理。
net.ipv4.ip_conntrack_max = 25000000
net.ipv4.netfilter.ip_conntrack_max = 25000000
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120
[root@localhost ~]# sysctl –p #使配置文件生效

提示:由于CentOS6.X系统中的模块名不是ip_conntrack,而是nf_conntrack,所以在/etc/sysctl.conf优化时,需要把net.ipv4.netfilter.ip_conntrack_max 这种老的参数,改成net.netfilter.nf_conntrack_max这样才可以。



即对防火墙的优化,在5.8上是:


net.ipv4.ip_conntrack_max = 25000000
net.ipv4.netfilter.ip_conntrack_max = 25000000
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120

在6.4上是


net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
  1. 5.8版本:
    error: "net.ipv4.ip_conntrack_max" is an unknown key
    error: "net.ipv4.netfilter.ip_conntrack_max" is an unknown key
    error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_established" is an unknown key
    error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait" is an unknown key
    error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait" is an unknown key
    error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait" is an unknown key
    这个错误可能是你的防火墙没有开启或者自动处理可载入的模块ip_conntrack没有自动载入,解决办法有二,一是开启防火墙,二是自动处理开载入的模块ip_conntrack
    modprobe ip_conntrack
    echo "modprobe ip_conntrack" >> /etc/rc.local
  2. 6.4版本上
    error: "net.nf_conntrack_max" is an unknown key
    error: "net.netfilter.nf_conntrack_max" is an unknown key
    error: "net.netfilter.nf_conntrack_tcp_timeout_established" is an unknown key
    error: "net.netfilter.nf_conntrack_tcp_timeout_time_wait" is an unknown key
    error: "net.netfilter.nf_conntrack_tcp_timeout_close_wait" is an unknown key
    error: "net.netfilter.nf_conntrack_tcp_timeout_fin_wait" is an unknown key
    这个错误可能是你的防火墙没有开启或者自动处理可载入的模块ip_conntrack没有自动载入,解决办法有二,一是开启防火墙,二是自动处理开载入的模块ip_conntrack
    modprobe nf_conntrack
    echo "modprobe nf_conntrack" >> /etc/rc.local
  3. 6.4版本上
    error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
    error: "net.bridge.bridge-nf-call-iptables" is an unknown key
    error: "net.bridge.bridge-nf-call-arptables" is an unknown key
    这个错误是由于自动处理可载入的模块bridge没有自动载入,解决办法是自动处理开载入的模块ip_conntrack
    modprobe bridge
    echo "modprobe bridge" >> /etc/rc.local

Haproxy配置文件详解

回复

运维 OpenSkill 发起了问题 1 人关注 0 个回复 5531 次浏览 2015-07-04 17:48 来自相关话题

configure: error: Cannot find libmysqlclient under /usr

编程 OpenSkill 回复了问题 1 人关注 1 个回复 4526 次浏览 2015-07-04 17:36 来自相关话题

configure: error: xml2-config not found. Please check your libxml2 installation

编程 空心菜 回复了问题 3 人关注 1 个回复 3460 次浏览 2015-07-04 17:31 来自相关话题

configure: error: freetype.h not found

编程 OpenSkill 回复了问题 1 人关注 1 个回复 3056 次浏览 2015-07-04 17:27 来自相关话题

nginx: [emerg] unknown directive “ssl” in

运维 空心菜 回复了问题 2 人关注 1 个回复 7301 次浏览 2021-03-24 22:35 来自相关话题