[DNS]部署局域网DNS服务器
This is a step by step tutorial on how to install and configure DNS server for your LAN using bind9. The DNS server will provide caching and name resolution as well as reverse name resolution for your local network. In this tutorial, we will use the domain "debian.lan" and this will be the domain of your local network. The domain "debian.lan" is not accessible from the internet; its private ip address is "192.168.4.1".
1. Installing bind9 and dns utilities
Firstly, we need to confirm whether bind9 and dnsutils are installed on our system. Let’s install the bind9 package and dns utilities from Debian repository.
|
$ apt-get install bind9 dnsutils |
2. Configure your Linux system
Add nameserve to /etc/resolve.conf.
Edit your /etc/resolvconf/resolve.conf.d/base (red part is added)
|
192.168.4.1 202.103.24.68 8.8.8.8 |
This is where Linux looks to find out how it should perform DNS lookups.
3. Lets create a zone
The zone files (or database files) are the heart of your BIND system. This is where all the information is stored on what hostname goes with what ip address.
Before we create a zone file, let’s edit first the
local configuration file/etc/bind/named.conf.local.
|
// // Do any local configuration here // // Consider adding the 1918 zones here, // organization //include zone "debian.lan" { type master; file "db.debian.lan"; }; zone "4.168.192.in-addr.arpa" { type master; file "db.192.168.4"; }; |
Let’s start creating a
zone file in /var/cache/bind/ directory. Create
a file called db.debian.lan
|
$ vi /var/cache/bind/db.debian.lan |
And add the following entry
|
$TTL 604800 @ IN SOA main.debian.lan. admin.debian.lan. 2008080101 ;serial 04800 ;refresh 86400 ;retry 2419200 ;expire 604800 ;negative cache TTL ) @ @ @ main www ubuntu |
Let’s create the reverse DNS
zone file called db.192.168.100
|
$ vi |
And the following entry.
|
$TTL 604800 @ IN SOA main.debian.lan. admin.debian.lan. 2008080101 ;serial 604800 ;refresh 86400 ;retry 2419200 ;expire 604800 ;negative cache TTL ) @ @ 1 2 |
The
zone files are created, you can check your
zone file configurations using these utilities:
|
$ named-checkzone main.debian.lan /var/cache/bind/db.debian.lan |
Let’s edit the file /etc/bind/named.conf.options
|
$ |
Uncomment the line forwarders and add your ISP's DNS
server. (We have no ISP, so ignore)
|
forwarders { 202.78.97.41; 202.78.97.3; }; |
Let’s restart our DNS server, and
test using the tool dig.
|
$ /etc/init.d/bind9 restart |
You should see the following message
|
; <<>> DiG 9.3.4 ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: ;; flags: qr aa rd ra; QUERY: 1, ANSWER: ;; QUESTION SECTION: ;debian.lan. IN A ;; ANSWER SECTION: debian.lan. 64800 IN ;; AUTHORITY SECTION: debian.lan. 64800 IN ;; ADDITIONAL SECTION: main.debian.lan. 64800 IN ;; Query time: 1 msec ;; SERVER: 192.168.4.1#53(192.168.4.1) ;; WHEN: Tue Aug 5 09:33:40 2008 ;; MSG SIZE rcvd: 79 |
Test your reverse DNS
|
$ dig -x debian.lan |
If
you see this message, you have successfully installed the DNS
server.
|
; <<>> DiG 9.3.4 ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, ;; QUESTION SECTION: ;lan.debian.in-addr.arpa. IN ;; AUTHORITY SECTION: in-addr.arpa. 10800 IN SOA A.ROOT-SERVERS.NET. ;; Query time: 952 msec ;; SERVER: 192.168.4.1#53(192.168.4.1) ;; WHEN: Tue Aug 5 09:34:25 2008 ;; MSG SIZE rcvd: 108 |
You can also check your
DNS nslookup and host command.
|
nslookup debian.lan |
4.
Update bind9.service and bind9-resolvconf.service
To boots up local DNS automatically at
startup, we need below steps.
Before, bind9.service is
dependent on network.target, and bind9-resolvconf.service
is dependent on bind9.service. However, if Wifi-ublox is not ready, bind9
service finished, then bind9 will not work. So we need to set bind9.service
be dependent on the service which boots up Wifi-ublox as below.
After /etc/init.d/bind9
restart is executed, /etc/systemd/system/multi-user.target/bind9.service
will generate a soft link to /lib/systemd/system/bind9.service. bind9-resolvconf.service
is under /lib/systemd/system/.
At last, we need to enable bind9 service at startup.
|
$ |
Bind9.service
|
[Unit] Description=BIND Domain Name Server Documentation=man:named(8) After=nio-autoexecB1.service [Service] ExecStart=/usr/sbin/named -f -u bind ExecReload=/usr/sbin/rndc reload ExecStop=/usr/sbin/rndc stop [Install] WantedBy=multi-user.target |
bind9-resolvconf.service
|
[Unit] Description=local BIND via resolvconf Documentation=man:named(8) man:resolvconf(8) Requires=bind9.service After=bind9.service ConditionFileIsExecutable=/sbin/resolvconf [Service] ExecStart=/bin/sh -c 'echo nameserver ExecStop=/sbin/resolvconf -d lo.named [Install] WantedBy=bind9.service |
5.
Configure Client Device in Lan Network
All computers in the LAN are
going to use 192.168.4.1 as a nameserver, this can be set manually by setting
statically:
|
$ |
Then put this information, add this at
the top of file.
|
192.168.4.1 |
Source
Reference:
http://www.cahilig.net/2008/07/05/how-setup-lan-dns-server-using-bind9-under-debian-etch-and-ubuntu-804
[DNS]部署局域网DNS服务器的更多相关文章
- 架构师成长之路6.4 DNS服务器搭建(部署主从DNS)
点击返回架构师成长之路 架构师成长之路6.3 DNS服务器搭建(部署主从DNS) 部署主DNS : 点击 部署从DNS : 如下步骤 1.与主DNS一样,安装bind yum -y install ...
- Windows10怎么架设局域网DNS服务器?
已采纳 需要安装Windows组件进行设置.最好是安装服务器版本的Windows. 1. 安装DNS服务 开始—〉设置—〉控制面板—〉添加/删除程序—〉添加/删除Windows组件—〉“网络服务”—〉 ...
- DNS单机部署以及智能dns部署
dns理论 dns的出现 网络出现的早期是使用IP地址通讯的,那时就几台主机通讯.但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件(Linu ...
- 【Linux】DNS服务-BIND从服务器、缓存服务器及转发服务器配置(三)
环境 操作系统:CentOS 6.5 DNS软件:bind(安装参照:[Linux]DNS服务-BIND基础配置(二)) BIND从服务器 从服务器就是在bind的主配置文件中添加从域example. ...
- ipv6修改DNS服务-首选DNS服务器:240c::6666
下一代互联网国家工程中心推出的IPv6 DNS服务 首选DNS服务器:240c::6666 备用DNS服务器:240c::6644 来自下一代互联网国家工程中心官网消息显示,日前,下一代互联网国家 ...
- 【入门】广电行业DNS、DHCP解决方案详解(三)——DNS部署架构及案
[入门]广电行业DNS.DHCP解决方案详解(三)——DNS部署架构及案 DNS系统部署架构 宽带业务DNS架构 互动业务DNS架构 案例介绍 案例一 案例二 本篇我们将先介绍DNS系统部署架构体系, ...
- DNS部署(centos 6)
DNS部署(主从) 安装环境:CentOS 6.8 准备两台主机:192.168.137.13(主DNS).192.168.137.14(从DNS) EPEL仓库使用阿里源 rpm -ivh http ...
- Docker环境下搭建DNS LVS(keepAlived) OpenResty服务器简易集群
现在上网已经成为每个人必备的技能,打开浏览器,输入网址,回车,简单的几步就能浏览到漂亮的网页,那从请求发出到返回漂亮的页面是怎么做到的呢,我将从公司中一般的分层架构角度考虑搭建一个简易集群来实现.目标 ...
- centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课
centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更 ...
随机推荐
- 非微信内如何调起wap版微信支付
微信支付一直没有出wap版,wap版想用微信支付,只有在微信内调用才可以.今天偶然发现,中国电信一个wap站点, 不在微信内也能调起微信支付,而且官方还提供了一个demo. WAP怎么调起客户端? 在 ...
- Hadoop Archives
原文地址:http://hadoop.apache.org/docs/r1.0.4/cn/hadoop_archives.html 什么是Hadoop archives? 如何创建archive? 如 ...
- 【php】基础学习1
其中包括php基础.字符串和正则表达式的学习.具体如下: <html xmlns=http://www.w3.org/1999/xhtml> <head> <meta h ...
- 【js】appendChild
appendChild主要是用来追加节点插入到最后:循环的时候由于不停的搬家导致length在改变. 使用for循环 <!Doctype html> <html xmlns= ...
- 理解over()函数
1.1.两个order by的执行时机分析函数(以及与其配合的开窗函数over())是在整个sql查询结束后(sql语句中的order by的执行比较特殊)再进行的操作, 也就是说sql语句中的ord ...
- python练习笔记——编写一个装饰器,模拟登录的简单验证
编写一个装饰器,模拟登录的简单验证(至验证用户名和密码是否正确) 如果用户名为 root 密码为 123则正确,否则不正确.如果验证不通过则不执行被修饰函数 #编写一个装饰器,模拟登录的简单验证 #只 ...
- 文件描述符file descriptor与inode的相关知识
每个进程在Linux内核中都有一个task_struct结构体来维护进程相关的 信息,称为进程描述符(Process Descriptor),而在操作系统理论中称为进程控制块 (PCB,Process ...
- 关于 Chrome Console 查看DOM详情细节的奇思淫巧
我们期待打印出的dom效果如下: 但某些时候,打印出来,或者通过$0.$1.document.getElementById('####') 等方式打印出来的效果如下: 根据第一幅图我们不难看出,当打印 ...
- chromedriver 下载地址
重要的事情说三遍 chromedriver 下载地址 chromedriver 下载地址 chromedriver 下载地址 http://chromedriver.storage.googleapi ...
- ubuntu为python处理图片安装图片数据增强库imgaug
1 依赖Required dependencies: six numpy scipy scikit-image (pip install -U scikit-image) OpenCV (i.e. c ...