Rootop 服务器运维与web架构

2013-05-02
发表者 Venus
暂无评论

华赛S2600阵列 恢复admin密码

    一台华赛磁盘阵列s2600忘记管理密码,破解方法如下:

1、通过串口线连接 (背部面板MGNT口)

2、复位系统(复位按钮在管理网口右边),串口上有如下打印信息:

当出现AK-I login的打印时(此时设备开工还未完成),请输入admin,密码123456,然后按shift+9,进入到AK-I:~#模式下,如下图:

输入passwd admin 命令,并输入新的密码
再输入os_coffer_auth.sh save命令,修改密码成功。

待开工完成后(等待3-4分钟),使用修改后的admin密码登陆即可。

(我在复位阵列启动的时候,阵列有报警,感觉在报警的时候无法进入此模式,多重启几次不报警的时候没问题)

2013-04-19
发表者 Venus
暂无评论

redhat6 安装bind服务及其dns转发

redhat6 安装bind服务及其dns转发

在redhat6以后,caching-nameserver这个rpm包已经取消,相关参数可在named.conf中配置。
安装服务:
[root@rhel6www ~]# yum install -y bind bind-chroot
首先配置主配置文件:
[root@rhel6www ~]# vi /etc/named.conf

options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory       "/var/named";
dump-file       "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query     { any; };
recursion yes;

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
};

把listen-on port 53 { 127.0.0.1; };  和allow-query     { localhost; }; 大括号内的值改为  any,屏蔽掉:
#dnssec-enable yes;
#dnssec-validation yes;
#dnssec-lookaside auto;

配置声明区域文件:
[root@rhel6www ~]# vi /etc/named.rfc1912.zones

屏蔽:

#zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
#       type master;
#       file "named.loopback";
#       allow-update { none; };
#};

#zone "0.in-addr.arpa" IN {
#       type master;
#       file "named.empty";
#       allow-update { none; };
#};

这里用thing.com域做测试,添加:

##########################################
#正向解析#
zone "thing.com" IN {                         //区域名称
type master;                                //区域类型
file "thing.zone";           //区域文件
allow-update { none; };                //辅助dns

};

#反向解析#
zone "0.168.192.in-addr.arpa" IN {
type master;
file "0.168.192.zone";
allow-update { none; };
};
##########################################

配置区域文件,首先复制:
cp -p /var/named/named.*  /var/named/chroot/var/named/      //这是系统默认定义的几个区域文件,不复制的话启动会报错,缺少文件。
配置thing.com的区域文件:
[root@rhel6www ~]# cd /var/named/chroot/var/named/
[root@rhel6www named]# cp -p named.localhost thing.zone
[root@rhel6www named]# vi thing.zone

$TTL 1D
@       IN SOA  @ rname.invalid. (
0       ; serial
1D      ; refresh
1H      ; retry
1W      ; expire
3H )    ; minimum
NS      @
A       127.0.0.1
AAAA    ::1

www     IN      A       192.168.0.110

配置反向解析文件:
[root@rhel6www named]# cp -p named.localhost 0.168.192.zone
[root@rhel6www named]# vi 0.168.192.zone

$TTL 1D
@       IN SOA  @ rname.invalid. (
0       ; serial
1D      ; refresh
1H      ; retry
1W      ; expire
3H )    ; minimum
NS      @
A       127.0.0.1
AAAA    ::1
PTR     localhost.

110     PTR     www.thing.com

重启named。测试。
名称:    www.thing.com
Address:  192.168.0.110

> 192.168.0.110
服务器:  UnKnown
Address:  192.168.1.111

名称:    www.thing.com.0.168.192.in-addr.arpa
Address:  192.168.0.110

现在dns服务器可以适用于公司内部解析,那么在解析百度、新浪之类的网站是是无法解析的,需要在服务器上做dns转发:
[root@rhel6www named]# vi /etc/named.conf

在options段中添加:

        forwarders {
        202.102.134.68,8.8.8.8;
};
        forward first;
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory       "/var/named";
dump-file       "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query     { any; };
recursion yes;

#       dnssec-enable yes;
#       dnssec-validation yes;
#       dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";

forwarders {
202.102.134.68,8.8.8.8;
};
forward first;
};

打开或关闭DNSSEC验证.注意dnssec-enable也需要设置成yes才会生效,缺省为打开.
这需要一个配置文件,由于所有与服务器的通信都使用依赖共享密钥的数字签名来认证,并且没有其它方式可以比配置文件提供更好的保密方式.rndc配置文件的缺省路径是/etc/rndc.conf,

但也可以使用-c参数来指定一个其它路径.如果rndc没有找到配置文件,它将会查找/etc/rndc.conf(或者是BIND构建时由sysconfdir所定义的其它目录).rndc.key文件是由rndc-congen -a所生成的.

关于dns轮询配置:

只需要在options段添加一句 rrset-order { order cyclic; };
rrset-order 支持三个参数:fixed、random、cyclic 。
fixed      会将多个A记录按配置文件的顺序固定给出
random 会随机给出
cyclic     会循环给出

这里写了一个dns解析脚本,测试10次解析。

