存档

2009年8月 的存档

SecureCRT解决中文乱码

2009年8月3日 baalchina 没有评论

两个地方,服务器和SecureCRT上。

 

服务器,

vi /etc/sysconfig/i18n

改为支持UTF-8

LANG="zh_CN.UTF-8"

 

然后Crt中

选择字体

Terminal-Apperance中,Fonts选择中文字体,接着把Character encoding改成UTF-8即可。

 

注意CRT要关掉重开。

 

[root@squid ~]# chmod +777 /usr/local/squid/var/logs/cache.log
chmod: 无效模式:“+777”
请尝试执行“chmod --help”来获取更多信息。
[root@squid ~]#

分类: 系统管理 标签:

mysql的热备/Replication

2009年8月2日 baalchina 没有评论

mysql的双机热备机制其实比较简单。

几点注意的:

  1. 采用的是Master-Slave机制。Slave会从Master读取数据。
  2. Master必须打开二进制日志功能,通过my.cnf中的log-bin参数。
  3. 需要Master上建立一个备份用户。
  4. 通过Server-id来区别主/备。
  5. 第一次必须将数据完整同步,记得将Master锁定,导出,然后导入到备,设置好所有的Replication之后,unlock Master的表。

 

 

下面是Master的my.cnf参数:

 

server-id       = 1
log-bin
binlog-do-db = ucenter
binlog-ignore-db = bbs

Server-id代表服务器编号。1是Master。Slave通过这个来同步。

需要启用二进制日志。log-bin可以指定log文件名称,也可以不写默认主机名。

下面是要备份和不要备份的database名称。

 

查看状态:

mysql> show master status\G;

如下:

 

mysql> show master status\G;
*************************** 1. row ***************************
            File: mysql-bin.000110
        Position: 2602
    Binlog_Do_DB: ucenter
Binlog_Ignore_DB: bx8,card,cmsware_plus2,cmsware_zone,comsenzcensor,d6,d61,d61new,d62,d63,discuz,discuzzone,disuczbackup,dz2,dzzone,mysql,nauzone,nauzone1,nauzone2,tzsc,uc,uch,uchome,wikidb,wp,xmjc
1 row in set (0.00 sec)

ERROR:
No query specified

记录下二进制日志以及Position。这里分别是mysql-bin.0001102602,后面要用到。

 

下面是Slave的参数

启动mysql,然后进入mysql命令行

mysql> change master to
-> master_host = 'ip_address',
-> master_user = 'username',
-> master_password = 'password',
-> master_log_file = 'mysql-bin.000110',
-> master_log_pos = 2602;

 

注意最后两个参数,是前面记下来的参数。

这时候在Master上会有这个进程:

 

*************************** 3. row ***************************
     Id: 939737
   User: replication
   Host: 210.28.92.215:56520
     db: NULL
Command: Binlog Dump
   Time: 556
  State: Has sent all binlog to slave; waiting for binlog to be updated
   Info: NULL

当然,Slave上也会有对应的进程:

*************************** 2. row ***************************
     Id: 5
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 609
  State: Waiting for master to send event
   Info: NULL
*************************** 3. row ***************************
     Id: 6
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: -27246
  State: Has read all relay log; waiting for the slave I/O thread to update it
   Info: NULL
3 rows in set (0.00 sec)

 

Troubleshoot

第一次做的时候show processlist,老是卡在Queueing master event to the relay log状态,当然也没法同步了。

[root@mysql-replication mysql]# tail /usr/local/mysql/var/mysql-replication.err

错误提示如下:

090802 10:01:07 [ERROR] Error reading packet from server: File './mysql-bin.000005' not found (Errcode: 2) ( server_errno=29)
090802 10:01:07 [Note] Slave I/O thread: Failed reading log event, reconnecting to retry, log 'mysql-bin.000004' at postion 98

好像是读取binlog错误。

然后看/usr/local/mysql/var下面无数的二进制文件..

参考这个:

http://bbs.chinaunix.net/viewthread.php?tid=1311931&extra=&page=2

是由于数据不同步造成的。

 

解决办法:

 

首先,Master上

mysql> flush tables with read lock;

将表锁定。然后将需要备份的数据库打包移动到Slave数据库上。

Master上

启动Slave的MySQL,运行以下命令

分类: Linux, Mysql 标签: ,

Squid反向代理的实现-DNS部分(Part 0,DNS Config)

2009年8月2日 baalchina 没有评论

由于我们采用了Bind的多View设置,加上Squid的设置,所以稍微有点复杂。

 

针对www.nau.edu.cn,假设Cernet IP是1.1.1.1,ChinanetIP是1.1.1.2。

