存档

文章标签 ‘Linux’

安装CentOS 出现Disk sda contains BIOS RAID metadata解决方法

2015年1月14日 没有评论

在安装CentOS 6系统的时候,当进到检测硬盘的时候,总是过不去,报错如下: Disk sda contains BIOS RAID metadata, but is not part of any recognized BIOS RAID sets. Ignoring disk sda 。

如下图显示:

 

解决办法1:
硬盘显示偶尔/dev/sda,偶尔/dev/sdb。。
从提示看貌似以前该硬盘做过RAID。。但问题是,这是个新的硬盘这样提示。该提示导致系统无法认到硬盘,没法继续安装系统。
后来经过一番Google,安装系统时,输入linux nodmraid就可以继续安装了。。
linux nodmraid命令的意思是关掉阵列。

进入安装选择菜单时

按TAB键,会进入到Linux的命令行模式,然后在启动命令行的后面添加nodmraid(注意前面先加个空格)并按ENTER。

接下进入安装的过程就会发现硬盘找到了。

>vmlinuz initrd=initrd.img nodmraid

要想在后续安装系统时不会出现以上提示,以下是彻底解决方法:
把硬盘放到另外一台机器上
# dmraid -rE /dev/sdb
no raid disks and with names: “/dev/sdb”
不行啊。网上搜索一下,有朋友给出一个更加简单的办法,用parted
网上搜索一下,有朋友给出一个更加简单的办法,用parted
# parted /dev/sdb –script mklabel gpt
# parted /dev/sdb –script — mkpart primary 0 -1
Warning: The resulting partition is not properly aligned for best performance.
# parted /dev/sdb –script print
Model: ATA TOSHIBA MK1002TS (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start  End  Size  File system Name  Flags
1  17.4kB 1000GB 1000GB        primary处理完,放回原来的机器,居然就没问题,顺利装完系统。
如果是这样,在急救模式下,运行parted,也是应该没问题。

如果还不行,最后一招就是DD
dd if=/dev/null of=/dev/sda bs=512 count=1
解决办法2(推荐):

其实多数情况下这种提示我们进入bios下面的 Advanced Options 里按图片选择 这个AHCI 就可以了。

 

Linux系统中的load average

2015年1月1日 没有评论

一、什么是load average?
linux系统中的Load对当前CPU工作量的度量 (WikiPedia: the system load is a measure of the amount of work that a computer system is doing)。也有简单的说是进程队列的长度。
Load Average 就是一段时间 (1 分钟、5分钟、15分钟) 内平均 Load 。

我们可以通过系统命令”w”查看当前load average情况

[root@CNC-BJ-5-3N1 ~]# w
20:01:55 up 76 days, 8:20, 6 users, load average: 1.30, 1.48, 1.69

上面内容显示系统负载为“1.30, 1.48, 1.69”,这3个值是什么意思呢?
第一位1.30:表示最近1分钟平均负载
第二位1.48:表示最近5分钟平均负载
第三位1.69:表示最近15分钟平均负载

PS. linux系统是5秒钟进行一次Load采样
二、load average值的含义
2.1 单核处理器
假设我们的系统是单CPU单内核的,把它比喻成是一条单向马路,把CPU任务比作汽车。当车不多的时候,load <1;当车占满整个马路的时候 load=1;当马路都站满了,而且马路外还堆满了汽车的时候,load>1

Load < 1
Load = 1
Load >1

2.2 多核处理器
我们经常会发现服务器Load > 1但是运行仍然不错,那是因为服务器是多核处理器(Multi-core)。
假设我们服务器CPU是2核,那么将意味我们拥有2条马路,我们的Load = 2时,所有马路都跑满车辆。

Load = 2时马路都跑满了

#查看CPU core
grep ‘model name’ /proc/cpuinfo | wc -l

3. 什么样的Load average值要提高警惕
0.7 < load < 1: 此时是不错的状态,如果进来更多的汽车,你的马路仍然可以应付。
load = 1: 你的马路即将拥堵,而且没有更多的资源额外的任务,赶紧看看发生了什么吧。
load > 5: 非常严重拥堵,我们的马路非常繁忙,每辆车都无法很快的运行
4. 三种Load值,应该看哪个?
通常我们先看15分钟load,如果load很高,再看1分钟和5分钟负载,查看是否有下降趋势。
1分钟负载值 > 1,那么我们不用担心,但是如果15分钟负载都超过1,我们要赶紧看看发生了什么事情。所以我们要根据实际情况查看这三个值。

分类: Linux 标签: ,

CentOS下安装fail2ban防暴力破解工具(转)

2014年6月15日 没有评论

CentOS下安装fail2ban防暴力破解工具:

前言:首先说说为什么笔者会想到写这篇博客,源于昨天下午,突然收到Nagios的报警邮件,说邮件服务器的进程数超过阀值。于是赶紧登录上去查看。

这里说下分析的过程:
1.既然说进程数超过阀值,肯定先查看进程:ps -ef;
2.如果不能即时看到问题,那就动态显示:top,看看究竟是哪个程序占用这么多进程;
3.最后确定了应该是courier-imap,但还不知道是什么原因导致;
4.查看ip连接,确认是否是其存在问题:netstat -ant,发现有大量的110连接;

5.既然是收信服务,那就赶紧追踪查看邮件日志:tail -f /var/log/maillog;
6.发现问题:日志里有大量的登录错误信息,发现是同一ip,并在用不同的用户名密码来暴力破解

7.稍等一会,确定目标IP后,将其ip的包丢弃:iptables -I INPUT -s 176.61.143.41 -j DROP #此ip为真实攻击ip,所以在此曝光
8.稍等一会,再次查看进程,进程数有明显下降,故障解决。

介于这种安全隐患的存在,我们以后可以利用fail2ban来实现防暴力破解,防止恶意攻击。
下面就来说说fail2ban具体是什么。
简介:
fail2ban可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是调用防火墙屏蔽),如:当有人在试探你的SSH、SMTP、FTP密码,只要达到你预设的次数,fail2ban就会调用防火墙屏蔽这个IP,而且可以发送e-mail通知系统管理员,是一款很实用、很强大的软件!