[root@localhost ~]# cat dns.sh
#!/bin/bash
for (( i=1;i<=10;i++ ))
do
ping www.a.com -c 1 | head -1 | awk '{print$3}' | cut -d"(" -f2 | cut -d")" -f1
done

fixed参数:
[root@localhost ~]# sh dns.sh
192.168.0.155
192.168.0.155
192.168.0.155
192.168.0.155
192.168.0.155
192.168.0.155
192.168.0.155
192.168.0.155
192.168.0.155
192.168.0.155

random参数:
[root@localhost ~]# sh dns.sh
192.168.0.155
192.168.0.155
192.168.0.157
192.168.0.157
192.168.0.155
192.168.0.157
192.168.0.157
192.168.0.156
192.168.0.156
192.168.0.156

cyclic参数:
[root@localhost ~]# sh dns.sh
192.168.0.157
192.168.0.155
192.168.0.156
192.168.0.157
192.168.0.155
192.168.0.156
192.168.0.157
192.168.0.155
192.168.0.156
192.168.0.157
经过实际测试,还是cyclic效果比较好,推荐用这个值来调度dns轮询。

2013-04-15
发表者 Venus
暂无评论

WARNING: The remote SSH server rejected X11 forwarding

使用Xmanager Enterprise 4 连接redhat6.0时,报错:
WARNING: The remote SSH server rejected X11 forwarding

根据提示修改ssh配置文件:
X11Forwarding yes
重启ssh,重新连接还是报错,后来才想起来这个系统安装的时候没有桌面环境。

搭建本地yum环境,安装桌面。
[root@rhel6www ~]# yum groupinstall “Desktop”
[root@rhel6www ~]# yum groupinstall “X Window System”
解决。

附:Xmanager Enterprise 4 序列号一枚: 101210-450789-147200

2013-04-12
发表者 Venus
暂无评论

shell获取昨天、明天、多天前以及多天后的日期

在Linux中对date -d 参数描述不多,这里详细说一下:
# -d, –date=STRING display time described by STRING, not `now’

我今天日期是
[root@rhel6www ~]# date +%F
2013-04-12
#取得昨天的日期  last-day和yesterday效果一样
[root@rhel6www ~]# date -d last-day +%Y-%m-%d
2013-04-11
[root@rhel6www ~]# date -d yesterday +%Y-%m-%d
2013-04-11

#获取明天的日期   next-day和tomorrow效果一样
[root@rhel6www ~]# date -d next-day +%Y-%m-%d   
2013-04-13
[root@rhel6www ~]# date -d tomorrow +%Y-%m-%d
2013-04-13

#获取2天前的日期
[root@rhel6www ~]# date -d ‘2 days ago’ +%Y-%m-%d    //注意用单引号
2013-04-10

#获取2周前的日期
[root@rhel6www ~]# date -d ‘2 weeks ago’ +%Y-%m-%d
2013-03-29

#获取2个月前的日期
[root@rhel6www ~]# date -d ‘2 months ago’ +%Y-%m-%d
2013-02-12

#获取2年前的日期
[root@rhel6www ~]# date -d ‘2 years ago’ +%Y-%m-%d
2011-04-12

###############################################################

#获取2天后的日期
[root@rhel6www ~]# date -d ‘2 days’ +%Y-%m-%d
2013-04-14

#获取2个星期后的日期
[root@rhel6www ~]# date -d ‘2 weeks’ +%Y-%m-%d
2013-04-26

#获取2个月后的日期
[root@rhel6www ~]# date -d ‘2 months’ +%Y-%m-%d
2013-06-12

#获取2年后的日期
[root@rhel6www ~]# date -d ‘2 years’ +%Y-%m-%d
2015-04-12
[root@rhel6www ~]# date -d last-month +%Y-%m-%d   //上个月日期
2013-03-12
[root@rhel6www ~]# date -d next-month +%Y-%m-%d   //下个月日期
2013-05-12
[root@rhel6www ~]# date -d next-year +%Y-%m-%d    //明年日期
2014-04-12

这里注意一个参数 ” – ” 杠

[root@rhel6www ~]# date +%Y-%m-%d-%H-%M    #比如说这里是4月14号8点1分 有个0,没什么意义。
2013-04-14-08-01
[root@rhel6www ~]# date +%Y-%m-%d-%H-%M   #加上 –  参数即可忽略0
2013-4-14-8-1

2013-04-08
发表者 Venus
暂无评论

关于php中没有gzdecode函数

     gzdecode主要用来对网站的gzip压缩做解压工作,在使用这个函数的时候提示没有此函数,随之搜罗网络,大部分内容都是转来转去。

     gzdecode函数依赖于zlib模块,php -m 查看模块已经存在,但是依旧找不到函数,又把zlib拓展模块重新安装了一遍还是没用,最后在php官网发现此函数在正式版发行的php中是不存在的。

http://www.php.net/manual/en/function.gzdecode.php

gzdecode

(No version information available, might only be in SVN)

gzdecode — Decodes a gzip compressed string

网上大部分方案都是自定义函数,然后引用。php designer :P