风河博客

风河的DNS相关技术

推荐几个优秀的免费DNS解析服务

手上域名众多,分别用了几家不同的DNS服务。如下是我自己在用的几个免费DNS服务,它们都是基于标准的解析系统,技术规范稳定。不像一些不伦不类的产品,看着方便实际问题多多。

Continue reading

Posted in 未分类 | Tagged | Leave a comment

邮件日程提醒服务Followupthen

每天收到数以百计的工作邮件,还在用calendar安排计划任务?有些OUT了,这里介绍下一个简单的邮件日程提醒服务 – followupthen.com

只要发封邮件给这个网站(内容和主题随便写),邮件地址例如:2minutes@followupthen.com

那么2分钟后,就会收到一封邮件,提示你有事情要安排执行。

请注意:第一次发邮件后,会马上收到一封回复邮件,要求确认你的邮件地址,并且设置时区。这个很重要,如果时区设置不正确,那么你的日程安排是根据西方时间来的,会导致错乱。在中国话,时区当然是东8区,北京时间。

它的邮件地址有个规范,想要什么时候得到提醒,按它的规范写就行。例如:

1. 明早9点收到提醒邮件,发往:tomorrow9am@followupthen.com

2. 2012年5月30日收到提醒,发往:2012-05-30@followupthen.com

3. 当天15点收到提醒,发往:1500@followupthen.com

其他更具体的格式,请见其官网说明: http://www.followupthen.com/how

我用Thunderbird客户端处理工作邮件,之前用Yahoo calendar来处理日程,每次要打开calendar,乱七八糟设置一堆,也很麻烦。自从用了Followupthen这个服务后,就彻底抛弃calendar了。

Posted in 未分类 | Tagged | Leave a comment

又迁移一次blog站点

由于blog访问量并不高,原来的512M内存的VPS有点浪费,因此再次迁移到一个192M OpenVZ的VPS上。

这次迁移用了LEB的一键安装包setup-debian.sh,下载方式:

wget –no-check-certificate https://github.com/lowendbox/lowendscript/raw/master/setup-debian.sh

LEB是知名的lowendbox.com,玩VPS的基本都知道它。该站点用wordpress搭建,访问量不低,据说是运行在一个80M Xen的VPS上,用的就是这个安装包。

用法如下:

# ./setup-debian.sh
Usage: setup-debian.sh [option]
Available option:
- system
- exim4
- mysql
- nginx
- php
- wordpress

如上,挨个带参数执行这个脚本即可。该脚本只对Debian系统有效(Ubuntu或许也可以),好在Debian也是我的最爱,这么多年一直在使用它。

安装完后,把之前blog的wordpress整个目录拷贝过来,把Mysql数据库倒腾过来,就可以运行了。

Posted in 未分类 | Tagged | Leave a comment

广东联通新加的IP段

今天运营同学通知新加一个域名:

域名: s44.hhsh.***.com
电信: 183.60.126.5
网通: 163.177.24.5

我看这个网通IP有点奇怪,以前没见过。
grep了下我的DNS里的联通数据,的确没这个IP。
于是whois 163.177.24.5看了下:

route: 163.177.0.0/16
descr: China Unicom Guangdong Province Network
country: CN
origin: AS17816
mnt-by: MAINT-CNCGROUP-RR
changed: abuse@cnc-noc.net 20110422
source: APNIC

原来是广东省联通新加的一个IP地址段:163.177.0.0/16
将这个地址段归类到智能DNS的联通IP里,收工。

Posted in 未分类 | Tagged | Leave a comment

庆祝博客恢复,并对DirectSpace表示最强烈的鄙视

之前我的博客是用的Newwebsite这家VPS,Xen 512M内存的只要7刀,价格不贵,运行也稳定。后来Newwebsite搬家,我没收到邮件,导致中断了几天。拿回数据后,我一怒之下将博客主机迁移到DirectSpace,国人简称DS。

