安装 bind9

sudo apt-get install bind9
 
设置上级 dns 服务器
 
sudo vim /etc/bind/named.conf.options
 
内容为
 
  forwarders {
      8.8.8.8;
  };
 
当本地 cache 没有dns记录时就向上级服务器询问
 
8.8.8.8是google dns
 
编辑本地解析文件
 
sudo vim /etc/bind/named.conf.local
 
内容为
 
  zone "guotongtong.com" {
        type master;
        file "/etc/bind/db.linzhongliang.com";
  };
  zone "115.168.192.in-addr.arpa" {
     type master;
     file "/etc/bind/db.192.168.50";
  };
 
linzhongliang.com 是个不存在的域名
 
我的局域网是 192.168.50.*
 
注意 50.168.192.in-addr.arpa 的 ip 地址是反的
 
下来创建 db.linzhongliang.com 和 db.192.168.50 文件
 
sudo vim /etc/bind/db.linzhongliang.com
 
内容为
 
  ;
  ; BIND data file for dev sites
  ;
  $TTL    604800
  @       IN      SOA     linzhongliang.com. root.linzhongliang.com. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
  ;
  @       IN      NS      linzhongliang.com.
  @       IN      A       192.168.50.159
  *.guotongtong.com.  14400   IN      A       192.168.50.159
 
db.192.168.50 文件
 
sudo vim /etc/bind/db.192.168.50
 
内容为
 
  ;
  ; BIND reverse data file for dev domains
  ;
  $TTL    604800
  @       IN      SOA     dev. root.dev. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
  ;
  @       IN      NS      linzhongliang.com.
  28      IN      PTR     linzhongliang.com.
 
重启 bind9 服务
 
sudo /etc/init.d/bind9 restart
 
注意:上面配置文件错误可能会导致 bind 启动失败!
 
设置本机 dns 服务
 
sudo vim /etc/resolv.conf
 
内容为
 
search linzhongliang.com
 
nameserver 192.168.50.159
 
检测 bind9 工作状态
 
dig linzhongliang.com
 
或者
 
host $record localhost
 
或者
 
dig $record localhost
 
或者 nslookup 或者 whois