本来想用自建dns,设置两条ns记录,其中速度较快的dns服务器排在前面作为主dns,比较慢的放在后面做备份。

    结果发现实践中两条记录是随机顺序返回的,查了下需要rrset-order参数来指定方式,有如下三种:

fixed 以它们在域文件中的顺序排序
random 以随机顺序被返回
cyclic 以环顺序被返回

    显然对于我的需求是使用fixed模式,结果启用了后提示我默认不开启此模式,查了下原来从bind9开始默认编译不启动这个选项了,除非编译的时候手动加参数打开,而我用apt安装的bind9,所以该选项未开放,即使我这里支持了,上级域的dns也不能设置这个选项,很可能是随机返回结果的,悲剧。看来之前的设想满足不了,dns也要木桶原理了。





Tags: ,
    今天开始搭dns服务器,主dns采用最快的台湾vps,辅dns暂时先使用老博客服务器。

    为了服务器安全性,需要进行一下chroot,避免bind被攻破后整个服务器被黑。

    centos自带了bind9的chroot软件包,可以自动将bind进行chroot启动,而debian就差了一点,需要手动搞,所幸debian自己带有官方chroot教程,所以照着做也并不难。

    
    先修改/etc/default/bind9,改成:OPTIONS="-u bind -t /var/bind9/chroot"

    然后建立各种chroot的目标目录:mkdir -p /var/bind9/chroot/{etc,dev,var/cache/bind,var/run/bind/run}

    为bind9的chroot环境创建两个虚拟设备:空和随机数

mknod /var/bind9/chroot/dev/null c 1 3
mknod /var/bind9/chroot/dev/random c 1 8
chmod 660 /var/bind9/chroot/dev/{null,random}

    将bind的默认配置文件移动到目标地址:mv /etc/bind /var/bind9/chroot/etc
    为了保持兼容性,仍在原位置为其建立软链: ln -s /var/bind9/chroot/etc/bind /etc/bind

    修改一下权限: chown -R bind:bind /etc/bind/*

    然后修改一下启动脚本里面pid文件的位置: PIDFILE=/var/bind9/chroot/var/run/named/named.pid
    注意,这里需要是在named目录下的named.pid文件,我之前把这个目录设置成bind了,结果发现放不进去,改成named才行,怀疑bind的代码里面写死了。


    然后通知rsyslog添加一个监听句柄: echo "\$AddUnixListenSocket /var/bind9/chroot/dev/log" > /etc/rsyslog.d/bind-chroot.conf

    debian默认只装了syslog,而不是增强版的rsyslog,需要安装一下。

    然后运行: /etc/init.d/rsyslog restart; /etc/init.d/bind9 start

    查看进程和pid文件均存在的话,表示chroot成功了






    
Tags: ,
    上周博客正式迁移,所以给服务器配置上了各种备份脚本,最近一周观察发现总是差了8个小时,非常奇怪,因为top看到的结果是没错的,今天深究了一下,看了下cron服务的环境变量:/proc/pid/environ的内容,发现是采用了莫斯科时区,一看/etc/localtime,确实是设置的莫斯科,看来是上周忘了改时区,于是改了下,重启cron进程,发现还是没变,疑惑,看了下cron的重启脚本,发现用了/etc/timezone,这个文件还是莫斯科时区,看来自己用改文件的方法不是特别的靠谱,总是有漏的地方,于是用debian
官方的命令设置了一下:dpkg-reconfigure tzdata  这个命令是文本图形界面,设置了一下,两个文件都更新了,再重启cron,看了下系统变量,发现更新了。看看明天的备份时间是不是恢复正常了。


    不过为啥top看的时间时区是对的呢?
Tags:
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]