用了刚好一个月,刚续费了第二个月的4.8刀,我的VPS就挂了。从上周日(4月15日)起,到今天周五为止,依然没有恢复。更可恨的是,VPS管理面板登陆不上,无法发ticket,只好发邮件给support@directspace.net。一周内连发3封邮件,这家垃圾公司没有一封回复,没有一个通知,而我的主机也一直在挂机中。

之间一直以为国人的服务差,质量不靠谱,没想到老外也有如此不靠谱的公司存在,况且DS在主机界还是鼎鼎大名的公司。这家公司如此对待客户,是自掘坟墓,不仅毁了它自己,也毁了它的众多忠诚客户。

经历Newwebsite搬家事件后,我把VPS的数据每日用dropbox自动备份到云存储,因此这次DS挂掉,数据倒没丢失。今晚有空闲,另购了个VPS把博客又搭起来了。

在此强烈建议大家不要买DirectSpace的主机,垃圾中的战斗机。

B.T.W, 在WHT得知,DS是因为VPS管理系统被黑了,才导致业务中断,看来真是人神共愤。

Posted in 未分类 | Tagged | Leave a comment

消息队列RabbitMQ集群介绍

RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言。

RabbitMQ的集群节点包括内存节点、磁盘节点。顾名思义内存节点就是将所有数据放在内存,磁盘节点将数据放在磁盘。不过,如前文所述,如果在投递消息时,打开了消息的持久化,那么即使是内存节点,数据还是安全的放在磁盘。

良好的设计架构可以如下:在一个集群里,有3台机器,其中1台使用磁盘模式,另2台使用内存模式。2台内存模式的节点,无疑速度更快,因此客户端(consumer、producer)连接访问它们。而磁盘模式的节点,由于磁盘IO相对较慢,因此仅作数据备份使用。

配置RabbitMQ集群非常简单,就几个命令。我没有多余的测试机,就用2台测试,hostname分别是dwdns1和dwdns5,配置步骤如下:

(1)在两台机的/etc/hosts文件里,指定dwdns1和dwdns5的hosts,如:

192.168.1.100 dwdns1
192.168.1.101 dwdns5

还有/etc/hostname文件也要正确,分别是dwdns1和dwdns5。
请注意RabbitMQ集群节点必须在同一个网段里,如果是跨广域网效果就差。

(2)在两台机上都安装和启动RabbitMQ,具体见前文描述。

(3)将dwdns5的/var/lib/rabbitmq/.erlang.cookie这个文件,拷贝到dwdns1的同一位置(反过来亦可),该文件是集群节点进行通信的验证密钥,所有节点必须一致。拷完后重启下RabbitMQ。

(4)假设将dwdns1和dwdns5连接起来,在dwdns1上,执行如下命令:

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl cluster rabbit@dwdns5
rabbitmqctl start_app

上述命令先停掉rabbitmq应用,reset集群状态,然后调用cluster命令,将dwdns1连接到dwdns5,使两者成为一个集群,最后重启rabbitmq应用。在这个cluster命令下,dwdns1是内存节点,dwdns5是磁盘节点(RabbitMQ启动后,默认是磁盘节点)。

如果要使dwdns1在集群里也是磁盘节点,那么更改上述第3句如下:

rabbitmqctl cluster rabbit@dwdns5 rabbit@dwdns1

只要在节点列表里包含了自己,它就成为一个磁盘节点。在RabbitMQ集群里,必须至少有一个磁盘节点存在。

(5)在dwdns1和dwdns5上,运行cluster_status命令查看集群状态:

root@dwdns1:~# rabbitmqctl cluster_status
Cluster status of node rabbit@dwdns1 …
[{nodes,[{disc,[rabbit@dwdns1,rabbit@dwdns5]}]},
{running_nodes,[rabbit@dwdns5,rabbit@dwdns1]}]
…done.

