存档

‘Linux’ 分类的存档

linux如何查网卡是否接上网线

2013年8月5日 没有评论

如题,有时在linux下。服务器网线出现问题。重启服务器是没有用的。如何知道网卡网线物理连接正常呢?本周我就遇到过这样的事。

机房重启服务器时不小心触到另一台服务器的网线。使服务器的网络中断。中间我叫机房有重启。但无反应。以为系统或是硬件挂了。很担心。叫机房接kvm设备查看。经过长时间排查发现系统是正常的。但就是网络连不上。服务网卡系统各参数设置正常。

运行ifconfig -a 配置也认到正常正确。就是无法ssh及ping到服务器。对外也判断是无法连接网络。然后突想到是不是网线给碰到了。。。叫机房去机柜上插拔一下。。。果然恢复了。事后其实知道有个工具完可以在linux下判断物理连接。我介绍给大家以便以后判定。不然像我一样纠结一下午才想到原因。

我们在win下很容易判断出是否接网线。在linux下一般用ethtool这个工具。安装方式如下。以centos为例。

rpm -q ethtool
yum -y install ethtool

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@vps12.com /]# ethtool eth0
Settings for eth0:
    Supported ports: [ TP MII ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes: 10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
    Advertised auto-negotiation: Yes
    Speed: 10Mb/s
    Duplex: Half
    Port: MII
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pumbg
    Wake-on: g
    Current message level: 0x00000033 (51)
    Link detected: no             ----->>>>>本地连接没有连接上,连上应该是yes

debain等linux下大同小异。一样使用。非常方便。

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系统下清除操作信息的记录

2013年7月7日 没有评论

Linux下如在终端里或是在文本方式操作时,只要按上下光标键可以快速调用以前的命令,
可是这样其他人用同样的用户登录后也同样知道你的操作了。另外在Linux图形界面中,
如GNOME,在面板的菜单上有打开最近文档这一选项,列出了最近的用户的所有使用的文件。
如何清理这两种属性呢?

1)该属性分别归于不同的用户,只有相同的用户登录后才能使用以上的属性。
2)每个用户的根目录下有两个隐藏文件:.bash_history和.recently-used。
前者记录了所有终端和文本方式中使用过的命令;后者记录所访问过的文件。
3)通过上面的介绍可以知道,只要将用户目录下面这两个文件清空就可以清除
以上记录了。如本人的机器常用root登录(一个很不好的习惯),
只要在/etc/rc.d/rc.local文件中加上以下两句就可以了:

>/root/.bash_history
>/root/.recently-used

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各版本中测试通过。

关于Linux系统网卡流量Tx和Rx的意思详解

2013年6月2日 没有评论

在linux环境系统下,经常我们在用软件查看网卡流量的时候分不太清楚tx和rx的分别。
其实正常来解释:
tx是发送(transport),rx是接收(receive)。以debain系统为例子。比如你的外网网卡,wan,rx是wan接受ISP的传输数据, 即下载速度。wan的tx,是工作站经ros wan网卡向isp上传的速度,既上传速度。内网网卡lan的rx,应该是ros接受来之内网工作站的上传,既是上传速度。tx是lan网卡传给工作站的速度,即工作站经内网网卡下载的速度 (debain)。tx rx 每个版本都不一样的。而且相对于外网和内网的解释又是相反的你就记住一般RX外网指的是下载,TX指的是上传而内网相反就行了
下例是我们使用bwm-ng软件查看的相关网卡的流量情况。