功能和特性:
1、支持大量服务。如sshd,apache,qmail,proftpd,sasl等等
2、支持多种动作。如iptables,tcp-wrapper,shorewall(iptables第三方工具),mail notifications(邮件通知)等等。
3、在logpath选项中支持通配符
4、需要Gamin支持(注:Gamin是用于监视文件和目录是否更改的服务工具)
5、需要安装python,iptables,tcp-wrapper,shorewall,Gamin。如果想要发邮件,那必需安装postfix或sendmail
核心原理:
其实fail2ban就是用来监控,具体是调用iptables来实现动作!

好了,那下面来说说具体怎么安装、部署吧。
一、首先是服务安装
首先配置yum源,这里采用的是yum直接装(也可源码安装)
vim /etc/yum.repos.d/CentOS-Base.repo
在最后新增:
[atrpms]
name=Red Hat Enterprise Linux $releasever – $basearch – ATrpms
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
enabled=1
然后直接就yum装:yum -y install fail2ban
安装完成后,服务配置目录为:/etc/fail2ban
/etc/fail2ban/action.d #动作文件夹,内含默认文件。iptables以及mail等动作配置
/etc/fail2ban/fail2ban.conf #定义了fai2ban日志级别、日志位置及sock文件位置
/etc/fail2ban/filter.d #条件文件夹,内含默认文件。过滤日志关键内容设置
/etc/fail2ban/jail.conf #主要配置文件,模块化。主要设置启用ban动作的服务及动作阀值
/etc/rc.d/init.d/fail2ban #启动脚本文件

二、安装后配置
首先来看看日志文件的默认定义:
cat /etc/fail2ban/fail2ban.conf |grep -v ^#
[Definition]
loglevel = 3
logtarget = SYSLOG #我们需要做的就是把这行改成/var/log/fail2ban.log,方便用来记录日志信息
socket = /var/run/fail2ban/fail2ban.sock
再来看看主配置默认生效的配置:
cat /etc/fail2ban/jail.conf |grep -v ^# |less

[DEFAULT] #全局设置
ignoreip = 127.0.0.1 #忽略的IP列表,不受设置限制(白名单)
bantime = 600 #屏蔽时间,单位:秒
findtime = 600 #这个时间段内超过规定次数会被ban掉
maxretry = 3 #最大尝试次数
backend = auto #日志修改检测机制(gamin、polling和auto这三种)

