bind安装笔记

本文中一些bind参数参考自http://www.19830102.com/

dns是任何一个公司都会用到,而bind又是dns服务器的首选。

oreilly也出过<dns and bind>这本书

http://oreilly.com/catalog/9780596001582/

虽然windows上也可以做dns服务器,但windows的dns服务器的安全性只能用这个一个垃圾桶来描述。

这次由于公司需要,所以我们也自己安装了3个bind服务器,一个master,两个slave.

基本安装方式网上都有,而我这次主要是由以下几点。

一个是启动named的用户必须是nologin用户,于是就要新建用户named,同时涉及到named的一些文件夹的权限也要赋予named用户权限。最后启动时候用


named -u named -c /usr/local/named/etc/named.conf

同时由于是自己根域的master dns,所以没有必要开启递归查询,所以只要如下设置就可。


recursion  no

其次named默认是把日志记录在/var/log/messages中,这样并不是一个很好的选择,bind本身支持记录多种类型的日志。以下设置是记录的对于bind服务器的warning日志和查询日志。这样一旦出了问题就能很快的查找到相关原因。


logging {
        channel warning
        { file "log/named.log" versions 3 size 2048k;
        severity warning;
        print-category yes;
        print-severity yes;
        print-time yes;
        };
        channel query
        { file "log/query.log" versions 3 size 2048k;
        severity info;
        print-category yes;
        print-severity yes;
        print-time yes;
        };
        category default { warning; };
        category queries { query; };
};

bind还可以记录以下的日志类型,大家可以根据自己的需要来选择。

category 参数:

default: 默认分类,没有分类的日志都使用这个分类的配置.

general: 没有分类的日志都记录在此分类中.

database: 服务器内部使用存储zone和缓存数据.

security: 允许/拒绝的请求.

config: 配置文件分析和处理.

resolver: DNS解析,被dns缓存服务器进行递归查询.

xfer-in: 接收区域传输.

xfer-out: 发送区域传输.

notify: NOTIFY协议.

client: 客户端请求进程.

unmatched: 未匹配的查询?

network: 网络操作.

update: 动态更新.

update-security: 允许/拒绝更新请求.

queries: 客户端队列日志.

dispatch: 数据包传送日志.

dnssec: DNSSEC和TSIG协议处理.

lame-servers: 远端的配置错误的服务器发送的请求.

delegation-only: NXDOMAIN的结果将被强制定义到delegation-only区域

具体语法如下

logging {
   [ channel channel_name {
     ( file path name
         [ versions ( number | unlimited ) ]
         [ size size spec ]
       | syslog syslog_facility
       | stderr
       | null );
     [ severity (critical | error | warning | notice |
                 info | debug [ level ] | dynamic ); ]
     [ print-category yes or no; ]
     [ print-severity yes or no; ]
     [ print-time yes or no; ]
   }; ]
   [ category category_name {
     channel_name ; [ channel_name ; ... ]
   }; ]
   ...
};

最后由于自己dns分为master和slave模式,所以这之间互相的传输需要特别注意安全。同时我们知道dns协议是分为udp和tcp两种,tcp是用来dns互相之间传递zone文件,而udp是用来响应用户dns查询的请求。

关于互相之间进行zone安全传递,bind本身有比较多的解决方案,分别为TSIG和DNSSEC技术。

同时除了这种技术,本身也可以对于zone传递的限制参数。

区域传输(Zone Transfer):

also-notify: 定义一个向在全局的地址列表的服务器发送通知信息当刷新或者加载区域的时候.
max-transfer-time-in: 当区域传入运行的时间大于设定的分钟将被中断,默认为120 minutes,最大值为28天,40320 minutes.
max-transfer-idle-in: 当区域传入运行处于传输等待的状态,大于设定的时间将被中断,默认为60 minutes,最大值为28天.
max-transfer-time-out: 当区域传出运行的时间大于设定的时间,将被中断,默认为120 minutes,最大为28天.
max-transfer-idle-out: 当区域传出运行处于传输等待的状态,大于设定时间将被中断,默认为60 minutes,最大为28天.
serial-query-rate: 从服务器定期去主服务器查询区域的serial数字是否发生改变.默认为20秒.
serial-queries: BIND9忽略此参数,使用serial-query-rate代替.
transfer-format: 区域的传输可以使用两种不同的格式,one-answers和many-answers,one-answers传输每个记录使用一个DNS信息,many-answers近可能把资源记录打成一个包,默认为many-answers
transfer-in: 设定当前同时传入的区域的最大数目,默认为10个.区域的请求超过限制将被拒绝.
transfer-out: 设定当前同时传出的区域的最大数目,默认为10个,区域的传出请求超过限制将被决绝.
transfer-per-ns: 设定同时进行传输的区域从给定的name服务,默认为2.
transfer-source: 指定通过哪个IPV4的源地址进行域的传送.
transfer-source-v6: 指定通过哪个IPV6的源地址进行域的传送.
alt-transfer-source: 指定,如果transfer-source发生故障,通过哪个IPV4的源地址进行域的传松.
alt-transfer-source-v6: 同上.
use-alt-transfer-source: 指定是否通过alt-transfer-source进行域的传松,默认为yes,兼容BIND8.
notify-source: 指定哪个本地地址,以及本地端口被用来作为发送通知信息的源.此项受限于allow-notify.
notify-source-v6: 同notify-source.
Advertisements