tap150i0等网卡显示的 Rx和Tx 就是表示 : Rx 出流量 Tx 进流量 上面eth0相反。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 bwm-ng v0.6 (probing every 0.500s), press 'h' for help
  input: /proc/net/dev type: rate
  |         iface                   Rx                   Tx                Total
  ==============================================================================
               lo:          33.96 Kb/s           33.96 Kb/s           67.92 Kb/s
             eth0:        4734.80 Kb/s         4469.48 Kb/s         9204.28 Kb/s
            vmbr0:          37.96 Kb/s           60.48 Kb/s           98.43 Kb/s
           venet0:           0.00 Kb/s            0.00 Kb/s            0.00 Kb/s
         tap150i0:           8.92 Kb/s            8.08 Kb/s           16.99 Kb/s
         tap108i0:           0.00 Kb/s            0.00 Kb/s            0.00 Kb/s
         tap102i0:           0.00 Kb/s            0.00 Kb/s            0.00 Kb/s
         tap107i0:          10.29 Kb/s           12.34 Kb/s           22.63 Kb/s
         tap101i0:         149.11 Kb/s          147.53 Kb/s          296.64 Kb/s
         tap117i0:           0.00 Kb/s            0.00 Kb/s            0.00 Kb/s
         tap118i0:         114.99 Kb/s          136.64 Kb/s          251.63 Kb/s
         tap155i0:           0.00 Kb/s            0.00 Kb/s            0.00 Kb/s
         tap120i0:           0.00 Kb/s            0.00 Kb/s            0.00 Kb/s
         tap121i0:           0.00 Kb/s            0.00 Kb/s            0.00 Kb/s
         tap116i0:           0.00 Kb/s            0.00 Kb/s            0.00 Kb/s
         tap113i0:        1519.50 Kb/s         1403.32 Kb/s         2922.82 Kb/s
         tap112i0:         565.15 Kb/s          566.64 Kb/s         1131.79 Kb/s
         tap149i0:           0.00 Kb/s            0.00 Kb/s            0.00 Kb/s
         tap119i0:           0.00 Kb/s            0.00 Kb/s            0.00 Kb/s
         tap160i0:           0.00 Kb/s            0.00 Kb/s            0.00 Kb/s
         tap100i0:         678.86 Kb/s          636.36 Kb/s         1315.22 Kb/s
         tap103i0:        1282.07 Kb/s         1263.13 Kb/s         2545.21 Kb/s
         tap128i0:          79.09 Kb/s           83.12 Kb/s          162.21 Kb/s
  ------------------------------------------------------------------------------
            total:        9214.69 Kb/s         8821.09 Kb/s        18035.78 Kb/s

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文件

使用htaccess实现域名跳转

2013年3月31日 没有评论

要使用域名的统一,即使得vps12.com转向www.vps12.com,有很多办法,听说对于seo也有些好处!

1
2
3
RewriteEngine on
RewriteCond %{HTTP_HOST} ^vps12.com [NC]
RewriteRule ^(.*)$ http://www.vps12.com/$1 [L,R=301]

还可以利用重定向功能实现url的跳转,例如:

1
2
3
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.abc.com [NC]
RewriteRule ^(.*)$ http://www.vps12.com/$1 [L,R=301]

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

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

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

scp断点续传和wget自动断点续传的方法

2013年3月23日 没有评论

1. scp断点续传
scp一旦出错中断就只能重新开始,不过可以利用rsync实现scp的断点续传
1、在~/.bashrc中加入一个alias:
$vim ~/.bashrc
alias rscp=’rsync -v -P -e ssh’
2、重新载入.bashrc配置
$source ~/.bashrc

2. wget自动断点续传的方法
有时候我们使用wget下载东西被迫打断, 比如网络故障, 终端意外断开, 忘了加”&”放入该台等等.
沉稳的人或许会想到重新开启wget, 并使用 -c断点续传, 可是有时候, 因为N个g的东西突然断了, 一冲动就晕了, 就纠结了, 可能就会就重新跑wget了, 甚至截止到本文还有人不知道-c.
那么为了杯具不再发生, 我们可以让wget每次运行的时候自动加上 -c参数, 那样就万事大吉了嘛. 方法如下:
在家目录下新建文件”.wgetrc”, 内容如下:
continue = on
写入wget.sh后,可以这样同时下载多个文件:
1.nohup wget http://www.vps12.com/software/db_must.tar.gz &
2.nohup wget http://www.vps12.com/software/root_must.tar.gz &
3.nohup wget http://www.vps12.com/software/webserver_must.tar.gz &
如果想不用IP,但有两个相同的域名,则需要配置/etc/hosts加和IP对应的域名,再Wget即可。
保存退出, 以后再使用wget就会自动断点续传了。