zoukankan      html  css  js  c++  java
  • 简易版ubtuntu下架设dns服务器

    原文地址:http://news.2ky.cn/Linux/5783.htm

    在网上找过不少dns的文章、不是太麻烦就是错洞百出、这个文章不错、通过了验证而且也狠简明易用

    DNS(域名服务器)的作用是把域名转换成IP地址,或反过来。更详细的信息:维基百科。

    此实验,将在局域网的一台主机上用Bind9搭建DNS服务器,提供域名解析服务。另有两台HTTP服务器,设定域名为www.my.com和abc.my.com(随便取一个域名)。网络结构图:

    4210959320_28e964dfa9

     上图中两台服务器Server0和Server1是在VirtualBox下虚拟的,网卡类型用桥接,怎么安装请见这里。根据我的实际情况,宿主系统(WinXP)ip地址是192.168.1.99,Server0是 192.168.1.98,Server2是192.168.1.97,网关(路由)是192.168.1.1,接电信ISP。

    Server0 上安装HTTP服务器和DNS服务器,Server1上安装HTTP服务器。上面的网络搭建好之后,三台机器之间能够互ping得通。

    先为两台服务器安装HTTP服务器,如果在安装Ubuntu已选择安装LAMP,则跳过这步。否则,执行sudo apt-get install nginx安装nginx,它是一个小巧的HTTP 服务器,安装完它会自动启动,在浏览器测试一下http://192.168.1.97,看到"Welcome to nginx!"即成功。

    实验目的是使得三台电脑都能用www.my.com访问server0,abc.my.com访问server1.

    安装Bind9:

       sudo apt-get install bind9 dnsutils bind9-doc

    其中只需bind9就可,后面两个是dns的测试工具和bind9的文档,hiweed推荐。

    DNS记录类型请看维基百科,常用有A记录、CNAME记录、MX记录和NS记录。

    转发配置:是当本地的DNS服务器在本地数据文件里找不到对应网站后,移交给下一步查询的DNS服务器(递推)。编辑/etc/bind/named.conf.options文件,取消 forwarders{}的注释,在{}加入8.8.8.8; 这是Google的DNS服务器。

    Zone概念:zone即域的意思,像g.cn、 twitter.com这样的形式就是域,www.g.cn,ditu.g.cn这些就是子域。Bind9的配置文件中,一个域用一个文件来存放,在文件中指明每个子域对应的IP地址。

    主DNS服务器配置:编辑/etc/bind/named.conf.local文件,添加域my.com:

       zone "my.com"{
             type master;
             file "db.my.com";
       };

    注意别漏了分号,type指定这台DNS服务器为主服务器,file指定该域的解析文件,默认路径在/etc/var/cache/bind/etc/bind/db.local是bind自带的模板文件,复制一份到 /etc/var/cache/bind ,并改名成db.my.com:

       sudo cp /etc/bind/db.local /var/cache/bind/db.my.com

    然后编辑/var/cache/bind/db.my.com,最终如下:

    $TTL    604800
    @       IN      SOA     my.com. root.my.com. (
                                  2         ; Serial
                             604800         ; Refresh
                              86400         ; Retry
                            2419200         ; Expire
                             604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      localhost.
    @       IN      A       127.0.0.1
    ;@      IN      AAAA    ::1
    www     IN      A       192.168.1.98
    abc     IN      A       192.168.1.97
    server  IN      CNAME   abc

    从上往下看,$TTL设置记录在DNS缓存服务器上的生存周期(秒)。SOA记录定义了my.com这个域,以及相关参数,默认就行。最后三行,添 加A记录,www指向server0的IP,abc指向server1的IP,server则CNAME到abc(这一行非必须,仅演示CNAME)。

    修改完成后重启bind:

       sudo /etc/init.d/bind9 restart

    此时DNS服务器已经开始工作了,要使用该DNS服务器,以XP为例,到"控制面板"–"网络连接",找到上网的网卡,右键选择"属性",如图设置:

    2009-12-24
19-13-11.png

    然后打开浏览器,访问www.my.com,abc.my.com,server.my.com吧。

    Linux 修改DNS,请修改/etc/resolv.conf文件。

    关于反向解析:即从IP解析到域名。本实验中,该功能没什么用途。在反垃圾邮件方面,它很有作用,由于邮件的协议,伪装域名发送邮件是可能的,这时候,邮件服务器端收到邮件后,根据邮件的IP地址反解析,得到域名,如果域名和邮件的发信人域名一致,则收下,否则拒绝。

  • 相关阅读:
    hdu1754:I Hate It
    hdu1166
    bzoj1642:挤奶时间
    线段树
    bzoj1699:排队
    bzoj3438: 小M的作物
    bzoj2127: happiness
    bzoj2768[JLOI2010]冠军调查
    bzoj1070[SCOI2007]修车
    bzoj1305[CQOI2009]dance跳舞
  • 原文地址:https://www.cnblogs.com/klobohyz/p/2300528.html
Copyright © 2011-2022 走看看