Squid的域名cache.nau.edu.cn,CernetIp是2.2.2.1,ChinanetIP是2.2.2.2

 

对于DNS的chinanet部分,将www.nau.edu.cn解析到cache.nau.edu.cn的CNAME上

Cernet部分,同样解析到cache.nau.edu.cn的CNAME上。

 

这时候我们遇到一个问题,就是用户访问www.nau.edu.cn,得到Ip地址2.2.2.1,然后找到了Squid,Squid去找www.nau.edu.cn,去解析DNS,发现IP是自己,这时候就会产生一个死循环了。

解决办法就是编辑squid的hosts文件:

vi /etc/hosts

加入如下:

www.nau.edu.cn 1.1.1.1

 

让Squid认为www.nau.edu.cn的地址是1.1.1.1,而不是从dns去获取到自己的地址。

 

有点乱,将就着看吧…

分类: Linux, Squid 标签: ,

MySQL的安装

2009年8月2日 baalchina 没有评论

Mysql的安装还是比较简单的。

 

首先去下载源码包,注意选择Source。

 

一路编译,安装。

参考:

 

http://dev.mysql.com/doc/refman/5.1/zh/installing.html#quick-install

shell> groupadd mysql

shell> useradd -g mysql mysql

shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -

shell> cd mysql-VERSION

shell> ./configure --prefix=/usr/local/mysql

shell> make

shell> make install

shell> cp support-files/my-medium.cnf /etc/my.cnf

shell> cd /usr/local/mysql

shell> bin/mysql_install_db --user=mysql

shell> chown -R root  .

shell> chown -R mysql var

shell> chgrp -R mysql .

shell> bin/mysqld_safe --user=mysql &

我编译用的是这个参数:

./configure --prefix=/usr/local/mysql --with-comment=Source --with-server-suffix=-Nau_MySQL --with-mysqld-user=mysql --without-debug --with-big-tables --with-charset=gbk --with-collation=gbk_chinese_ci --with-extra-charsets=all --with-pthread --enable-static --enable-thread-safe-client --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --without-isam --without-innodb --without-ndb-debug

安装好之后,记得给MySQL设置一个密码

mysqladmin uroot -password123456

 

或者

shell> mysql -u root

mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');

 

http://dev.mysql.com/doc/refman/5.1/zh/installing.html#default-privileges

分类: Linux, Mysql 标签: ,

yum的使用

2009年8月2日 baalchina 没有评论

有时候编译发现某组件没有,这时候用yum就很方便了。

比如编译mysql提示

checking for termcap functions library... configure: error: No curses/termcap library found

那么

 

yum search curses

yum search termcap

 

提示:

[root@mysql-replication mysql-5.1.36]# yum search termcap
libtermcap.i386 : A basic system library for accessing the termcap database.
termcap.noarch : The terminal feature database used by certain applications.
termcap.noarch : The terminal feature database used by certain applications.
libtermcap-devel.i386 : Development tools for programs which will access the termcap database.
libtermcap.i386 : A basic system library for accessing the termcap database.

接下来安装之:

 

yum install libtermcap-devel

下面的就很简单了。不多说了。

分类: Linux 标签: ,

查看apache,php,mysql编译参数

2009年8月2日 baalchina 没有评论

查看mysql编译参数:

cat /usr/local/mysql/bin/mysqlbug | grep CONFIGURE_LINE

查看apache编译参数:

cat $apachehome$/build/config.nice

 

也可以用

httpd –l

或者

httpd -v

查看php编译参数:

$PHP$/bin/php -i | grep configure

 

当然,写个phpinfo也是可以的。

<?php phpinfo();?>

分类: Apache, Mysql, PHP 标签: , ,

Bind9的新漏洞

2009年8月1日 baalchina 没有评论

 

安全漏洞:CN-VA09-69
发布日期:2009年7月29日
漏洞类型:远程执行代码
漏洞评估:严重
受影响的软件:
    安装或捆绑BIND 9的操作系统及相关产品,目前FreeBSD和ISC发布公告确认该漏洞造成严重威胁。