freebsd7安装手册

作者:Timo

大体跟freebsd6相同,都是选择最小化安装,安装完后再sysinstall安装src,ports,man等

安装freebsd7.0
(1)分区  /分区适当扩大。

/        512M
/usr        8192M
/var        2048M
/home        4096M
/tmp        1024M
/work    余下所有

(2)把work转成zfs格式

umount /work

vi /etc/fstab 把关于/work那一行删除
zpool create work /dev/ad0s1e   (ad0s1e为原来/work分区)
vi /etc/rc.conf 添加 zfs_enable="YES"   这样系统启动就会自动挂载ZFS分区

系统相关分区不建议转为zfs,那样很可能导致系统无法加载导致不能启动。

(3)重启进入系统,修改/etc/rc.conf,增加如下内容

****************************************
sshd_enable="YES"
#sendmail setting
sendmail_enable="NONE"
#ipfw
firewall_enable="YES"
firewall_script="/etc/rc.firewall"
firewall_type="open"
firewall_quiet="YES"

(4)FreeBSD tuning
(A)定制kernel,配置文件CK,改自GENERIC,去掉一些不需要的Divers,加上如下内容
关键是freebsd7的调度改为ULE,这个比4BSD效率更好,同时现在也非常稳定,freebsd7.1准备把ULE作为默认调度。其它内核配置根据自己的需求来进行添加。

****************************************
下面这个调度方式要修改
options     SCHED_4BSD        # 4BSD scheduler
改为:
options        SCHED_ULE        # ULE scheduler

# To make an SMP kernel, the next line is needed
options     SMP         # Symmetric MultiProcessor Kernel

****************************************
# cp /usr/src/sys/i386/conf/GENERIC /root/ck

# cd /usr/src/sys/i386/conf
# ln -s /root/ck
# cd /usr/src
# make buildkernel KERNCONF=ck

# make installkernel KERNCONF=ck
# reboot

openbsd基本安装手册

作者:Timo

网上XSTAR的手册似乎是太麻烦了。

图解安装OpenBSD操作系统[XStar版]

openbsd4.2版本已经不需要自己手动来做ISO文档了,直接官网上就有现成做好的。

同时4.2增加几个新平台的支持 OpenBSD/sparc64. 和 OpenBSD/alpha.以及 OpenBSD/hppa.

增加了一些新的硬件驱动

对于CARP提供了更多的支持

具体更新内容可以查看http://www.openbsd.org/42.html#new

openbsd的分区方式跟freebsd其实是差不多的。可以使用M这样的单位。

说一下openbsd的分区大小

看了下官方文档的最小空间建议

(root) 60M

/usr 420M(no x) 550M (with x)

/var 25M

/tmp 50M

swap 32M

vim在命令行下安装

对于像我这样刚开始接触FreeBSD的新手来说,可能用不习惯FreeBSD下的VI.今天我就说一下,如何在FreeBSD下安装像Linux一样的VI(VIM)

首先我们从ports安装!

whereis vim
vim: /usr/ports/editors/vim
由于是终端上,VIM默认是装上XORG,但是这个根本就不需要,所以要运行
make -DWITHOUT_X11 install


这样就把X11去掉了,就不会装上了

具体可以通过
grep define Makefile 查看

这样一会就安装好了!

然后:

mv /usr/bin/vi /usr/bin/vi.bak
cp /usr/local/bin/vim /usr/bin/vi

如果需要修改 .cshrc

然后再
/usr/local/share/vim/vim70/里有一个vimrc_xxx的文件,你把它cp到/usr/local/share/vim/,改名为vimrc