为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Linux网络配置-DNS

2018-04-15 50页 doc 388KB 23阅读

用户头像

is_037433

暂无简介

举报
Linux网络配置-DNSLinux网络配置-DNS 网络技术应用网www.591cto.com DNS服务器配臵: 1.用rpm命令安装三个包 rpm -ivh /media/Server/bind-9.3.3-10.el5.i386.rpm 第四张光盘 rpm -ivh /media/Server/bind-chroot-9.3.3-10.el5.i386.rpm 第四张光盘 rpm -ivh /media/Server/cachingnameserver-9.3.3-10.el5.i386.rpm 第一张光盘 2.修改配臵文件。 由于...
Linux网络配置-DNS
Linux网络配置-DNS 网络技术应用网www.591cto.com DNS服务器配臵: 1.用rpm命令安装三个包 rpm -ivh /media/Server/bind-9.3.3-10.el5.i386.rpm 第四张光盘 rpm -ivh /media/Server/bind-chroot-9.3.3-10.el5.i386.rpm 第四张光盘 rpm -ivh /media/Server/cachingnameserver-9.3.3-10.el5.i386.rpm 第一张光盘 2.修改配臵文件。 由于启用了chroot~配臵文件放在 /var/named/chroot/etc 工作目录放在 /var/name/chroo/etc/named.conf~RHLE5以上默认没有该文件 cp -avp /var/named/chroot/etc/named.caching\ -nameserver /var/named/chroot/etc/named.conf 配臵named.cachingnameserver.conf named.rfc1912.zone 这个两个文件 1.先配臵named.cachingnameserver.conf options { listen-on port 53 { any; };//需要监听客户机IP~这里填any表示任何客户机。 listen-on-v6 port 53 { ::1; }; directory "/var/named";//数据文件存放路径:/var/named/chroot/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"; query-source port 53; query-source-v6 port 53; allow-query { localhost; }; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; view localhost_resolver { //这个是 DNS的视图配臵~不用View就注释 match-clients {any; }; match-destinations {any; }; recursion yes; include "/etc/named.rfc1912.zones"; }; 接下来配臵named.rfc1912.zone [url=javascript:;]代码[/url]块。 zone "0.in-addr.arpa" IN { type master; file "named.zero"; allow-update { none; }; 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com }; zone "yahoo.com" IN { 指定域名 type master; 主域 file "yahoo.com.zone"; allow-update { none; }; 当数据文件改变时是否允许更新 }; 创建yahoo.com.zone。首先进入到/var/named/chroot/var/named~会看到有一个 localdomain.zone数据文件~这个就是数据文件了。可以用下面的命令创建 yahoo.com.zone。 cp -p localdomain.zone yahoo.com.zone ,- p表示将文件的权限也拷贝过来, 用vi编辑器打开yahoo.com.zone $TTL 86400 指定生存期 @ IN SOA ns.yahoo.com root ( ,表示当前域~SOA起始授权机构 root 管理员邮箱地址 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS ns.yahoo.com. ns指定域名服务器~只是个名称 ns.yahoo.com. IN A 192.168.1.102 IN指internet~指定域名服务器的IP www IN A 192.168.1.100 A指定域名对应IP~客户注册的域名 注意:后三行的ns.yahoo.com.最有一个字符一定要加 "."因为不加"."则代表 ns.yahoo.com域还有后缀.yahoo.com 启动DNS服务。service named restart 测试DNS。输入 host www.yahoo.com 最后修改/etc/resolv.conf配臵文件.在里面加一行: nameserver +服务器的IP. 进行 RHEL5 下的域名服务器搭建试验~为下一步的试验进行基础环境搭建准备。 虚拟域名 Microtrend.cn 对应的IP为 192.168.1.105~所对应的主机为 ns、www、mail ~均对应 192.168.1.105~整个环境搭建在 xp基础上的vmware虚拟机。 RHEL 5 在选中安装bind包后~不会安装 caching-nameserver-9.3.3-7.el5.i386.rpm。这个程序负责产生一些系统定义好的配臵文件~所以~需要先安装这个软件包。 [root@nis-server ~]# rpm -qa |grep bind* binutils-2.17.50.0.6-2.el5 ypbind-1.19-7.el5 bind-utils-9.3.3-7.el5 bind-9.3.3-7.el5 bind-chroot-9.3.3-7.el5 bind-libs-9.3.3-7.el5 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 一、安装 caching-nameserver-9.3.3-7.el5.i386.rpm Rpm -ivh caching-nameserver-9.3.3-7.el5.i386.rpm 二、转移到 /var/named/chroot/var/etc目录下 cp /var/named/chroot/etc/named.caching-nameserver.conf named.conf 三、vi named.conf // named.caching-nameserver.conf // // Provided by Red Hat caching-nameserver package to configure the // ISC BIND named(8) DNS server as a caching only nameserver // (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // // DO NOT EDIT THIS FILE - use system-config-bind or an editor // to create named.conf - edits to this file will be lost on // caching-nameserver package upgrade. // options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; 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"; query-source port 53; query-source-v6 port 53; allow-query { any; }; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; //view localhost_resolver { // match-clients { any; }; // match-destinations { any; }; // recursion yes; // include "/etc/named.rfc1912.zones"; //}; zone "." IN { 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com type hint; file "named.ca"; }; zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; zone "microtrend.cn" IN { type master; file "microtrend.zone"; }; zone "1.168.192.in-addr.arpa" IN { type master; file "named.192.168.1"; }; 四、配臵数据文件 配臵localhost.zone $TTL 86400 @ IN SOA @ root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ); minimum IN NS @ IN A 127.0.0.1 IN AAAA ::1 配臵named.local $TTL 86400 @ IN SOA localhost. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com IN NS localhost. 1 IN PTR localhost. 配臵 Microtrend.zone $TTL 86400 @ IN SOA microtrend.cn. root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS ns.microtrend.cn. IN A 192.168.1.105 IN MX 10 mail.microtrend.cn. ns IN A 192.168.1.105 www IN A 192.168.1.105 mail IN A 192.168.1.105 配臵 named.192.168.1 $TTL 86400 @ IN SOA microtrend.cn. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns.microtrend.cn. 105 IN PTR www 105 IN PTR ns 105 IN PTR www 105 IN PTR mail 五、需要注意的地方 自己创建的named.conf和域数据文件~默认都是root:root的属性~需要将他们修改为 root:named属性~这样才不会出现权限问题。 启动named 服务时~系统的日志信息在 /var/log/messages 文件中~须查看这个文件中的日志信息。 判断named服务是否正常启动~不能只看service named restart 输出的结果~因为有时虽然状态显示OK~但是 bind 无法正常运行~详细的问题记录在 messages中。 所以要用 tail -f /var/log/messages 查看输出。 另外~通过messages的输出发现~在named.conf 中若定义了view ~则下面所有的zone定义都是需要以 view的方式定义。因此需要在 named.conf 中注销view定义方法。 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com RHEL5.2下DNS与DHCP的互动更新 一、实验目标 在Linux平台下实现DHCP与DNS互动更新的功能。 二、实验环境 一台Linux服务器版本为Red Hat Enterprise Linux Server release 5.2 (Tikanga)~ 内核版本号2.6.18-92.el5,两台客户端:一台为Windows XP Professional SP3,一 台为Linux主机~版本同服务器。 三、搭建DNS服务,bind, 1( 安装bind相关软件包 放入安装光盘~并切换到软件包所在目录~执行下列命令安装相应软件包: rpm -ivh bind-9.3.4-6.P1.el5.i386.rpm rpm -ivh bind-chroot-9.3.4-6.P1.el5.i386.rpm rpm -ivh bind-devel-9.3.4-6.P1.el5.i386.rpm rpm -ivh bind-libbind-devel-9.3.4-6.P1.el5.i386.rpm rpm -ivh bind-libs-9.3.4-6.P1.el5.i386.rpm rpm -ivh bind-sdb-9.3.4-6.P1.el5.i386.rpm rpm -ihv bind-utils-9.3.4-6.P1.el5.i386.rpm rpm -ivh caching-nameserver-9.3.4-6.P1.el5.i386.rpm 2( 创建密钥 要实现DNS的动态更新~首先要考虑的是怎样保证安全地实现DDNS。由ISC给出的方法 是创建进行动态更新的密钥~在进行更新时通过该密钥加以验证。为了实现这一功能~ 需要以root身份运行以下命令: [root@server etc]# dnssec-keygen -a HMAC-MD5 -b 128 -n USER administrator 上述dnssec-keygen命令的功能就是生成更新密钥~其中参数-a HMAC-MD5是指密钥的 生成算法采用HMAC-MD5,参数-b 128是指密钥的位数128位,参数-n USER administrator是指密钥的用户为administrator。 该命令生成的一对密钥文件如下: -rw----- 1 named named 55 Jun 20 00:54 Kadministrator.+157+49362.key -rw----- 1 named named 81 Jun 20 00:54 Kadministrator.+157+49362.private 可以查看刚生成的密钥文件内容: [root@server etc]# cat Kadministrator.+157+49362.key administrator. IN KEY 0 3 157 txOBJNpI39770VEkbPQQ6w== [root@server etc]# cat Kadministrator.+157+49362.private Private-key-format: v1.2 Algorithm: 157 (HMAC_MD5) Key: txOBJNpI39770VEkbPQQ6w== 仔细阅读该密钥文件就会发现~这两个文件中包含的密钥是一样的~该密钥就是DHCP 对DNS进行安全动态更新时的凭据。后面需要将该密钥分别添加到DNS和DHCP的配臵 文件中。 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 3( 配臵主配臵文件。这里有两种方法: 1, 去除掉/var/named/chroot/etc/named.caching-nameserver.conf文件中以下几行 内容: listen-on port 53 { 127.0.0.1; }; listen-on-v6 port 53 { ::1; }; allow-query { localhost; }; match-clients { localhost; }; match-destinations { localhost; }; 修改后的如下: [root@server etc]# cat named.caching-nameserver.conf // // named.caching-nameserver.conf // // Provided by Red Hat caching-nameserver package to configure the // ISC BIND named(8) DNS server as a caching only nameserver // (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // // DO NOT EDIT THIS FILE - use system-config-bind or an editor // to create named.conf - edits to this file will be lost on // caching-nameserver package upgrade. // options { 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"; query-source port 53; query-source-v6 port 53; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; view localhost_resolver { recursion yes; include "/etc/named.rfc1912.zones"; }; 在文件/var/named/chroot/etc/named.rfc1912.zones中添加新的解析域~结果如下: 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com [root@server etc]# cat named.rfc1912.zones // named.rfc1912.zones: // // Provided by Red Hat caching-nameserver package // // ISC BIND named zone configuration for zones recommended by // RFC 1912 section 4.1 : localhost TLDs and address zones // // See /usr/share/doc/bind*/sample/ for example named configuration files. // key administrator { algorithm HMAC-MD5.SIG-ALG.REG.INT; secret txOBJNpI39770VEkbPQQ6w==; }; zone "." IN { type hint; file "named.ca"; }; zone "localdomain" IN { type master; file "localdomain.zone"; allow-update { none; }; }; zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { type master; file "named.ip6.local"; allow-update { none; }; 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com }; zone "255.in-addr.arpa" IN { type master; file "named.broadcast"; allow-update { none; }; }; zone "0.in-addr.arpa" IN { type master; file "named.zero"; allow-update { none; }; }; zone "china.test" IN { type master; file "china.test.zone"; allow-update { key administrator; }; }; zone "13.168.192.in-addr.arpa" IN { type master; file "china.test.arpa"; allow-update { key administrator; }; }; 2, 切换到/var/named/chroot/etc/目录~将named.rfc1912.zones追加到named.caching-nameserver.conf中~合二为一~按照第一种方法删除、添加相应内容~并删除view localhost_resolver项所有内容。 4(在/var/named/chroot/var/named目录下添加域配臵文件~文件如下: [root@server named]# cat china.test.zone $TTL 86400 @ IN SOA server.china.test. root.china.test. ( 2009062000 28800 14400 360000 86400 ) @ IN NS server.china.test. server IN A 192.168.13.11 client IN A 192.168.13.24 [root@server named]# cat china.test.arpa $TTL 86400 @ IN SOA server.china.test. root.server.china.test. ( 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 2009062000 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum @ IN NS server.china.test. 11 IN PTR server.china.test. 5(用chkconfig --level 35 named on命令设臵开机自动开启DNS服务。 6(启用DNS服务service named start(stop/restart/reload)或/etc/rc.d/initd/named 7. 在客户端主机的/etc/resolv.conf文件中指定DNS服务器: nameserver 192.168.13.11 四、搭建DHCP服务 1.dhcp相关软件包 rpm -ivh dhcp-3.0.5-13.el5.i386.rpm rpm -ivh dhcp-devel-3.0.5-13.el5.i386.rpm 2.修改配臵文件。修改后的配臵文件如下: [root@server ~]# cat /etc/dhcpd.conf ddns-update-style interim; allow client-updates; key administrator { algorithm HMAC-MD5; secret txOBJNpI39770VEkbPQQ6w==; }; zone china.test. { primary 192.168.13.11; key administrator; } zone 13.168.192.in-addr.arpa. { primary 192.168.13.11; key administrator; } subnet 192.168.13.0 netmask 255.255.255.0 { # --- default gateway option routers 192.168.13.13; option subnet-mask 255.255.255.0; option nis-domain "china.test"; option domain-name "china.test"; 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com option domain-name-servers 192.168.13.11; # option time-offset -18000; # Eastern Standard Time # option ntp-servers 192.168.1.1; # option netbios-name-servers 192.168.1.1; # --- Selects point-to-point node (default is hybrid). Don't change this unless # -- you understand Netbios very well # option netbios-node-type 2; range dynamic-bootp 192.168.13.1 192.168.13.23; default-lease-time 180; max-lease-time 300; } 3.用chkconfig --level 3 dhcpd on命令设臵开机自动开启DNS服务。 4.启用DNS服务service dhcpd start 5.在客户端主机上添加DHCP客户端配臵文件/etc/dhclient.conf~内容如下: [root@client ~]# cat /etc/dhclient.conf send fqdn.fqdn "client"; send fqdn.encoded on; 6.在服务器上查DHCP分配文件/var/lib/dhcpd/dhcpd.leases: [root@server ~]# cat /var/lib/dhcpd/dhcpd.leases # All times in this file are in UTC (GMT), not your local timezone. This is # not a bug, so please don't ask about it. There is no portable way to # store leases in the local timezone, so please don't request this as a # feature. If this is inconvenient or confusing to you, we sincerely # apologize. Seriously, though - don't ask. # The format of this file is documented in the dhcpd.leases(5) manual page. # This lease file was written by isc-dhcp-V3.0.5-RedHat lease 192.168.13.23 { starts 6 2009/06/20 08:20:53; ends 6 2009/06/20 08:25:53; binding state active; next binding state free; hardware ethernet 00:0c:29:71:c6:09; set ddns-rev-name = "23.13.168.192.in-addr.arpa."; set ddns-txt = "0003680744ede9faf3e6e8bd78563f6857"; set ddns-fwd-name = "client.china.test"; } 7.查看/var/named/chroot/var/named目录~自动生成如下两个文件~用于DNS更新。 -rw-r--r-- 1 named named 1980 Jun 20 16:20 china.test.arpa.jnl 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com -rw-r--r-- 1 named named 1825 Jun 20 16:20 china.test.zone.jnl 8.查看域文件内容如下: [root@server named]# cat china.test.zone $ORIGIN . $TTL 86400 ; 1 day china.test IN SOA server.china.test. root.china.test. ( 2009062021 ; serial 28800 ; refresh (8 hours) 14400 ; retry (4 hours) 360000 ; expire (4 days 4 hours) 86400 ; minimum (1 day) ) NS server.china.test. $ORIGIN china.test. $TTL 150 ; 2 minutes 30 seconds client A 192.168.13.23 TXT "0003680744ede9faf3e6e8bd78563f6857" $TTL 86400 ; 1 day server A 192.168.13.11 [root@server named]# cat china.test.arpa $ORIGIN . $TTL 86400 ; 1 day 13.168.192.in-addr.arpa IN SOA server.china.test. root.server.china.test. ( 2009062017 ; serial 28800 ; refresh (8 hours) 14400 ; retry (4 hours) 3600000 ; expire (5 weeks 6 days 16 hours) 86400 ; minimum (1 day) ) NS server.china.test. $ORIGIN 13.168.192.in-addr.arpa. 11 PTR server.china.test. $TTL 150 ; 2 minutes 30 seconds 23 PTR client.china.test. 五、结论 1、表面现象: 1,更新比较慢~甚至需要手动重启DNS服务才能更新成功。 2,反向解析没有清除旧的记录~如下: [root@server ~]# cat /var/named/chroot/var/named/china.test.arpa $ORIGIN . $TTL 86400 ; 1 day 13.168.192.in-addr.arpa IN SOA server.china.test. root.server.china.test. ( 2009062019 ; serial 28800 ; refresh (8 hours) 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 14400 ; retry (4 hours) 3600000 ; expire (5 weeks 6 days 16 hours) 86400 ; minimum (1 day) ) NS server.china.test. $ORIGIN 13.168.192.in-addr.arpa. 11 PTR server.china.test. $TTL 150 ; 2 minutes 30 seconds 12 PTR WWW-2E8A24A84C2.china.test. 20 PTR client.china.test. 23 PTR client.china.test. 24 PTR client.china.test. 2、更新日志: Jun 20 22:35:25 server named[2719]: starting BIND 9.3.4-P1 -u named -c /etc/named.caching-nameserver.conf -t /var/named/chroot Jun 20 22:35:25 server named[2719]: found 1 CPU, using 1 worker thread Jun 20 22:35:25 server named[2719]: loading configuration from '/etc/named.caching-nameserver.conf' Jun 20 22:35:25 server named[2719]: listening on IPv4 interface lo, 127.0.0.1#53 Jun 20 22:35:25 server named[2719]: listening on IPv4 interface eth0, 192.168.13.11#53 Jun 20 22:35:25 server named[2719]: command channel listening on 127.0.0.1#953 Jun 20 22:35:25 server named[2719]: command channel listening on ::1#953 Jun 20 22:35:25 server named[2719]: zone 0.in-addr.arpa/IN/localhost_resolver: loaded serial 42 Jun 20 22:35:25 server named[2719]: zone 0.0.127.in-addr.arpa/IN/localhost_resolver: loaded serial 1997022700 Jun 20 22:35:25 server named[2719]: zone 13.168.192.in-addr.arpa/IN/localhost_resolver: loaded serial 2009062027 Jun 20 22:35:25 server named[2719]: zone 255.in-addr.arpa/IN/localhost_resolver: loaded serial 42 Jun 20 22:35:25 server named[2719]: zone 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN/localhost_resolver: loaded serial 1997022700 Jun 20 22:35:25 server named[2719]: zone localdomain/IN/localhost_resolver: loaded serial 42 Jun 20 22:35:25 server named[2719]: zone localhost/IN/localhost_resolver: loaded serial 42 Jun 20 22:35:25 server named[2719]: zone china.test/IN/localhost_resolver: loaded serial 2009062035 Jun 20 22:35:25 server named[2719]: running Jun 20 22:35:25 server dhcpd: Internet Systems Consortium DHCP Server V3.0.5-RedHat 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com Jun 20 22:35:25 server dhcpd: Copyright 2004-2006 Internet Systems Consortium. Jun 20 22:35:25 server dhcpd: All rights reserved. Jun 20 22:35:25 server dhcpd: For info, please visit :35:25 server dhcpd: lease 192.168.13.22: no subnet. Jun 20 22:35:25 server last message repeated 3 times Jun 20 22:35:25 server dhcpd: Wrote 1 leases to leases file. Jun 20 22:35:25 server dhcpd: Listening on LPF/eth0/00:0c:29:64:e2:df/192.168.13/24 Jun 20 22:35:25 server dhcpd: Sending on LPF/eth0/00:0c:29:64:e2:df/192.168.13/24 Jun 20 22:35:25 server dhcpd: Sending on Socket/fallback/fallback-net Jun 20 22:35:33 server dhcpd: DHCPREQUEST for 192.168.13.22 from 00:0c:29:71:c6:09 via eth0: unknown lease 192.168.13.22. Jun 20 22:35:37 server dhcpd: DHCPREQUEST for 192.168.13.22 from 00:0c:29:71:c6:09 via eth0: unknown lease 192.168.13.22. Jun 20 22:35:49 server dhcpd: DHCPDISCOVER from 00:0c:29:71:c6:09 via eth0 Jun 20 22:35:50 server dhcpd: DHCPOFFER on 192.168.13.24 to 00:0c:29:71:c6:09 via eth0 Jun 20 22:35:50 server named[2719]: client 192.168.13.11#32772: view localhost_resolver: updating zone 'china.test/IN': update unsuccessful: client.china.test: 'name not in use' prerequisite not satisfied (YXDOMAIN) Jun 20 22:35:50 server named[2719]: client 192.168.13.11#32772: view localhost_resolver: updating zone 'china.test/IN': deleting rrset at 'client.china.test' A Jun 20 22:35:50 server named[2719]: client 192.168.13.11#32772: view localhost_resolver: updating zone 'china.test/IN': adding an RR at 'client.china.test' A Jun 20 22:35:50 server dhcpd: Added new forward map from client.china.test to 192.168.13.24 Jun 20 22:35:50 server named[2719]: client 192.168.13.11#32772: view localhost_resolver: updating zone '13.168.192.in-addr.arpa/IN': deleting rrset at '24.13.168.192.in-addr.arpa' PTR Jun 20 22:35:50 server named[2719]: client 192.168.13.11#32772: view localhost_resolver: updating zone '13.168.192.in-addr.arpa/IN': adding an RR at '24.13.168.192.in-addr.arpa' PTR Jun 20 22:35:50 server dhcpd: added reverse map from 24.13.168.192.in-addr.arpa. to client.china.test 3、 客户端解析如下: C:\>nslookup Default Server: server.china.test Address: 192.168.13.11 > client.china.test Server: server.china.test 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com Address: 192.168.13.11 Name: client.china.test Address: 192.168.13.24 > 192.168.13.23 Server: server.china.test Address: 192.168.13.11 Name: WWW-2E8A24A84C2.china.test Address: 192.168.13.23 > 192.168.13.24 Server: server.china.test Address: 192.168.13.11 Name: client.china.test Address: 192.168.13.24 > WWW-2E8A24A84C2.china.test Server: server.china.test Address: 192.168.13.11 Name: WWW-2E8A24A84C2.china.test Address: 192.168.13.23 4、 最终结论: 实现了DNS与DHCP的互动更新功能。工作过程使用域文件为:china.test.arpa.jnl 和 china.test.zone.jnl~而不在是传统的china.test.arpa和china.test.zone文件。 RHEL4上DNS的配臵: 首先需要安装bind软件~它位于AS4的第四张光盘中~架设DNS服务器需要这些软件 # rpm -ivh /media/cdrom/RedHat/RPMS/bind-9.2.4-2.i386.rpm # rpm -ivh /media/cdrom/RedHat/RPMS/caching-nameserver-7.3-3.noarch.rpm # rpm -qa | grep bind bind-utils-9.2.4-2 bind-9.2.4-2 bind-libs-9.2.4-2 ypbind-1.17.2-3 #rpm -qa | grep caching caching-nameserver-7.3-3 主域名服务器的地址是192.168.1.2 ,从域名服务器的地址是192.168.1.3 winxpIP地址是192.168.1.174 在主域名服务器中添加ltest.com域名区域~下面就来架设主域名服务器 1、软件安装完后修改配臵文件 [root@localhost ~]# vi /etc/named.conf 修改完后的named.conf如下: [root@localhost ~]# cat /etc/named.conf 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com // // named.conf for Red Hat caching-nameserver // options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; }; // // a caching only nameserver config // controls { inet 127.0.0.1 allow { localhost; } keys { rndckey; }; }; zone "." IN { type hint; file "named.ca"; }; zone "localdomain" IN { type master; file "localdomain.zone"; allow-update { none; }; }; zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; zone "ltest.com" IN { type master; file "ltest.com.zone"; }; zone "1.168.192.in-addr.arpa" IN { type master; file "192.168.1.rev"; }; 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { type master; file "named.ip6.local"; allow-update { none; }; }; zone "255.in-addr.arpa" IN { type master; file "named.broadcast"; allow-update { none; }; }; zone "0.in-addr.arpa" IN { type master; file "named.zero"; allow-update { none; }; }; include "/etc/rndc.key"; 2、建立正向和反向区域文件 [root@localhost named]# cd /var/named/ [root@localhost named]# cp -p localhost.zone ltest.com.zone 把localhost的模版cp后修改~修改完后的ltest.com.zone的文件如下 [root@localhost named]# cat ltest.com.zone $TTL 86400 @ IN SOA ns1.ltest.com. hostmaster.ltest.com. ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS ns1.ltest.com. IN NS ns2.ltest.com. ns1 IN A 192.168.1.2 ns2 IN A 192.168.1.3 host1 IN A 192.168.1.174 mail IN CNAME host1.ltest.com. @ IN MX 5 mail.ltest.com. [root@localhost named]# cp –p ltest.com.zone 192.168.1.rev 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 把修改完后的ltest.com.zone cp一份作为反向配臵文件~修改后如下 [root@localhost named]# cat 192.168.1.rev $TTL 86400 @ IN SOA ns1.ltest.com. hostmaster.ltest.com. ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS ns1.ltest.com. IN NS ns2.ltest.com. 2 IN PTR ns1.ltest.com. 3 IN PTR ns2.ltest.com. 174 IN PTR host1.ltest.com. 3、对区域文件的测试 对named.conf的测试 [root@localhost named]# named-checkconf 如没语法错误就没任何信息 对区域文件测试 [root@localhost named]# named-checkzone ltest.com /var/named/ltest.com.zone zone ltest.com/IN: loaded serial 42 OK [root@localhost named]# named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.rev zone 1.168.192.in-addr.arpa/IN: loaded serial 42 OK 4、[root@localhost named]# cat /etc/resolv.conf 把服务器的DNS地址指向自己 nameserver 192.168.1.2 search localdomain 5~启动named 服务 [root@localhost named]# service named restart Stopping named: [ OK ] Starting named: [ OK ] 6~测试主域名服务 [root@localhost named]# host ns1.ltest.com ns1.ltest.com has address 192.168.1.2 [root@localhost named]# host ns2.ltest.com ns2.ltest.com has address 192.168.1.3 [root@localhost named]# host host1.ltest.com host1.ltest.com has address 192.168.1.174 [root@localhost named]# host -t mx ltest.com 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com ltest.com mail is handled by 5 mail.ltest.com. [root@localhost named]# host 192.168.1.2 2.1.168.192.in-addr.arpa domain name pointer ns1.ltest.com. [root@localhost named]# host 192.168.1.3 3.1.168.192.in-addr.arpa domain name pointer ns2.ltest.com. [root@localhost named]# host 192.168.1.174 174.1.168.192.in-addr.arpa domain name pointer host1.ltest.com. 架设缓存域名服务器~只需要安装caching-nameserver软件包就可以 下面就在192.168.1.3区域中架设从域名服务器 首先从服务器设臵从主服务器获取ltest.com域的正向和反向区域文件~同时也提供域 名解析 1、安装软件包 [root@localhost RPMS]# rpm -ivh bind-9.2.4-2.i386.rpm warning: bind-9.2.4-2.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing... ########################################### [100%] 1:bind ########################################### [100%] [root@localhost RPMS]# rpm -ivh caching-nameserver-7.3-3.noarch.rpm warning: caching-nameserver-7.3-3.noarch.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing... ########################################### [100%] 1:caching-nameserver warning: /etc/named.conf saved as /etc/named.conf.rpmorig ########################################### [100%] 2、设臵named.conf 在从域名服务器named.conf中添加ltest.com域及其反向解析区域的设臵 ~内容如下 [root@localhost RPMS]# cat /etc/named.conf // // named.conf for Red Hat caching-nameserver // options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com // query-source address * port 53; }; // // a caching only nameserver config // controls { inet 127.0.0.1 allow { localhost; } keys { rndckey; }; }; zone "." IN { type hint; file "named.ca"; }; zone "localdomain" IN { type master; file "localdomain.zone"; allow-update { none; }; }; zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; zone "ltest.com" IN { type slave; 绝对路径为/var/named/chroot/var/named/slaves file "slaves/ltest.com.zone"; masters { 192.168.1.2 ; }; }; zone "1.168.192.in-addr.arpa" IN { type slave; file "slaves/192.168.1.rev"; masters { 192.168.1.2 ; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { type master; file "named.ip6.local"; allow-update { none; }; }; 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com zone "255.in-addr.arpa" IN { type master; file "named.broadcast"; allow-update { none; }; }; zone "0.in-addr.arpa" IN { type master; file "named.zero"; allow-update { none; }; }; include "/etc/rndc.key"; 3、检测配臵文件和启动named服务 [root@localhost RPMS]# named -checkconf [root@localhost RPMS]# service named restart Stopping named: Starting named: [ OK ] [root@localhost RPMS]# ls /var/named/slaves/ 192.168.1.rev ltest.com.zone 在类Unix中可以用Host表~NIS~DNS实现主机名和IP间的转换~NIS由SUN公司开发~将主机表用作NIS主机数据库~所有主机数据保存在中央主机上~由它将数据分配给所有服务器~转换效率低~而DNS是分层的分布式数据库~分布在一个层次结构中的若干台域名服务器上~/etc/hosts通常用作备份 DNS服务器周期性与其他DNS服务器上的各种数据库同步~检查其他服务器上的新表项~域名注册不是瞬间完成~新域名约在3-4天完成传输 结构:根域,13台根域服务器~由InterNIC管理,~ 顶级域,一般是地理域或机构域, 各级子域 反向域,in-addr-arpa,~ 域的委托管理~ DNS区域,Zone,先建立区域~再建立子域~再添加主机记录 DNS服务类型 无论配臵哪种类型的域名服务器都需要配臵一个唯高速缓存服务器 高速缓存服务器:提供的是间接信息~只需要配臵一个高速缓存文件或回送文件 主域名服务器:要有named.conf~named.hosts~named.rev~named.ca~named.local 辅助域名服务器:从主服务器转移一整套域信息named.conf~named.ca~named.local DNS查询:递归 客户机向服务器提出的查询 迭代 DNS服务器之间的查询 LinuxDNS:BIND,伯克利网间域名,~是C/S系统~客户端称为resolver转换程序~负责产生域名信息的查询~BIND服务器端是一个称为Named的守护进程~负责回答转换程序的查询 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 转换控制文件 /etc/host.conf 用来控制本地转换程序配臵的文件 Order hosts bind nis Multi:以Off/On为参数~与host查询一起使用~确定一台主机是否在/etc/hosts文件中制定了多个IP地址 Nospoof on 防止“欺骗IP地址” Alert on/off 骗取IP地址的行为通过syslog记录 Trim 域名 查找名字前首先删除域名~再从/etc/hosts查找匹配 转换程序配臵文件: /etc/resolv.conf Domain Nameserver 指定域名服务器的IP Search 指定域名搜索表 Options rotate 打开客户端轮询查询选项 Nochecknames 禁止检测被查询的域名是否符合RFC952 Inet6 使解析器查询IPV6地址 主配臵文件: Named.conf的配臵语句 Acl 定义IP地址的访问控制清单 Controls 定义rndc命令使用的控制通道 Include 将其他文件包含到本地本配臵文件 Key 定义授权的安全密钥 Logging 定义日志的记录规范 Options 定义全局配臵选项 Server 定义远程服务器的特征 Trusted-keys 定义服务器DNS SEC加密密钥 Zone 定义一个区域 #rpm –qa | grep bind #service named start #pstree | grep named #ntsysv 选中named~每次开机自动加载 #rndc status #named –u named 域名服务器的配臵语法: Named的配臵文件族 主配臵文件: /etc/named.conf 根域名服务器指向文件:/var/named/named.ca 用于高速缓存的初始配臵 Localhost区文件: /var/named/localhost.zone 将localhost转换成127.0.0.1 /var/named/named.local 将127.0.0.1转换成localhost 用户配臵文件: /var/named/name2ip.conf 将主机名映射为IP的区文件 /var/named/ip2name.conf 将IP映射为主机名的区文件 全局配臵语句Options Options ( ? recursion yes|no 是否使用DNS递归式服务器 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 配臵子句, ), ? transfer-format one-answer(是否在一条信息中放入多条应答)|many-answer ? directory “path” 定义服务器区配臵文件的工作目录 /var/named ? forwarders {ip addr} 定义转发器 Zone声明 一条区声明需要说明~域名~服务器类型~域信息源 Zone “zone-name” IN ( Type子句, type master|hint|slave File子句, file ”filename” 一个区域的信息源数据库信息文件名 其他子句, ), 区文件定义一个区的域名信息,域名数据库文件,~由若干资源记录~区文件指令组成 资源记录:每个区文件都是由SOARR~NSRR~正向解析文件包括ARR~MXRR~CName~RR~反向包括PTR~RR RR的格式:[name] [ttl] [IN] type rdata Name 资源记录引用的域对象名,单独的主机或整个域, 取值 〃 说明根域 , 默认域,在文件中使用,ORIGIN domain来说明默认域, 标准域名 以 “(”结束的域名或者是一个相对域名 空 适用于最后一个带有名字的域对象 Ttl 以秒为单位定义该资源中的信息存放在高速缓存中的时间长度~该字段为 空~表示采用SOA中的最小TTL值 IN 将该记录标识为一个Internet DNS资源记录 Type 标识是哪一类资源记录 A 将主机名转换为IP~一个主机只能有一个A记录 CName 主机别名 Hinfo 描述主机信息 MX 邮件交换记录~告诉邮件进程把邮件发送到另一个系统 NS 标识一个域的域名服务器 PTR 将地址转换为域名 SOA 表示一个授权区的开始~SOA记录后的所有信息是控制这个域~每个配 臵文件都必须包含一个SOA记录~以标识服务器所管理的起始地方~ 配臵文件的第一个记录必须是SOA记录 Rdata 指定这个资源记录有关的数据~数据字段的内容取决于类型字段 记录类型 数据 说明 A IP address CNAME canonical-name 别名 Hinfo hardware/os-type 硬件名/OS名称 MX preference-value 优先级别数字,数字越小~级别越高, Mailer-exchanger 邮件服务器名字 NS name-server 域名服务器名字 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com PTR real-name 主机真实域名 SOA hostname 存放本资料的主机名 cantact 管理域的管理员邮件地址 , serial 本区信息文件的版本号 refresh 辅助域名服务器更新数据库时间 retry 辅助域名服务器更新失败~多长时间再试 expire 辅助域名服务器无法从主服务器上更新原数据时何时生效 minimum 若资源记录栏未设臵ttl~以此处时间为准 区文件指令: 简化区文件结构:,INCLUDE 读取一个外部文件并包含它 ,GENERATE 用来创建一组NS~CNAME或PTR类型的RR ,ORIGIN 设臵管辖域 ,TTL 为没有定义精确生存期的RR定义缺省TTL值 查看默认的主配臵文件 #cat /etc/named.conf Options { 定义全局配臵语句 directory “var/named”; 定义服务区配臵文件的工作目录 }; Controls{ Inet 127.0.0.1 allow {localhost;}keys{rndckey;}; }, 定义rndc命令使用的控制通道 Zone “.” IN { Type hint; File “name.ca”; }; Zone “localhost” IN { Type master; File “localhost.zone”; Allow-update{none;}; 定义localhost正向解析区声明 }; Zone “0.0.127.in-addr.arpa” IN{ Type master; File “named.local”; Allow-update{none;}; 定义localhost反向解析区声明 }; Include “/etc/rndc.key”; 包含文件/etc/rndc.key 查看根域指向区文件: #grep –v “;” /var/named/named.ca 提供13个根域服务器指向~用于递归查询 查看本地域正向解析文件: #cat /var/named/localhost.zone 本地域正向解析文件 #cat /var/named/named.local 本地域反向解析文件 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 查看惟高速缓存服务器运行 #rndc dumpdb 导出惟高速缓存服务中缓存的数据 #cat /var/named/name_dump.db 域名服务器的配臵 1、配臵主域名服务器,以jamond.net为域, 在主配臵文件中添加区声明 #vi /etc/named.conf #tail /var/named.conf Zone “jamond.net”{ Typer master; 指定master~即主域名服务器 File “jamond.net.hosts”; }; Zone “1.168.192.in-addr.arpa”{ Type master; File “192.168.1.rev”; }; 2、配臵正向解析数据库文件 #vi /var/named/jamond.net.hosts #cat /var/named/jamond.net.hosts ,ttl 1D , IN SOA shrike.jamond.net. root.shrike.jamond.net.( 1053891162 ; 3H ; 15M ; 1W ; 1D ; ); IN NS shrike.jamond.net. IN MX 5 shrike.jamond.net. Shrike IN A 192.168.1.200 Win01 IN A 192.168.1.77 Win02 IN A 192.168.1.88 WWW IN CNAME shrike.jamond.net. 3、配臵反向解析数据文件 #vi /var/named/192.168.1.rev #cat /var/named/192.168.1.rev ,ttl 1D , IN SOA shrike.jamond.net.root.jamond.net.( 1053892104 ; 1053892104 ; 3H ; 15M ; 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 1W ; 1D ; ); IN NS shrike.jamond.net. 200 IN PTR shrike.jamond.net. 77 IN PTR win01.jamond.net. 88 IN PTR win02.jamond.net. #service named restart #rndc reload 重新加载配臵文件 测试DNS~安装bind-utils-版本号.rpm后~它提供host/dg/nslookup测试工具 修改客户端 /etc/resolv.conf nameserver 192.168.1.200 #cat /etc/resolv.conf 查看DNS客户端配臵 #ifconfig eth0 | grep inet 查看主域名服务器IP #host shrike.jamond.net 正向查询主机地址 #host 192.168.1.200 反向查询主机地址 #host –t NS jamond.net #host –t SOA jamond.net #host –t MX jamond.net #host –l jamond.net 192.168.1.200 列出整个域的信息 #host –a win01.jamond.net 列出与一个主机名相关的资源记录的详细信息 #nslookup >shrike.jamond.net >192.168.1.200 >set all 显示当前设臵的所有数值 >set type=NS 查询jamond.net域的NS资源记录配臵 >jamond >set type=SOA >jamond.net >set type=MX >jamond.net >set type=CNAME >www.jamond.net >set type=any >jamond.net >1.168.192.in-addr.arpa 查询反向域的所有配臵 通过对单个FQDN设臵多个IP实现简单的负载均衡 #vi /var/named/jamond.net.hosts 添加如下两行: Shrike IN A 192.168.1.201 Shrike IN A 192.168.1.202 #vi /var/named/192.168.1.rev 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 添加如下两行: 201 IN A shrike.jamond.net 202 IN A shrike.jamond.net #rndc reload #host shrike.jamond.net 配臵辅助域名服务器:不能在同一台主机上配臵同一个域的主域服务器和辅助域名服务器~只需要对主配臵文件进行配臵~无需配臵区域数据库文件~区域数据库文件将从主域名服务器自动获取 #vi /etc/named.conf Zone “jamond.net”{ Type slave; File “jamond.net.hosts”; Master{192.168.1.200;}; }; Zone “1.168.192.in-addr.arpa”{ Typer slave; File “192.168.1.rev”; Masetr{192.168.1.200;}; }; #server named restart #vi /etc/resolv.conf 添加 nameserver 192.168.1.200 #cat /etc/resolv.conf #ifconfig eth0 | grep inet #host –a jamond.net 配臵域名转发 修改主配臵文件 /etc/named.conf~在options中使用forwarder子句 Options ( Forwarder {202.106.196.115;202.106.0.20;}; ); 区域委派: 配臵对一个子域委派的正向解析过程~在父域的DNS服务器的正向解析文件中执行 1、定义子域 2、命名负责该子域的DNS服务器 3、定义子域的DNS服务器IP地址 域名系统:,Domain Name System,由于主机间传输数据需要知道对方的Ip地址~但IP地址通常不容易 记忆~于是人们开始将容易记忆的主机名称和IP对应并写到文件里,/etc/hosts,~随着计算机的增多~专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 这种通过文件查询IP的效率变的越来越低下~hosts文件的同步更新也变的越来越难~于是出现了域名系统。DNS利用类似于树状目录的方式将主机名的管理分配到不同层次的DNS服务器中~通过分层管理~每台主机记忆的信息不会太多~而且相当容易修改~所以 DNS的主要功能就是将主机名称解析成IP地址。BIND,Berkeley Internet Name Domain,是最常用的实现DNS服务的软件。 FQDN,Fully Qualified Domain Name,~FQDN=HostName + DomainName。 DNS 是由层级之分的~第二层的.tw是Domain Name~而gov、edu、com为Host Name。在第三层.edu.tw为Domain Name~ntu、ncku、nsysu为Host Name。aerosol.ev.ncku.edu.tw便是一个FQDN。 DNS的查询过程 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 这是一个简单的DNS层次架构~最上面的root称为根域~它管理的第二层域一般只有com、edu、gov、mil、org和以国家和地区分类的名称,cn、tw、nk、jp等,~这两层称为顶级域,TLDs,。 每个上层的DNS主机所记录的信息其实只有其下层的主机名称~至于下下层的主机记录则直接授权给下层主机管理。 当你在浏览器输入时: 计算机首先查询本地是否缓存了此主机的IP地址~/etc/hosts文件里是否由此主机与IP的对应~如果都没有则会执行第二步。 计算机会依据设臵,/etc/resolv.conf,所提供的IP去查询DNS Server。 DNS Server首先查看自己是否缓存了aerosol.ev.ncku.edu.tw主机的IP地址~如果没有则向root查询。 root主机只知道tw主机的IP~告诉DNS Server去tw主机查询。 DNS Server到tw主机查询~tw只知道edu.tw的IP地址~告诉DNS Server去edu.tw主机查询。 DNS Server到edu.tw主机查询~edu.tw主机只知道ncku.edu.tw主机的IP~告诉DNS Server去ncku.edu.tw主机查询。 DNS Server到ncku.edu.tw主机查询~ncku.edu.tw主机只知道ev.ncku.edu.tw主机的IP地址~告诉DNS Server去ev.ncku.edu.tw主机查询。 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com ev.ncku.edu.tw主机上有aerosol.ev.ncku.edu.tw主机的记录~将IP告诉DNS Server~DNS Server 缓存此主机记录。 DNS Server将此IP告诉Client~Client通过此Ip去访问此主机。 由此可知只要你的DNS是由上级DNS授权的~你的DNS就能够被查询到。DNS的修改不会立即在Internet上生效~因为别人的DNS可能缓存了你主机的记录~当TTL过期后方可生效。 DNS查询时先使用UDP这个较快的传输来查询数据~一旦没有办法得到完整的数据时~再次以TCP协议重新查询~所以DNS会同时启动TCP和UDP的53端口。 正向解析:由主机名称查询IP地址。 反向解析:由IP地址查询主机名称。 Domain,域,:域是一个管辖范围。域下面可以由子域。子域可以授权给其他主机进行管理。 Zone:一个域的配臵文件就是一个Zone。 每一个域都有一个配臵文件~此配臵文件名称在/etc/named.conf中定义。 如tech.net这个域的DNS配臵文件必须有: , Hinet,root,的设臵。 , tech.net这个域的正向解析文件 , localhost的正向解析文件 , localhost的反向解析文件 tech.net这个域的反向解析文件可有可无。Zone的配臵文件记录了主机名称与IP的对应。 DNS服务器架设准备 1.安装所需要的软件 [root@client ~]# rpm -qa |grep bind bind-libs-9.3.3-10.el5 ypbind-1.19-8.el5 bind-utils-9.3.3-10.el5 bind-chroot-9.3.3-10.el5 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com bind-9.3.3-10.el5 bind -chroot:早期的BIND默认将程序启动在/var/named中~但是该程序可以在根目录到处转移~因此若BIND程序有问题~则该程序可能造成整个系统的危害。为了避免这个问题~所以我们将某个目录设定为BIND的根目录~由于是根目录所以BIND不能离开该目录。如果程序被攻击~最坏是破坏该目录的文件~CentOS默认将BIND锁定在/var/named/chroot。 2.BIND的配臵文件: , /etc/named.conf:主要规范主机的设臵~Zone File的所在~权限的设臵等。 , /etc/sysconfig/named:由该文件控制是否启动chroot及额外参数。 , /var/named/:数据库文件,zone文件,默认放在在此目录中。 , /var/run/named/:named执行时默认将pid-file放在此目录中。 3.查看chroot所指定的目录: [root@client ~]# cat /etc/sysconfig/named ROOTDIR=/var/named/chroot 4.BIND的目录结构: 注意目录的权限设臵。 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 单纯的Forward DNS主机设臵,Cache-Only, 这种类型的DNS主机没有自己的数据库~仅用于帮助客户端向外部DNS主机请求数据~就像一个代理~通常设臵在防火墙上。 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 由上图可知Cache-Only DNS主机需要知道root服务器的地址~所以Cache-Only的DNS必须有root的Zone 文件。而Forwarding DNS不需要~只需要指定查询的DNS即可。 , Forwarding DNS Server设臵 , 查看named.conf配臵文件。 [root@client etc]# cat /var/named/chroot/etc/named.conf options { /* make named use port 53 for the source of all queries, to allow * firewalls to block all ports except 53: */ 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com query-source port 53; query-source-v6 port 53; // Put files that named is allowed to write in the data/ directory: directory "/var/named"; // the default dump-file "data/cache_dump.db"; statistics-file "data/named_stats.txt"; memstatistics-file "data/named_mem_stats.txt"; forward only; //设臵仅转发 Forwarders { 192.168.0.1; //设臵转发到哪台DNS去查询数据 }; //注意不要丢掉后面的分号,,, }; logging { /* If you want to enable debugging, eg. using the 'rndc trace' command, * named will try to write the 'named.run' file in the $directory (/var/named). * By default, SELinux policy does not allow named to modify the /var/named directory, * so put the default debug log file in data/ : */ channel default_debug { file "data/named.run"; severity dynamic; }; }; , 查看程序启动端口 [root@client etc]# netstat -tunlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com name tcp 0 0 192.168.0.200:53 0.0.0.0:* LISTEN 9211/named tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 9211/named tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 9211/named tcp 0 0 ::1:953 :::* LISTEN 9211/named udp 0 0 0.0.0.0:53 0.0.0.0:* 9211/named udp 0 0 192.168.0.200:53 0.0.0.0:* 9211/named , 查看启动日志 [root@client etc]# tail /var/log/messages May 8 11:10:21 client named[9211]: starting BIND 9.3.3rc2 -u named -t /var/named/chroot May 8 11:10:21 client named[9211]: found 1 CPU, using 1 worker thread May 8 11:10:21 client named[9211]: loading configuration from '/etc/named.conf' May 8 11:10:21 client named[9211]: listening on IPv4 interface lo, 127.0.0.1#53 May 8 11:10:21 client named[9211]: listening on IPv4 interface eth0, 192.168.0.200#53 May 8 11:10:21 client named[9211]: command channel listening on 127.0.0.1#953 May 8 11:10:21 client named[9211]: command channel listening on ::1#953 May 8 11:10:21 client named[9211]: running , 将DNS指向刚设臵的DNS服务器 [root@client etc]# cat /etc/resolv.conf nameserver 192.168.0.200 , 测试能够解析google的域名 [root@client etc]# ping www.google.com 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com PING www-china.l.google.com (64.233.189.99) 56(84) bytes of data. 64 bytes from hk-in-f99.google.com (64.233.189.99): icmp_seq=1 ttl=244 time=117 ms Master/Slave架构的DNS设臵 Master:这种类型的DNS本身还有域名的配臵文件~这些配臵文件就是设臵正向解析和反向解析的数据库。 Slave:本身并没有域名的配臵文件~需与Master相配合~定时从Master取得数据文件更新。当需要修改域的配臵文件时只需要修改Master,记得将serial 序列号+1,~然后重启BIND~Master便会通知Slave来更新数据。 Slave的更新过程: , 判断是否需要更新,1.1,:可以在Slave上设臵定时到Master去更新数据~Slave会向Master询 问是否需要更新~通过比对 SerialNumber是否不同~当Master的SerialNumber大于slave的 SerialNumber时Slave会更新它的数据库。 , Master如果确认数据库以变更可以主动向Slave发送更新通知,1.2,。 , 数据同步,2,:Master传送数据库到Slave Master DNS Server设臵: 1.安装bind软件: [root@linux ~]# yum -y install bind-chroot [root@linux ~]# yum -y install bind [root@linux ~]# rpm -qa |grep bind bind-libs-9.3.3-10.el5 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com ypbind-1.19-8.el5 bind-utils-9.3.3-10.el5 bind-9.3.3-10.el5 bind-chroot-9.3.3-10.el5 2.配臵/var/named/chroot/etc/named.conf,/etc/named.conf,配臵文件 # 可以参考/usr/share/doc/bind-9.3.3/sample/etc/下面的配臵文件,named.conf,和/usr/share/doc/bind-9.3.3/sample/var/named/下面的zone文件 [root@linux ~]# cp /usr/share/doc/bind-9.3.3/sample/etc/named.root.hints /var/named/chroot/etc/ [root@linux ~]# ls /var/named/chroot/etc/ localtime named.conf named.root.hints rndc.key [root@linux ~]# cat /var/named/chroot/etc/named.conf options { /* make named use port 53 for the source of all queries, to allow * firewalls to block all ports except 53: */ query-source port 53; query-source-v6 port 53; // Put files that named is allowed to write in the data/ directory: directory "/var/named"; // the default dump-file "data/cache_dump.db"; statistics-file "data/named_stats.txt"; memstatistics-file "data/named_mem_stats.txt"; forwarders{192.168.0.1;}; //指定DNS转发服务器 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com allow-query{any;}; //是否允许查询,允许所有主机查询 allow-transfer{192.168.0.30;}; //是否允许传送zone文件,只允许传送到Slave,192.168.0.30, }; logging { /* If you want to enable debugging, eg. using the 'rndc trace' command, * named will try to write the 'named.run' file in the $directory (/var/named). * By default, SELinux policy does not allow named to modify the /var/named directory, * so put the default debug log file in data/ : */ channel default_debug { file "data/named.run"; severity dynamic; }; }; include "/etc/named.root.hints"; //包含根域的zone文件 zone "localhost" //定义localhost域的zone文件名 { type master; file "named.localhost"; }; zone "0.0.127.in-addr.arpa" //定义127.0.0的反向解析文件 { 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com type master; file "named.127.0.0"; }; zone "tech.net" //定义tech.net域的zone文件名 { type master; file "named.tech.net"; }; zone "0.168.192.in-addr.arpa" //定义192.168.0的反向解析文件 { type master; file "named.192.168.0"; }; 3.配臵zone文件 , 查看/var/named/chroot/var/named/下的zone文件 [root@linux ~]# cp /usr/share/doc/bind-9.3.3/sample/var/named/named.root /var/named/chroot/var/named/ [root@linux ~]# cp /usr/share/doc/bind-9.3.3/sample/var/named/named.local /var/named/chroot/var/named/named.127.0.0 [root@linux ~]# cp /usr/share/doc/bind-9.3.3/sample/var/named/localhost.zone /var/named/chroot/var/named/named.localhost # 注意修改named.127.0.0和named.localhost的序列号 , 修改/var/named/chroot/var/named/目录文件及目录属性 [root@slave ~]# chown -R root.named /var/named/chroot/var/named/ [root@slave ~]# chown -R named.named /var/named/chroot/var/named/data [root@slave ~]# chown -R named.named /var/named/chroot/var/named/slaves 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com [root@linux ~]# ls /var/named/chroot/var/named/ data named.127.0.0 named.192.168.0 named.localhost named.root named.tech.net slaves , localhost的解析文件 [root@linux ~]# cat /var/named/chroot/var/named/named.localhost $TTL 86400 ,定义TTL值 @ IN SOA @ root ( ,@代表zone的意思~在本例中代表localhost,SOA起始授权~代表Master/Slave相关的认证授权资料~SOA带有三个参数“[zone] IN SOA [主机名] [管理员E,mail],serial refresh retry expire ttl,“,此处的root是个缩写~它是一个e-mail地址~代表root.localhost.=root@localhost. 。因为此处的@有特殊含意,代表域名,~所以此处用.代表@ 。域名后面的点代表此域名是一个完整的主机名,FQDN,~如果没有点会在后面默认加上域名。 2008050801 ; serial 序列号~更新数据后应该同步修改~给序列号,1 3H ; refresh Slave服务器的更新时间间隔 15M ; retry 当Slave更新失败~多久再重新试一次 1W ; expiry 重复retry多少次后宣告失败~不再更试 1D ) ; minimum 可以视为TTL~尤其是你未设臵$TTL时 ,,zone,IN NS,主机名,NS后面一定是主机名~代表的意思是请向后面这台主机查询zone的信息 IN NS @ IN A 127.0.0.1 IN AAAA ::1 , 127.0.0的反向解析文件 [root@linux ~]# cat /var/named/chroot/var/named/named.127.0.0 $TTL 86400 @ IN SOA localhost. root.localhost. ( ,root.localhost.=root@localhost. 。因为此处的@有特殊含意,代表域名,~所以此处用.代表@ 。域名后面的点代表此域名是一个完整的主机名,FQDN,~如果没有点会在后面默认加上域名。 2008050801 ; Serial 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS localhost. 1 IN PTR localhost. ,这是一条反向解析记录,PTR, , tech.net的解析文件 [root@linux ~]# cat /var/named/chroot/var/named/named.tech.net $TTL 600 ,设臵TTL为600s @ IN SOA linux.tech.net. istone.linux.tech.net. (2008050801 28800 14400 720000 86400) ,istone.linux.tech.net.,istone@liunx.tech.net. @ IN NS linux.tech.net. @ IN NS slave.tech.net. linux IN A 192.168.0.20 slave IN A 192.168.0.30 @ IN MX 10 linux ,MX为Mail Exchanger的缩写~参数为“[hostname] IN MX [顺序/优先级] [主机名称]”~MX记录与Mail Server相关~如果没有Mail Server则可以省。MX后面接的数值越小优先级越高~后面的主机名称必须有A记录。如不知道怎么设臵可直接设臵成Mail Server主机。 ;[hostname] IN [type] [IP/name/text] www IN CNAME linux ;www.tech.net的别名为linux.tech.net ftp IN CNAME linux istone-desktop IN A 192.168.0.103 istone-desktop IN TXT "The Ubuntu OS" ;TXT记录是一个说明 istone-desktop IN HINFO "Intel(R) Core(TM)2 CPU 6320 @ 1.86GHz""Ubuntu 8.04(Hardy Heron)" ,HINFO后接两个参数~第一个硬件等级~第二个为操作系统 , 192.168.0的反向解析文件 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com [root@linux ~]# cat /var/named/chroot/var/named/named.192.168.0 $TTL 86400 @ IN SOA localhost. root.localhost. ( 2008050801 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS linux.tech.net. 20 IN PTR linux.tech.net. 30 IN PTR slave.tech.net. 4.启动DNS Server [root@linux named]# /etc/init.d/named start 启动 named: [确定] 5.查看启动情况 [root@linux named]# netstat -tunlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.0.20:53 0.0.0.0:* LISTEN 3959/named tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3959/named tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 3959/named udp 0 0 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 0.0.0.0:53 0.0.0.0:* 3959/named udp 0 0 192.168.0.20:53 0.0.0.0:* 3959/named udp 0 0 127.0.0.1:53 0.0.0.0:* 3959/named udp 0 0 :::53 :::* 3959/named [root@linux named]# tail -n 20 /var/log/messages May 8 01:59:57 linux named[3959]: starting BIND 9.3.3rc2 -u named -t /var/named/chroot May 8 01:59:57 linux named[3959]: found 1 CPU, using 1 worker thread May 8 01:59:57 linux named[3959]: loading configuration from '/etc/named.conf' May 8 01:59:57 linux named[3959]: listening on IPv4 interface lo, 127.0.0.1#53 May 8 01:59:57 linux named[3959]: listening on IPv4 interface eth0, 192.168.0.20#53 May 8 01:59:57 linux named[3959]: command channel listening on 127.0.0.1#953 May 8 01:59:57 linux named[3959]: command channel listening on ::1#953 May 8 01:59:57 linux named[3959]: zone 0.0.127.in-addr.arpa/IN: loaded serial 2008050801 May 8 01:59:57 linux named[3959]: zone 0.168.192.in-addr.arpa/IN: loaded serial 2008050801 May 8 01:59:57 linux named[3959]: zone localhost/IN: loaded serial 2008050801 May 8 01:59:57 linux named[3959]: zone tech.net/IN: loaded serial 2008050801 May 8 01:59:57 linux named[3959]: running May 8 01:59:57 linux named[3959]: zone tech.net/IN: sending notifies (serial 2008050801) May 8 01:59:57 linux named[3959]: zone 0.168.192.in-addr.arpa/IN: sending notifies (serial 2008050801) May 8 01:59:57 linux named[3959]: client 192.168.0.20#32770: received notify for zone '0.168.192.in-addr.arpa' 6.使用nslookup工具进行验证 [root@linux named]# nslookup www.tech.net 192.168.0.20 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com Server: 192.168.0.20 Address: 192.168.0.20#53 www.tech.net canonical name = linux.tech.net. Name: linux.tech.net Address: 192.168.0.20 [root@linux named]# nslookup istone-desktop.tech.net 192.168.0.20Server: 192.168.0.20 Address: 192.168.0.20#53 Name: istone-desktop.tech.net Address: 192.168.0.103 Slave DNS Server设臵: 1.安装bind软件: [root@slave ~]# yum -y install bind-chroot [root@slave ~]# yum -y install bind 2.配臵/var/named/chroot/etc/named.conf配臵文件 [root@slave ~]# cat /var/named/chroot/etc/named.conf options { /* make named use port 53 for the source of all queries, to allow * firewalls to block all ports except 53: */ query-source port 53; query-source-v6 port 53; // Put files that named is allowed to write in the data/ directory: directory "/var/named"; // the default dump-file "data/cache_dump.db"; statistics-file "data/named_stats.txt"; 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com memstatistics-file "data/named_mem_stats.txt"; forwarders{192.168.0.1;}; allow-query{any;}; }; logging { /* If you want to enable debugging, eg. using the 'rndc trace' command, * named will try to write the 'named.run' file in the $directory (/var/named). * By default, SELinux policy does not allow named to modify the /var/named directory, * so put the default debug log file in data/ : */ channel default_debug { file "data/named.run"; severity dynamic; }; }; include "/etc/named.root.hints"; zone "localhost" { type master; file "named.localhost"; }; zone "0.0.127.in-addr.arpa" { type master; file "named.127.0.0"; 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com }; zone "tech.net" { type slave; file "slaves/named.tech.net"; masters{192.168.0.20;}; }; zone "0.168.192.in-addr.arpa" { type slave; file "slaves/named.192.168.0"; masters{192.168.0.20;}; }; 2.创建zone文件 [root@slave ~]# cp /usr/share/doc/bind-9.3.3/sample/var/named/named.root /var/named/chroot/var/named/ [root@slave ~]# cp /usr/share/doc/bind-9.3.3/sample/var/named/named.local /var/named/chroot/var/named/named.127.0.0 [root@slave ~]# cp /usr/share/doc/bind-9.3.3/sample/var/named/localhost.zone /var/named/chroot/var/named/named.localhost # 注意修改named.127.0.0和named.localhost的序列号 , 修改/var/named/chroot/var/named/目录文件及目录属性 [root@slave ~]# chown -R root.named /var/named/chroot/var/named/ [root@slave ~]# chown -R named.named /var/named/chroot/var/named/data [root@slave ~]# chown -R named.named /var/named/chroot/var/named/slaves , Slave不需要创建named.tech.net和named.192.168.0 zone文件~他们是从Master上传送过来的。 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 3.启动DNS服务 [root@slave var]# /etc/init.d/named start 停止 named: [确定] 启动 named: [确定] 4.查看启动情况 [root@slave named]# netstat -tunlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.0.30:53 0.0.0.0:* LISTEN 4126/named tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 4126/named tcp 0 0 ::1:953 :::* LISTEN 4126/named udp 0 0 0.0.0.0:53 0.0.0.0:* 4126/named udp 0 0 192.168.0.30:53 0.0.0.0:* 4126/named udp 0 0 127.0.0.1:53 0.0.0.0:* 4126/named udp 0 0 :::53 :::* 4126/named , 注意一定要看看启动日志~可能会因为目录权限问题导致传送zone文件失败 [root@slave var]# tail -n 20 /var/log/messages May 8 03:56:38 slave named[4126]: starting BIND 9.3.3rc2 -u named -t /var/named/chroot May 8 03:56:38 slave named[4126]: found 1 CPU, using 1 worker thread 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com May 8 03:56:38 slave named[4126]: loading configuration from '/etc/named.conf' May 8 03:56:38 slave named[4126]: listening on IPv4 interface lo, 127.0.0.1#53 May 8 03:56:38 slave named[4126]: listening on IPv4 interface eth0, 192.168.0.30#53 May 8 03:56:38 slave named[4126]: command channel listening on ::1#953 May 8 03:56:38 slave named[4126]: zone 0.0.127.in-addr.arpa/IN: loaded serial 2008050801 May 8 03:56:38 slave named[4126]: zone 0.168.192.in-addr.arpa/IN: loaded serial 2008050801 May 8 03:56:38 slave named[4126]: zone localhost/IN: loaded serial 2008050801 May 8 03:56:38 slave named[4126]: zone tech.net/IN: loaded serial 2008050801 May 8 03:56:38 slave named[4126]: running May 8 03:56:38 slave named[4126]: zone tech.net/IN: sending notifies (serial 2008050801) May 8 03:56:38 slave named[4126]: zone 0.168.192.in-addr.arpa/IN: sending notifies (serial 2008050801) May 8 03:56:38 slave named[4126]: client 192.168.0.30#32770: received notify for zone 'tech.net' May 8 03:56:38 slave named[4126]: zone tech.net/IN: refused notify from non-master: 192.168.0.30#32770 [root@slave var]# cd named/slaves/ [root@slave slaves]# ls named.192.168.0 named.tech.net 5.使用nslookup工具进行验证 [root@slave named]# nslookup www.tech.net 192.168.0.30 Server: 192.168.0.30 Address: 192.168.0.30#53 www.tech.net canonical name = linux.tech.net. Name: linux.tech.net Address: 192.168.0.20 [root@slave named]# nslookup www.google.com 192.168.0.30 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com Server: 192.168.0.30 Address: 192.168.0.30#53 Non-authoritative answer: //使用转发功能获得google.com的IP www.google.com canonical name = www.l.google.com. www.l.google.com canonical name = www-china.l.google.com. Name: www-china.l.google.com Address: 64.233.189.99 Name: www-china.l.google.com Address: 64.233.189.104 利用RNDC指令管理DNS服务器 rndc命令用来管理DNS服务器~它使用named的953端口。 1.建立rndc key相关数据 [root@linux etc]# rndc-confgen # Start of rndc.conf key "rndckey" { algorithm hmac-md5; secret "kKRpI4aG4STupzjJST2UMA=="; }; options { default-key "rndckey"; default-server 127.0.0.1; default-port 953; }; # End of rndc.conf # 将上面部分粘贴到/etc/rndc.conf # Use with the following in named.conf, adjusting the allow list as needed: 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com # key "rndckey" { # algorithm hmac-md5; # secret "kKRpI4aG4STupzjJST2UMA=="; # }; # # controls { # inet 127.0.0.1 port 953 # allow { 127.0.0.1; } keys { "rndckey"; }; # }; # End of named.conf # 将上面加红部分去掉注释后粘贴到/var/named/chroot/etc/named.conf 2.建立rndc.conf文件 [root@linux etc]# vi rndc.conf , 将原来数据全部删除~加入上面新生成的数据 # Start of rndc.conf key "rndckey" { algorithm hmac-md5; secret "kKRpI4aG4STupzjJST2UMA=="; }; options { default-key "rndckey"; default-server 127.0.0.1; default-port 953; }; # End of rndc.conf , 为rndc.conf设臵好权限 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com [root@linux etc]# chmod 640 /etc/rndc.conf [root@linux etc]# chown root.named /etc/rndc.conf 3.修改named.conf , 如果配臵文件中有下列行: include "/etc/rcdc.key"; ,先将其删除~再加入下面行: key "rndckey" { algorithm hmac-md5; secret "kKRpI4aG4STupzjJST2UMA=="; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndckey"; }; }; 4.重启DNS服务 [root@linux etc]# /etc/init.d/named start 启动 named: [确定] 5.rndc命令 [root@linux etc]# rndc Usage: rndc [-c config] [-s server] [-p port] [-k key-file ] [-y key] [-V] command command is one of the following: reload Reload configuration file and zones. reload zone [class [view]] Reload a single zone. refresh zone [class [view]] Schedule immediate maintenance for a zone. retransfer zone [class [view]] Retransfer a single zone without checking serial number. 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com freeze zone [class [view]] Suspend updates to a dynamic zone. thaw zone [class [view]] Enable updates to a frozen dynamic zone and reload it. reconfig Reload configuration file and new zones only. stats Write server statistics to the statistics file. querylog Toggle query logging. dumpdb [-all|-cache|-zones] [view ...] Dump cache(s) to the dump file (named_dump.db). stop Save pending updates to master files and stop the server. stop -p Save pending updates to master files and stop the server reporting process id. halt Stop the server without saving pending updates. halt -p Stop the server without saving pending updates reporting process id. trace Increment debugging level by one. trace level Change the debugging level. notrace Set debugging level to 0. flush Flushes all of the server's caches. flush [view] Flushes the server's cache for a view. flushname name [view] Flush the given name from the server's cache(s) status Display status of the server. recursing Dump the queries that are currently recursing (named.recursing) *restart Restart the server. , 显示目前服务器状态 [root@linux etc]# rndc status number of zones: 4 客户端设臵 相关配臵文件 , /etc/hosts 主机与IP的对应文件 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com , /etc/resolv.conf 设臵nameserver的IP地址 , /etc/nsswitch.conf 此文件设臵决定是先在Hosts文件中查询还是使用NameServer~默认先在Host 中查询 DNS的查询命令:host~nslookup~dig 1.host , 列出与主机相关的所有信息 # host -a [FQDN] [DNSServer] [root@linux etc]# host -a www.tech.net 192.168.0.20 Trying "www.tech.net" Using domain server: Name: 192.168.0.20 Address: 192.168.0.20#53 Aliases: ;; ->>HEADER server 192.168.0.20 , 设臵DNS Server Default server: 192.168.0.20 Address: 192.168.0.20#53 > set type=any , 设臵记录类型为所有 > linux.tech.net Server: 192.168.0.20 Address: 192.168.0.20#53 Name: linux.tech.net Address: 192.168.0.20 > 192.168.0.30 # 反向解析 Server: 192.168.0.20 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com Address: 192.168.0.20#53 30.0.168.192.in-addr.arpa name = slave.tech.net. > istone-desktop.tech.net Server: 192.168.0.20 Address: 192.168.0.20#53 Name: istone-desktop.tech.net Address: 192.168.0.103 istone-desktop.tech.net text = "The Ubuntu OS" istone-desktop.tech.net hinfo = "Intel(R) Core(TM)2 CPU 6320 @ 1.86GHz" "Ubuntu 8.04(Hardy Heron)" > set type=a , 设臵记录类型为A记录 > istone-desktop.tech.net Server: 192.168.0.20 Address: 192.168.0.20#53 Name: istone-desktop.tech.net Address: 192.168.0.103 > exit 3.dig [@Server] [FQDN] [type] [root@linux etc]# dig @192.168.0.20 istone-desktop.tech.net ; > DiG 9.3.3rc2 > @192.168.0.20 istone-desktop.tech.net ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER ;istone-desktop.tech.net. IN A # 默认只查询A记录 ;; ANSWER SECTION: 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com istone-desktop.tech.net. 600 IN A 192.168.0.103 ;; AUTHORITY SECTION: tech.net. 600 IN NS linux.tech.net. tech.net. 600 IN NS slave.tech.net. ;; ADDITIONAL SECTION: linux.tech.net. 600 IN A 192.168.0.20 slave.tech.net. 600 IN A 192.168.0.30 ;; Query time: 2 msec ;; SERVER: 192.168.0.20#53(192.168.0.20) ;; WHEN: Thu May 8 06:07:26 2008 ;; MSG SIZE rcvd: 129 , 查询MX记录 [root@linux etc]# dig @192.168.0.20 tech.net mx ; > DiG 9.3.3rc2 > @192.168.0.20 tech.net mx ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADERMX ;; ANSWER SECTION: tech.net. 600 IN MX 10 linux.tech.net. ;; AUTHORITY SECTION: tech.net. 600 IN NS slave.tech.net. tech.net. 600 IN NS linux.tech.net. ;; ADDITIONAL SECTION: linux.tech.net. 600 IN A 192.168.0.20 slave.tech.net. 600 IN A 192.168.0.30 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com ;; Query time: 6 msec ;; SERVER: 192.168.0.20#53(192.168.0.20) ;; WHEN: Thu May 8 06:17:19 2008 ;; MSG SIZE rcvd: 114 4.whois查询最初注册这个Domain的信息 # whois [Domain] [root@linux etc]# whois somode.com [Querying whois.verisign-grs.com] [whois.verisign-grs.com] Whois Server Version 2.0 Domain names in the .com and .net domains can now be registered with many different competing registrars. Go to for detailed information. Domain Name: SOMODE.COM Registrar: WEB COMMERCE COMMUNICATIONS LIMITED DBA WEBNIC.CC Whois Server: whois.webnic.cc Referral URL: Name Server: DNS1.SOMODE.COM Name Server: DNS2.SOMODE.COM Status: clientDeleteProhibited Status: clientTransferProhibited Status: clientUpdateProhibited Updated Date: 14-apr-2008 Creation Date: 14-apr-2006 Expiration Date: 14-apr-2009 DNS服务器进阶架设根据来源IP返回不同结果的DNS服务器 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com BIND9引入了一项被称为视图,view,的新功能~该功能可以根据不同的来源IP返回不同的结果。 view的语法: view "view_name" { match-clients { 192.168.0.0/24; }; //允许访问此视图的客户端列表~只有IP地址与此列表匹配才能看到此视图内指定的配臵~如果有多个view匹配~则使用第一个匹配的view。 recursion no; //是否允许递归查询 zone "domain" //定义区域文件 { type master; file "named.domain"; allow-transfer { 192.168.0.30; }; //允许传送的IP,一般为Slave DNS Server, }; }; 下面是一个假设的实例: Master DNS Server:192.168.0.20 Slave DNS Server :eth0 192.168.0.30 eth0:0 192.168.0.40 Master DNS Server目录及权限: 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com Slave DNS Server目录及权限: 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com Master DNS Server named.conf配臵文件: [root@linux ~]# cat /var/named/chroot/etc/named.conf options { /* make named use port 53 for the source of all queries, to allow * firewalls to block all ports except 53: 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com */ query-source port 53; query-source-v6 port 53; // Put files that named is allowed to write in the data/ directory: directory "/var/named"; // the default dump-file "data/cache_dump.db"; statistics-file "data/named_stats.txt"; memstatistics-file "data/named_mem_stats.txt"; }; logging { /* If you want to enable debugging, eg. using the 'rndc trace' command, * named will try to write the 'named.run' file in the $directory (/var/named). * By default, SELinux policy does not allow named to modify the /var/named directory, * so put the default debug log file in data/ : */ channel default_debug { file "data/named.run"; severity dynamic; }; }; key "rndckey" { algorithm hmac-md5; secret "kKRpI4aG4STupzjJST2UMA=="; }; 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndckey"; }; }; // 解析localhost域~只匹配127.0.0.1 // 本视图里面用到的文件可以参考复制/usr/share/doc/bind-9.3.3/sample/下的实例文件 view "localhost_resolver" { /* This view sets up named to be a localhost resolver ( caching only nameserver ). * If all you want is a caching-only nameserver, then you need only define this view: */ match-clients { localhost; }; match-destinations { localhost; }; recursion yes; # all views must contain the root hints zone: include "/etc/named.root.hints"; /* these are zones that contain definitions for all the localhost * names and addresses, as recommended in RFC1912 - these names should * ONLY be served to localhost clients: */ include "/etc/named.rfc1912.zones"; }; include "/etc/acl.conf"; view "CNC" { match-clients { !192.168.0.40;CNC; }; // 过滤Slave DNS Server的eth0:0口的查询~ 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com 允许CNC这个acl里面的地址查询这个view recursion no; // all views must contain the root hints zone: include "/etc/named.root.hints"; zone "tech.net" { type master; file "cnc.tech.net"; allow-transfer{192.168.0.30;}; }; }; view "other" { match-clients { any; }; recursion no; // all views must contain the root hints zone: include "/etc/named.root.hints"; zone "tech.net" { type master; file "tel.tech.net"; allow-transfer{192.168.0.40;}; }; }; [root@linux ~]# cat /var/named/chroot/etc/acl.conf acl "CNC" 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com { 192.168.0.0/24; // 实际情况下~在此可以加入网通的地址 }; Slave DNS Server named.conf配臵文件: [root@slave ~]# cat /var/named/chroot/etc/named.conf options { /* make named use port 53 for the source of all queries, to allow * firewalls to block all ports except 53: */ query-source port 53; query-source-v6 port 53; // Put files that named is allowed to write in the data/ directory: directory "/var/named"; // the default dump-file "data/cache_dump.db"; statistics-file "data/named_stats.txt"; memstatistics-file "data/named_mem_stats.txt"; }; logging { /* If you want to enable debugging, eg. using the 'rndc trace' command, * named will try to write the 'named.run' file in the $directory (/var/named). * By default, SELinux policy does not allow named to modify the /var/named directory, * so put the default debug log file in data/ : */ channel default_debug { 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com file "data/named.run"; severity dynamic; }; }; key "rndckey" { algorithm hmac-md5; secret "kKRpI4aG4STupzjJST2UMA=="; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndckey"; }; }; // 解析localhost域~只匹配127.0.0.1 // 本视图里面用到的文件可以参考复制/usr/share/doc/bind-9.3.3/sample/下的实例文件 view "localhost_resolver" { /* This view sets up named to be a localhost resolver ( caching only nameserver ). * If all you want is a caching-only nameserver, then you need only define this view: */ match-clients { localhost; }; match-destinations { localhost; }; recursion yes; # all views must contain the root hints zone: include "/etc/named.root.hints"; /* these are zones that contain definitions for all the localhost 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com * names and addresses, as recommended in RFC1912 - these names should * ONLY be served to localhost clients: */ include "/etc/named.rfc1912.zones"; }; include "/etc/acl.conf"; view "CNC" { match-clients { !192.168.0.40;CNC; }; recursion no; // all views must contain the root hints zone: include "/etc/named.root.hints"; zone "tech.net" { type slave; masters { 192.168.0.20; }; transfer-source 192.168.0.30; // 去匹配主DNS上CNC这个view~传输cnc.tech.net这个 zone文件 file "slaves/cnc.tech.net"; allow-transfer { none; }; }; }; view "other" { match-clients { any; }; recursion no; 专业和专注企业服务器应用www.591cto.com 网络技术应用网www.591cto.com // all views must contain the root hints zone: include "/etc/named.root.hints"; zone "tech.net" { type slave; masters { 192.168.0.20; }; transfer-source 192.168.0.40; // 去匹配主DNS上other这个view~这样tel.tech.net 的zone文件才能顺利传输过来~这就是为什么在主DNS的CNC view中明确禁止192.168.0.40这个IP的地址的原因。 file "slaves/tel.tech.net"; allow-transfer{ none; }; }; }; 专业和专注企业服务器应用www.591cto.com
/
本文档为【Linux网络配置-DNS】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索