[ssh-iptables] #针对各服务的检查配置,如设置bantime、findtime、maxretry和全局冲突,服务优先级大于全局设置
enabled = true #是否激活此项(true/false)
filter = sshd #过滤规则filter的名字,对应filter.d目录下的sshd.conf
action = iptables[name=SSH, port=ssh, protocol=tcp] #动作的相关参数
sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com] #触发报警的收件人
logpath = /var/log/secure #检测的系统的登陆日志文件
maxretry = 5 #最大尝试次数
PS:logpath(Centos5和Rhel5中)要写成/var/log/secure,这个是系统登陆日志,不能随意设置

service fail2ban start #启动服务即可(就用默认的主配置文件里定义的)
service iptables start #fail2ban依赖预iptables #之前改过日志路径,不行的话就再重启fail2ban
三、测试功能
测试机:192.168.30.251
fail2ban:192.168.29.253

在测试机上ssh 192.168.29.253,并且连续输入超过5次密码不对(经测试有延迟,多试几次),就会出现下图,连接不上

fail2ban上会产生日志记录:阻挡了此ip的续连

四、扩展说明
其实fail2ban的功能还是很丰富的,刚刚只是测试了它的防ssh暴力破解功能。
下面简单提下我用的一些功能:
本人是用在邮件服务器上,所以会监控pop、http等服务,具体配置见下(不做演示了)
[pop3]
enabled = true
filter = courierlogin
action = iptables[name=pop3, port=110, protocol=tcp]
logpath = /var/log/maillog
bantime = 1800
findtime = 300
maxretry = 30

[webmail]
enabled = true
filter = webmail
action = iptables[name=httpd, port=http, protocol=tcp]
logpath = /var/log/maillog
bantime = 900
findtime = 300
maxretry = 5

好了,就先到这里吧!

各版本linux及unix升级ssh及ssl方法及解决方案

2014年4月24日 没有评论

2014年的4月注定不是个安稳的月份。经网络大报出ssh及ssl漏洞后。请大家放心:我司的云架构之前使用 OpenSSL 1.0.0 版本,现在已经升级到 OpenSSL 1.0.1g。这两个分支版不受本次漏洞影响。

此外,我们的云架构底层防火墙还专门针对 SSL 的默认端口做了底层加固,过滤tcp22和443端口的数据包,匹配包头为攻击类型的数据包则丢弃。

因此,只要您的云主机仍然在使用 SSL 协议的默认端口,即使有的云主机上有 SSL 漏洞,也不会受到很大影响。

如果您修改了 SSL 协议的默认端口,或是有其他平台上的云主机或是物理服务器,我们建议您可以通过以下地址检测这些主机上的网站:

http://possible.lv/tools/hb/

如果检测出问题,您可以这样修复。

针对 Debian 和 Ubuntu 系统:
# apt-get update
# apt-get install openssl libssl1.0.0

针对CentOS:
# yum update openssl

如果您使用的是openSUSE:
# zypper in -t patch openSUSE-2014-277

修复完成后,必须要重新 Web 服务:
重启 Apache: # /etc/init.d/apache2 restart
重启 Nginx: # /etc/init.d/ngnix restart
重启 Httpd: # /etc/init.d/httpd restart

这样就可以了。

如果有任何与安全相关的问题,欢迎您联系我们的客服工程师。

Linux下使用Smartmontools查看硬盘通电时间

2014年2月11日 没有评论

1.1 什么是Smartmontools?
Smartmontools是一种硬盘检测工具,通过控制和管理硬盘的SMART(Self Monitoring Analysis and Reporting Technology,自动检测分析及报告技术)技术来实现的,SMART技术可以对硬盘的磁头单元、盘片电机驱动系统、硬盘内部电路以及盘片表面介质材料等进行监测,当SMART监测并分析出硬盘可能出现问题时会及时向用户报警以避免计算机数据受损失。SMART技术必须在主板支持的前提下才能发生作用,而且 SMART技术也不能保证能预报所有可能发生的硬盘故障。SMART(SFF-8035i) 是硬盘生产商们建立的一个工业标准,这个标准就是在硬盘上保存一个跟执行情况,可靠程度,读找错误率等属性的表格。所有属性都有一个1byte(大小范围1-253)的标准化值,还包含另一个1byte的关键阶段值,如果属性表格内某个数据接近小于或达到关键阶段值,表明硬盘工作不正常了。

2.1 Smartmontools的使用
1、启动监控进程