root@dwdns5:~# rabbitmqctl cluster_status
Cluster status of node rabbit@dwdns5 …
[{nodes,[{disc,[rabbit@dwdns1,rabbit@dwdns5]}]},
{running_nodes,[rabbit@dwdns1,rabbit@dwdns5]}]
…done.

我们看到,dwdns1和dwdns5都是磁盘节点(disc),并且都是在运行中的节点(running_nodes)。

(6)往一台集群节点里写入消息队列,会复制到另一个节点上,我们看到两个节点的消息队列数一致:

root@dwdns1:~# rabbitmqctl list_queues -p /pyhtest
Listing queues …
pyh_queue 6100000
…done.

root@dwdns5:~# rabbitmqctl list_queues -p /pyhtest
Listing queues …
pyh_queue 6100000
…done.

这样RabbitMQ集群就正常工作了。

如果是3台配置集群,比如host1、host2、host3,那么只要保证host2与host1连通,host3与host1连通就行,host2与host3会自动连通,具体配置方法与2台是一致的。

Posted in 未分类 | Tagged | Leave a comment

消息队列RabbitMQ入门介绍

(一)基本概念

RabbitMQ是流行的开源消息队列系统,用erlang语言开发。我曾经对这门语言挺有兴趣,学过一段时间,后来没坚持。RabbitMQ是AMQP(高级消息队列协议)的标准实现。如果不熟悉AMQP,直接看RabbitMQ的文档会比较困难。不过它也只有几个关键概念,这里简单介绍。

RabbitMQ的结构图如下:

几个概念说明:

Broker:简单来说就是消息队列服务器实体。
Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。
Queue:消息队列载体,每个消息都会被投入到一个或多个队列。
Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。
Routing Key:路由关键字,exchange根据这个关键字进行消息投递。
vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。
producer:消息生产者,就是投递消息的程序。
consumer:消息消费者,就是接受消息的程序。
channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。

Continue reading

Posted in 未分类 | Tagged , | Leave a comment

LDNS就近性选择

我们有一台权威NS服务器是双线IP(电信、联通),还有一台是单线IP(电信)。今天查了下它们的访问日志,看到这2个机器的电信、联通访问命中比率不一致。

统计访问日志里最后10000行,其中单线机器的电信访问次数8667,联通访问1307。双线机器电信访问次数6408,联通3590。单线机器电信:联通比率约为7:1,双线机器电信:联通比率约为2:1。很显然双线机器的联通访问比率远高于单线机器。

这个现象说明了什么?说明了LDNS(各地的公共DNS缓存)具备就近性选择能力。因为双线服务器有联通IP,所以更能吸引联通的LDNS访问。各省市联通的LDNS,更加倾向于访问有联通IP的权威NS服务器,而不倾向于访问电信IP的NS服务器。

所以,部署权威NS服务器,最好在各个运营商都部署一台,以保证更好的查询性能、减少障碍。

Posted in 未分类 | Tagged | Leave a comment

我使用的几家域名注册商

不知不觉玩米好些年了,虽然钱没挣到,但是把国外的域名注册商都熟悉了一遍。各家大的注册商,在一年中的不同时期,或多或少都推出优惠注册活动。即使是NetworkSolutions这样的昂贵商家,也有几美元注册域名的时候。如下是我常用的几家注册商:

(1)Godaddy

简称GD,国际最大的域名注册商,拥有30%以上的市场份额。我早些年大部分域名都在这家注册。GD的DNS管理面板使用Ajax技术,用户体验很好。除了域名注册外,还免费送一个1G的域名邮箱。另外最主要的一点是,GD的域名在注册私有名字服务器时,对同一名字服务器,可以注册多个IP地址,对于DNS系统运营来说,这很重要,其他任何一家我都没发现有这个功能。GD的缺点是,NS服务器经常被墙,我的博客(nsbeta.info)曾经使用GD的缺省DNS,结果全面被墙过一段时间。

(2)Namecheap