漏洞描述: 
    ISC于7月28日公布了其域名系统软件BIND 9存在的一个高危漏洞,并且针对该漏洞攻击脚本在互联网上已出现。BIND是由ISC提供的一个常用的DNS软件,它支持动态DNS更新(参考IETF RFC 2136<http://tools.ietf.org/html/rfc2136>)。该漏洞允许远程攻击者进行拒绝服务攻击;当处理一个伪造的动态更新包时,BIND 9系统会崩溃。此漏洞影响所有的BIND 9服务器,不限于配置了动态更新的服务器。需要说明的是,目前发现此漏洞仅对将BIND 9作为主权威服务器时产生影响,对从权威服务器和纯递归服务器没有影响。
漏洞影响:
    通过给BIND 9服务器发送一个伪造的动态更新包而引起系统崩溃,可使远程攻击者发动拒绝服务攻击。
解决方案:
    安装补丁。
    此漏洞已在ISC BIND versions 9.4.3-P3、9.5.1-P3和BIND 9.6.1-P1中得到解决,原厂商用户可根据情况更新至这些版本。通过第三方厂商获得软件的用户可查看受影响的软件列表,确定是否受影响。
    原厂商公告详见:https://www.isc.org/node/474.
参考信息:
https://www.isc.org/node/474
http://tools.ietf.org/html/rfc2136
http://oldwww.isc.org/sw/bind/view?release=9.4.3-P3&noframes=1
http://oldwww.isc.org/sw/bind/view?release=9.5.1-P3&noframes=1
http://oldwww.isc.org/sw/bind/view?release=9.6.1-P1&noframes=1
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=538975
信息提供者:
ISC
JPCERT
感谢北京启明星辰信息技术有限公司北京神州绿盟科技有限公司为CNCERT提供相关技术支持。
其它信息:
    相关CVE编号: CVE-2009-0696
漏洞报告文档编写:
CNCERT/CC
安全公告文档编写:
CNCERT/CC

http://www.cert.org.cn/articles/bulletin/common/2009073024463.shtml

 

关于域名系统软件BIND 9高危漏洞的补充公告(重要)

安全漏洞:CN-VA09-70
发布日期:2009年7月30日
漏洞类型:远程攻击
漏洞评估:严重
受影响的软件:
    安装或捆绑BIND 9的操作系统及相关产品。
漏洞情况:
    7月29日,CNCERT发布了关于域名系统软件BIND 9存在高危漏洞的情况通报。经进一步测试分析,CNCERT对漏洞危险性和影响范围作如下补充公告。
    目前确定除安装BIND 9的主权威服务器受影响外,在BIND 9配置文件(named.conf)中存在带有Master类型的区域记录(Zone)的从权威服务器和递归服务器也会受到影响。BIND 9在缺省安装情况下,会在配置文件中包含如下几个带有Master类型的区域记录:“local host”、“127.in-addr.arpa”、“0.in-addr.arpa”、“255.in-addr.apra”;而使用BIND 9的多数用户一般不会删除上述内容,因此该漏洞对我国域名服务器的影响范围十分广泛。
解决方案:
    使用BIND 9作为域名服务器的用户需高度重视该漏洞的危害,及时做好修补和防护工作,具体建议如下:
    1.测试证明BIND 9厂商目前提供的补丁程序是有效的,具备条件的用户应考虑升级;
    2.因故不能对服务器进行升级的,如不作为主权威服务器使用,可考虑修改配置文件,删除所有Master记录;
    3.对于没有启用动态更新的域名服务器,可使用防护设备拦截带攻击意图的动态更新数据包;
    4.对基于BIND 9二次开发的软件系统,用户可在代码层级作修改,消除隐患。
    各企业和个人用户如发现其他问题或需技术支持,请与CNCERT联系。
信息提供者:
    北京启明星辰信息技术有限公司
    北京神州绿盟科技有限公司 
文档编写:
CNCERT/CC
-----------------------------------------------------------------------------------
CNCERT/CC在发布安全公告信息之前,都力争保证每条公告的准确性和可靠性。然而,采纳和实施公告中的建议则完全由用户自己决定,其可能引起的问题和结果也完全由用户承担。是否采纳我们的建议取决于您个人或您企业的决策,您应考虑其内容是否符合您个人或您企业的安全策略和流程。
在任何情况下,如果您确信您的计算机系统受到危害或是攻击,我们鼓励您及时告知国家计算机网络应急技术处理协调中心:http://www.cert.org.cn/servlet/Incident
同时,我们也鼓励所有计算机与网络安全研究机构,包括厂商和科研院所,向我们报告贵单位所发现的漏洞信息。我们将对所有漏洞信息进行验证并在CNCERT/CC网站公布漏洞信息及指导受影响用户采取措施以避免损失。
如果您发现本公告存在任何问题,请与我们联系: cncert@cert.org.cn

http://www.cert.org.cn/articles/bulletin/common/2009073124465.shtml

分类: DNS 标签: ,

bind的几个命令

2009年8月1日 baalchina 没有评论

/usr/local/named/sbin/named –v

查看Bind的版本。

 

/usr/local/named/sbin/named –g

 

有点类似于nginx的-t参数,检测参数是否正确。运行之后会检测当前的参数,并且会将日志显示在屏幕上。

分类: DNS 标签: ,