最近操作系统要结课,老师要求在redhat上配置各种服务器角色,包括dhcp、ftp、web、dns。前三个都还好,但就dns,被折磨的死去活来的,真让人头大。还好在同学的帮助下最后配置成功,实现了正向和反向解析,决定写篇随笔加深一下印象。
我是在VMware里面安装了redhat的虚拟机,然后把光盘加载进来,在光盘里面安装各种服务,这样免去的繁琐的命令安装。首先双击光盘,Ctrl+F弹出搜索框,输入所要搜索的文件(配置dns是我们需要的是bind文件),选择光盘,搜索出来后双击安装就可以了。全程无痛有没有(看下图)。
使用rpm -qa bind 命令查看是否安装成功,安装成功后,会返回安装版本信息(如下图)。
下面,就是更改、添加一些配置文件了。
首先我们修改主配置文件/etc/named.conf,在修改前可以先进行备份:使用cp -p /etc/named.conf /etc/named.conf.bak
options { ** listen-on port 53 { any; }; ** listen-on-v6 port 53 { any; }; 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;
注:前面带星号的为修改的地方
然后修改/etc/named.rfc1912.zones,这一步的作用是添加正向和反向解析。
//正向区域配置 zone "hello.com" IN { //hello.com为自己设置的域名,你当然也可以设置其他自己喜欢的 type master; file "hello.com.zone"; allow-update { none; }; }; //反向区域配置 zone "x.168.192.in-addr.arpa" IN { //x为自己的网段。 type master; file "hello.com.local"; allow-update { none; }; };
最后我们在创建正向文件和反向文件。先来添加正向文件。添加/var/named/hello.com.zone。
我们可以先使用以下命令复制一份named.local文件并重命名为hello.com.zone,这样我们只需要更改hello.com.zone文件就可以了,省去了写一些相同代码的麻烦。
cp -p /var/named/named.localhost /var/named/hello.com.zone
复制完之后,更改文件内容如下。
$TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 192.168.x.y //x为网段,y为IP www A 192.168.x.y
注:一定要注意对齐。
再来添加反向解析文件。添加/var/named/hello.com.local。同样可以使用命令复制一份named.local文件并重命名为hello.com.local,然后更改文件内容如下:
$TTL 1D @ IN SOA hello.com. root ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 192.168.1.92 AAAA ::1 92 IN PTR www.hello.com.
最后我们配置dns文件。配置/etc/resolv.conf文件。
nameserver x.x.x.x 为自己IP地址
然后使用nslookup命令进行正向和反向解析。
正向解析:nslookup www.hello.com ,如果返回配置的IP地址,则解析成功。
反向解析:nslookup “所配置的IP地址”,如果返回域名,则解析成功。
(ps:本人太菜,若有错误的地方欢迎大佬随时责骂。。。。xixixii)