# /etc/init.d/smartd start
启动 smartd: [ 确定 ]
2、检查硬盘是否支持SMART 1993年以后出厂的硬盘基本上都支持SMART技术,使用如下命令可以来查看:

# smartctl -i /dev/hdb
smartctl version 5.33 [i686-turbo-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model: ST3160212A
Serial Number: 5LS2EDKN
Firmware Version: 3.AAE
User Capacity: 160,041,885,696 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 7
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Mon Sep 17 02:13:37 2007 CST
SMART support is: Available – device has SMART capability.
SMART support is: Enabled
在上面的信息可以看到,该硬盘是支持SMART技术,且当前是开启的。如果SMART support is: Disabled表示SMART未启用,执行如下命令,启动SMART:

smartctl –smart=on –offlineauto=on –saveauto=on /dev/hdb
3、检查硬盘健康状态

# smartctl -H /dev/hdb
smartctl version 5.33 [i686-turbo-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
请注意result后边的结果:PASSED,这表示硬盘健康状态良好,如果这里显示Failure,那么最好立刻给服务器更换硬盘。SMART只能报告磁盘已经不再健康,但是报警后还能继续运行多久是不确定的,通常,SMART报警参数是有预留的,磁盘报警后,不会当场坏掉,一般能坚持一段时间,有的硬盘SMART报警后还继续跑了好几年,有的硬盘SMART报错后几天就坏了,千万不要存在侥幸心理。执行如下命令可以看到详细的参数:

# smartctl -A /dev/hdb
smartctl version 5.33 [i686-turbo-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 114 100 006 Pre-fail Always – 81812244
3 Spin_Up_Time 0×0003 100 099 000 Pre-fail Always – 0
4 Start_Stop_Count 0×0032 100 100 020 Old_age Always – 257
5 Reallocated_Sector_Ct 0×0033 100 100 036 Pre-fail Always – 0
7 Seek_Error_Rate 0x000f 078 060 030 Pre-fail Always – 64781708
9 Power_On_Hours 0×0032 096 096 000 Old_age Always – 4365
10 Spin_Retry_Count 0×0013 100 100 097 Pre-fail Always – 0
12 Power_Cycle_Count 0×0032 100 100 020 Old_age Always – 276
187 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 0
189 Unknown_Attribute 0x003a 100 100 000 Old_age Always – 0
190 Unknown_Attribute 0×0022 058 053 045 Old_age Always – 773324842
194 Temperature_Celsius 0×0022 042 047 000 Old_age Always – 42 (Lifetime Min/Max 0/21)
195 Hardware_ECC_Recovered 0x001a 052 048 000 Old_age Always – 1562815
197 Current_Pending_Sector 0×0012 100 100 000 Old_age Always – 0
198 Offline_Uncorrectable 0×0010 100 100 000 Old_age Offline – 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always – 0
200 Multi_Zone_Error_Rate 0×0000 100 253 000 Old_age Offline – 0
202 TA_Increase_Count 0×0032 100 253 000 Old_age Always – 0
FLAG是标记,标准数值(VALUE)应当小于或等於关键值(THRESH)。WHEN_FAILED 代表错误信息,上面显示的WHEN_FAILED纵行是空行,说明硬盘没有故障。如果WHEN_FAILED显示数字,表明硬盘磁道可能有比较大的坏道。

4、对硬盘进行检测 手工对硬盘进行测试的方法有以下四种:

smartctl -t short 后台检测硬盘,消耗时间短
smartctl -t long 后台检测硬盘,消耗时间长
smartctl -C -t short 前台检测硬盘,消耗时间短
smartctl -C -t long 前台检测硬盘,消耗时间长
例如,在后台对硬盘进行详细的检查,命令如下:

# smartctl -t long /dev/hdb
smartctl version 5.33 [i686-turbo-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: “Execute SMART Extended self-test routine immediately in off-line mode”.
Drive command “Execute SMART Extended self-test routine immediately in off-line mode” successful.
Testing has begun.
Please wait 54 minutes for test to complete.
Test will complete after Mon Sep 17 03:53:32 2007

Use smartctl -X to abort test.
上面的信息显示54分钟后将完成检查,同时可以使用 smartctl -X 终止检查。终止硬盘检查命令的使用方法是:

# smartctl -X /dev/hdb
smartctl version 5.33 [i686-turbo-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: “Abort SMART off-line mode self-test routine”.
Self-testing aborted!
5、查看硬盘日志 使用“smartctl -l logtype ”可以查看硬盘的日志,日志又分为多种类型,如selftest、error等等。例如查看硬盘检测的日志,如下:

# smartctl -l selftest /dev/hdb
smartctl version 5.33 [i686-turbo-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Aborted by host 90% 4365 –
# 2 Extended offline Completed without error 00% 4247 –
# 3 Short offline Aborted by host 30% 4246 –
# 4 Short offline Aborted by host 10% 4246 –
# 5 Extended offline Completed without error 00% 4229 –
查看硬盘错误日志:

# smartctl -l error /dev/hdb
smartctl version 5.33 [i686-turbo-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
No Errors Logged

我主要是要看通电时间
所以只用了
smartctl -A /dev/hda

其中
Power_On_Hours 就是我要的数据

centos下两种方法安装git

2013年7月23日 没有评论

今天下个包需要使用git,网上找了下看到大多数只有编译安装,并且编译安装还有错,不知道他们也没有实验过,这里我来给大家介绍下编译安装和yum安装git.
系统:centos 5.5
需要的软件包:git-latest.tar.gz epel-release-5-4.noarch.rpm

1.先给大家说下编译安装方法,安装前准备
yum -y install zlib-devel openssl-devel perl cpio expat-devel gettext-devel openssl zlib curl autoconf tk
wget http://git-core.googlecode.com/files/git-1.7.10.tar.gz

2.安装git
tar zxf git-latest.tar.gz
cd git-{date} 我这里是git-2012-04-17的版本,所以我的命令是cd git-2012-04-17/
autoconf
./configure
make
make install
make和make install在这里最好分开执行,免得有错不知道.
git –version
git version 1.7.10
好了,下面来介绍怎么yum安装,其实yum安装很简单.

1.yum安装git前准备,我的系统是centos5的
wget -P /etc/yum.repos.d/ http://geekery.altervista.org/geekery-el5-i386.repo
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
epel-release只能在http://rpm.pbone.net/上找了。
给一个可用的下载址的:
wget dl.iuscommunity.org/pub/ius/stable/CentOS/5/i386/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm
2.开始使用yum安装git
yum -y install git
git –version
git version 1.7.10
这个yum安装的git也是1.7.10.

centos 6系统可以参考这个地址:http://geekery.altervista.org/dokuwiki/doku.php

分类: Linux 标签: , , , ,

Linux批量添加IP方法,绑定1个c或是多个连续ip的办法

2013年6月15日 没有评论

我们平时在windows的网卡中绑定ip地址相当方便要一个个输入或是用命令绑定,方法请详见之前的文章:windows 批量添加IP的方法
Linux这么批量添加IP?Centos如何快速绑定多个IP?正常我们知道的方式是建立多个网卡的别名如eth0:0或eth0:1等等。但这样有一个问题,就是太过麻烦。如果要绑定100个或是200多个ip地址,会建立文件建立到手软。可否做到一个配置文件即可?答案是肯定的。
linux也是很人性化的。比如我们有时客户需要增加多个ip地址。如1个c段256个ip地址。那么我们按以下办法操作即可:

可以在/etc/sysconfig/network-scripts下创建一个range文件
在ssh下打入命令: vi /etc/sysconfig/network-scripts/ifcfg-eth0-range0

1
2
3
4
5
6
7
8
9
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR_START=10.0.0.111
IPADDR_END=10.0.0.119
CLONENUM_START=0
GATEWAY=10.0.0.1
NETMASK=255.255.255.000
NO_ALIASROUTING=yes

其中:
IPADDR_START 是起始IP地址,
IPADDR_END 是结束IP地址,
CLONENUM_START 是起始IP别名网卡名(本例中是 eth0:0)
然后重启网络服务让IP生效: service network restart

netmask 子网掩码 参考表:
/29 (5 usable) NETMASK = 255.255.255.248
/28 (13 usable) NETMASK = 255.255.255.240
/27 (29 usable) NETMASK = 255.255.255.224
/26 (61 usable) NETMASK = 255.255.255.192
/25 (125 usable) NETMASK = 255.255.255.128
/24 (253 usable) NETMASK = 255.255.255.0

本例在linux centos各版本中测试通过。

ssh连接的时候出现Host key verification failed.

2013年5月1日 没有评论

今天在服务器上执行远程操作命令出现以下的问题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@www ~]# ssh 192.168.1.**
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
3c:2a:3a:d5:ae:2b:76:52:*:*.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:20
RSA host key for 192.168.1.** has changed and you have requested strict checking.
Host key verification failed.

解决方法:
在正在操作的机器上执行

1
vi ~/.ssh/known_hosts

进入此目录,删除的192.168.1.**相关rsa的信息即可.
或者删除这个文件

1
2
cd ~/.ssh/
rm known_hosts

linux(centos)绑定ARP的方法

2013年4月16日 没有评论

ARP协议是“Address Resolution Protocol”(地址解析协议) 的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主 机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标 MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

而ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。

ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。

在工作中经常遇到有服务器受到ARP欺骗攻击,严重影响了网络的正常运营,于是想到将网关的ARP条目进行绑定。

本文是关于linux服务器下arp网关的绑定

1、查看网关的arp信息
[root@Vtest ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.103 ether 00:16:ea:27:7b:04 C eth0
192.168.1.1 ether 40:16:9f:6c:39:1e C eth0

说明:
Address: 主机的IP地址
Hwtype: 主机的硬件类型
Hwaddress:主机的硬件地址
Flags Mask:记录标志,”C”表示arp高速缓存中的动态条目,”CM”表示静态的arp条目。

我们需要绑定的就是192.168.1.1所在的一行。

2、建立一个静态IP –>>mac对应的文件
[root@Vtest ~]#echo ’192.168.1.1 40:16:9f:6c:39:1e’>>/etc/ip-mac

3、设置开机自动绑定

arp信息重启后会清空,所以需要开机的时候自动绑定。服务器启动过程最后运行的脚本是rc.local,我们把绑定的命令就加到这个文件的最后一行。

[root@Vtest ~]#echo ‘arp -f /etc/ip-mac’ /etc/rc.local

4、手动绑定一下
[root@Vtest ~]#echo arp -f /etc/ip-mac

[root@Vtest ~]#arp -s 192.168.1.1 40:16:9f:6c:39:1e
5、验证
[root@Vtest ~]# arp -a
(192.168.1.103) at 00:16:ea:27:7b:04 [ether] on eth0
(192.168.1.1) at 40:16:9f:6c:39:1e [ether] PERM on eth0
[root@Vtest ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.103 ether 00:16:ea:27:7b:04 C eth0
192.168.1.1 ether 40:16:9f:6c:39:1e CM eth0

从以上显示的信息来看,已经绑定成功了,第一个命令结果中的”PERM”表示Permanent,永久的意思,即绑定成永久arp条目。到这里绑定就完成了,你的网关arp绑定了么,为了稳定运行,赶快绑定吧。

6、这只能防住一些arp攻击,如果将网内所有ip mac导入ethers文件,能有效的防止arp攻击
安装nmap:

rpm -vhU http://nmap.org/dist/nmap-6.25-1.i386.rpm
rpm -vhU http://nmap.org/dist/zenmap-6.25-1.noarch.rpm
rpm -vhU http://nmap.org/dist/ncat-6.25-1.i386.rpm
rpm -vhU http://nmap.org/dist/nping-0.6.25-1.i386.rpm
扫描同网段所有ip
nmap -sP 192.168.1.0/24 2>&1 | tee ip.log
扫描,结果我的arp表里就有那个网段所有机器的mac,将所有信息复制至/etc/ip-mac文件

KVM快照管理(转)

2013年3月25日 没有评论

######## 注意:对KVM快照进行管理需要在关机机状态下 ###########
说明:
kvm默认的文件格式是raw,也就是使用文件来模拟实际的硬盘(当然也可以使用一块真实的硬盘或一个分区),不过raw格式只支持内存快照(就是启动的时候加-snapshot,所有更改都写到内存),重启之后就没了。raw格式不支持磁盘快照,因此要使用qcow或qcow2文件格式。

1. 查看镜像文件格式
[root@PLASPACSHCN14 images]# qemu-img info EBS-6.img
image: EBS-6.img
file format: raw
virtual size: 300G (322122547200 bytes)
disk size: 300G
说明: 现在的文件格式是raw,需要转换成qcow2格式。

2. 转换文件格式(把raw转换成qcow2格式)
[root@PLASPACSHCN14 images]# cd /var/lib/libvirt/images
[root@PLASPACSHCN14 images]# qemu-img convert -f raw -O qcow2 EBS-6.img EBS-6_qcow2.img

3. 查看当前目录下的文件:
[root@PLASPACSHCN14 images]# ls
EBS-3.img EBS-6.img EBS-6_qcow2.img EBS-7.img
[root@PLASPACSHCN14 images]# du -sh *
301G EBS-3.img
301G EBS-6.img
2.5G EBS-6_qcow2.img
2.5G EBS-6-qcow2.img
401G EBS-7.img
说明:可见,多出来了个文件EBS-6_qcow2.img。

4. 为虚拟机创建快照:
4.1 一定不要开机快照!
首先需要关闭虚拟机,然后按照下面的命令进行快照。最后恢复快照的时候先关机在恢复。
[root@PLASPACSHCN14 images]# qemu-img snapshot -c snapshot01 EBS-6_qcow2.img
说明: qemu-img snapshot -c snapshot01 EBS-6_qcow2.img
命令 快照参数 参数 快照的命令 镜像的名字,(为那个镜像创建的快照)

5. 列出镜像的所有快照
[root@PLASPACSHCN14 images]# qemu-img snapshot -l EBS-6_qcow2.img
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 snapshot01 0 2012-12-27 14:53:07 00:00:00.000

6. 恢复快照:
[root@PLASPACSHCN14 images]# qemu-img snapshot -a snapshot01 EBS-6_qcow2.img
说明:qemu-img snapshot -a snapshot01 EBS-6_qcow2.img
命令 快照命令 快照参数 快照名称 镜像名称

7. 删除快照:
[root@PLASPACSHCN14 images]# qemu-img snapshot -d snapshot01 EBS-6_qcow2.img
说明: qemu-img snapshot -d snapshot01 EBS-6_qcow2.img
命令 命令参数 命令参数 快照名称 镜像名称
8. 后记:
使用KVM时很复杂的,还是选择Vmware能方便一些,对于快照这块,需要提前创建qcow格式的镜像文件:qemu-img create -f qcow2 vdisk.img 50G,然后再进入图形化进行系统安装。(快照最好使用virsh创建快照,qemu-img快照出来的文件只是0KB,所以建议使用virsh快照。)

kvm快照应用 (转载)

kvm也具有快速恢复的方法,前提是必须处于关机状态才可以执行,否则会出现各种莫名其妙的问题

创建镜像:
qemu-img snapshot -c initial smokeping_falcon_test0917.qcow2
恢复镜像:
qemu-img snapshot -a initial smokeping_falcon_test0917.qcow2
删除镜像
qemu-img snapshot -d initial smokeping_falcon_test0917.qcow2
状态查看
qemu-img snapshot -l smokeping_falcon_test0917.qcow2

创建前的大小
[root@smokeping]# ll
total 7578488
-rw-r–r– 1 root root 171825168384 Sep 17 17:01 smokeping_falcon_test0917.xml
-rw-r–r– 1 root root 171825168384 Sep 17 16:01 smokeping_falcon_test_187.qcow2
-rw-r–r– 1 root root 171825168384 Sep 6 11:14 smokeping_falcon_test.qcow2
以下是创建后的文件
[root@smokeping]# ll
total 7603284
-rw-r–r– 1 qemu qemu 171850530816 Sep 17 17:22 smokeping_falcon_test0917.qcow2
-rw-r–r– 1 root root 171825168384 Sep 17 16:01 smokeping_falcon_test_187.qcow2
-rw-r–r– 1 root root 171825168384 Sep 6 11:14 smokeping_falcon_test.qcow2

查看镜像方法1
[root@smokeping]# qemu-img info smokeping_falcon_test0917.qcow2
image: smokeping_falcon_test0917.qcow2
file format: qcow2
virtual size: 160G (171798691840 bytes)
disk size: 2.2G
cluster_size: 65536
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 initial 0 2012-09-17 17:08:49 00:00:00.000
查看镜像方法2
[root@smokeping]# qemu-img snapshot -l smokeping_falcon_test0917.qcow2
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 initial 0 2012-09-17 17:08:49 00:00:00.000

利用这个镜像,可以迅速还原服务器状态,使用空间也不大。

实测中,若虚拟机为启动状态制作快照,恢复后会无法载入系统,关闭服务器,再次启动,服务器直接崩溃。