Namecheap是国际排名第二的注册机构ENOM的代理商,这家的优点是客服态度很好,我有问题直接发电邮给support,一般都可以解决。虽然叫Namecheap,不过也没便宜多少,基本是10刀一年,比较少见他们家的优惠码。Namecheap的DNS系统很稳定,管理面板也不错,还提供免费的DNS托管给非本地注册的域名使用。我的DNSbed.com就是Namecheap注册的,并且一度租用他们家的服务器来运营,后来由于被攻击就撤了。

(3)Networksolutions

简称NS,老牌的域名注册商,以安全稳定著称,新浪搜狐的域名都是他们家注册的。NS的域名费用很贵,一年大概30多刀,不过对大公司而言,讲究的是稳定,这点费用不算什么。NS的域名管理面板不是很好用,在设计流程上趋于保守,可能也是为稳定起见吧。NS也经常搞搞活动,推出小几刀的优惠注册码,我在那里的域名全是用优惠码注册的。如果来年续费很贵,考虑转出就行。

(4)Register.com

也是很老牌的注册商,百度的域名就是在他家注册的,不过被黑了,百度就果断转出了。今年2月份推出1.99刀的优惠码,每账户限注册3个,我也跟风弄了几个。有人反馈注册后域名被删退款的,但我没碰到。跟NS差不多,他家的DNS管理面板也做的一般,不是很好用。以前在他们家注册域名,送一个免费域名邮箱,现在没有了。

(5)Domain.com

前文说过,Domain.com和Mydomain.com都是Dotster.com的子公司,这几个都算是大牌的域名注册商。他们家的优点是优惠比较多,例如最近挺长时间,在它的官网注册,一直都是4刀多,不需要任何优惠码。不过Domain.com的域名修改生效时间很长,差不多一个晚上才生效,这样的解析系统太垃圾。所以前文里说了,把DNS转移到ZoneEdit去解析,速度很快,而且ZoneEdit也是Dotster的子公司。

(6)Netfirms.com

加拿大的域名注册商,第三大注册机构TUCOWS的代理。我在那里有2个域名,好像没什么优点,也没什么缺点。每个域名都提供免费的域名空间,无广告,还提供2个免费邮箱。这家注册时,要验证信用卡,就是把信用卡的正反面都扫描后,发给他们的财务进行审核。跟Domain.com一样,也是常年可优惠注册,一般都是小几刀。

Posted in 未分类 | Tagged | Leave a comment

关于domain.com与zoneedit.com

domain.com是老牌的域名注册商,前几天浏览其网站,发现.com域名4.99刀,于是顺手注册了几个。注册后,才发现它的DNS系统是个杯具。更改一个DNS记录,等了几个小时都没生效(我盯着时间看的,至少3-4个小时还没生效),这很杯具。

考虑换DNS系统,除了域名解析外,我还需要邮件转发功能,于是想到ZoneEdit,这也是家老牌的DNS解析服务提供商。在ZoneEdit注册账号,绑定域名,得到2台NS服务器。然后在domain.com的面板里将NS服务器更改为ZoneEdit的服务器,这个变更竟然马上就生效了。看来domain.com是巴不得它的客户早点将DNS解析放到别的地方去。

在ZoneEdit里设置域名解析,A、CNAME、邮件转发等,很快就生效,它的控制面板的用户体验也很好。国外的DNS系统里Godaddy、ZoneEdit的管理面板不错,其他的没见过太好用的。

在设置的过程中,无意查了下ZoneEdit的MX服务器,结果为:

zoneedit.com.           7200    IN      MX      0 mail.dotster.com.

这让我吃了一惊,众所周知,dotster.com是大牌的域名注册商,旗下机构包括domain.com和mydomain.com。难道ZoneEdit与domain.com是一家人了?

网上搜了下,发现ZoneEdit至少在2006年就已经出售给dotster了,它与domain.com还真是一家人,难怪从domain.com转移DNS服务器过来,速度那么快。

Posted in 未分类 | Tagged , | Leave a comment