问题

公司会有一些内部的网站,而这些网站只能在内部局域网中访问使用(链接同一个路由器的PC端),当访问这些网站时需要在浏览器中手动输入服务器ip地址访问,但是无法通过域名访问(比如:jd.com 就是一个常见域名),这时可以通过搭建公司内部的dns服务器解决。

想要通过 http://hbtest.xingfafa.com 就可以访问到位于后端 192.168.2.100 主机上自己搭建的OWT服务器。
本文中要搭建的DNS服务器与OWT服务器位于同一台server上 IP都是192.168.2.100,当然也可以不在同一台上。

下载bind9

执行如下命令

apt-get install bind9
root@ubuntu18-Master:~# apt-get install bind9
Reading package lists... Done
Building dependency tree
Reading state information... Done
bind9 is already the newest version (1:9.11.3+dfsg-1ubuntu1.17).
The following packages were automatically installed and are no longer required:libsodium23 linux-headers-4.15.0-173 linux-headers-4.15.0-173-generic
Use 'apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 23 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y

然后编辑bind9主配置文件

找到/etc/bind/name.conf.default-zones 文件
并在末尾添加

zone "hbtest.xingfafa.com" {type master;file "/etc/bind/db.ip2hbtest.xingfafa.com";
};zone "100.2.168.192.in-addr.arpa" {type master;file "/etc/bind/db.hbtest.xingfafa.com2ip";
};

解析:
其中192.168.2.100是myowt服务器的ip的反写,若你的服务器ip是abc.def.ghi.jkl 那么则在这写成 jkl.ghi.def.abc 。

然后在/etc/bind 中创建 db.ip2hbtest.xingfafa.com 文件 和 db.hbtest.xingfafa.com2ip 文件,注意这两个文件名要和 name.conf.default-zones 中配置的File相同

然后在 db.ip2hbtest.xingfafa.com 文件中填写如下内容,注意 :需要把下面的hbtest.xingfafa.com换成你的域名,不要漏掉了域名后面的小数点,192.168.0.100是myowt服务器的ip,需要替换成你自己的。

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA    ns.hbtest.xingfafa.com. root.hbtest.xingfafa.com. (2               ; Serial604800               ; Refresh86400               ; Retry2419200               ; Expire604800 )             ; Negative Cache TTL
;
@       IN      NS     ns.hbtest.xingfafa.com.
@       IN      A      192.168.2.100
ns      IN      A      192.168.2.100
cn      IN      A      192.168.2.100

然后在db.hbtest.xingfafa.com2ip文件中填写如下内容,同样要替换hbtest.xingfafa.com为你的域名。100是myowt服务器的ip的最后一段,需要替换成你自己的。

;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns.hbtest.xingfafa.com. root.hbtest.xingfafa.com. (1         ; Serial604800         ; Refresh86400         ; Retry2419200         ; Expire604800 )       ; Negative Cache TTL
;
@       IN      NS      hbtest.xingfafa.com.
147     IN      PTR     cn.hbtest.xingfafa.com.
147     IN      PTR     hbtest.xingfafa.com.
147     IN      PTR     www.hbtest.xingfafa.com.
147     IN      PTR     dns.hbtest.xingfafa.com.
147     IN      PTR     cn.hbtest.xingfafa.com.

然后修改 /etc/bind/named.conf.options 文件为如下内容

options {directory "/var/cache/bind";// If there is a firewall between you and nameservers you want// to talk to, you may need to fix the firewall to allow multiple// ports to talk.  See http://www.kb.cert.org/vuls/id/800113// If your ISP provided one or more IP addresses for stable// nameservers, you probably want to use them as forwarders.// Uncomment the following block, and insert the addresses replacing// the all-0's placeholder.forwarders {0.0.0.0;};//========================================================================// If BIND logs error messages about the root key being expired,// you will need to update your keys.  See https://www.isc.org/bind-keys//========================================================================dnssec-validation auto;auth-nxdomain no;    # conform to RFC1035listen-on-v6 { any; };
};

其实只需要修改

         forwarders {202.96.199.133;218.30.118.6;};

这很关键,网上很多人说修改成8.8.8.88.8.4.4 0.0.0.0,当修改成这三个后你会发现访问外网特别慢,比如在公司内网访问 baidu.com,就非常慢,访问任何一个外网都很慢,原因是本地没有配置外网域名对应的IP,bind9会去寻8.8.8.8或8.8.4.4 或0.0.0.0 这几个大众dns服务器去查询IP
而本文中修改成了 202.96.199.133218.30.118.6是因为自己搭建的dns服务器位于北京,用的电信的网,所以设置这样。
具体设置成多少,取决你的所在地区网络运营商提供上决定(你可以先百度一下IP就可以知道用的是电信还是联通还是移动的网,然后在百度一下你所在城市对应网络运营商的dns服务器IP即可)
国内哪个DNS服务器最快最好?
其他可参考:
https://wenku.baidu.com/view/ebfd6468757f5acfa1c7aa00b52acfc788eb9f43.html

修改/etc/bind时个别主机可能没有权限,可以切换到bind目录,执行chmod -R a=rwx,g=rx,o=rx bind/ 为当前目录及文件以及子目录中文件赋予读写执行权限。

重启启动生效

然后执行service bind9 restart重启bind9 * dns服务器,

可以通过 nslookup 你的域名 查看是否配置成功

root@ubuntu18-Saury:/etc/bind# nslookup hbtest.xingfafa.com
Server:     127.0.0.53
Address:    127.0.0.53#53Non-authoritative answer:
Name:   hbtest.xingfafa.com
Address: 111.63.101.149
Name:   hbtest.xingfafa.com
Address: 192.168.2.100

DNS记录类型

  • A记录:指定域名对应IP的记录。
  • PTR记录:指定IP对应域名的记录。
  • MX记录:邮件交换记录,也叫邮件路由记录,指向邮件服务器的IP。
  • CNAME记录:别名记录,用于指向另一个域名。
  • NS记录:域名服务器记录,指定该域名由哪个DNS服务器来解析。
  • SOA记录:起始授权机构记录,NS用于标识多台域名解析服务器,SOA记录用于在众多NS记录中那一台是主服务器。

于是后自己分别试了下 hbtest.xingfafa.com 和 weibo.com ,很快就返回了数据,若回应很慢 说明forwarders 中配置外网dns服务器有问题。

修改路由器

接下来还需要修改路由配置,把上面dns服务器ip换成自己搭建的dns服务器的ip即可。

登录路由器,找局域网设置==>DHCP自动分配==>下游的DNS设置选项,我的路由器是Tp-link,把dns服务器IP换成自己搭建的dns服务器的ip就可了,我的是192.168.2.100 保存并生效,重启即可。

一会过后其他电脑会断开网络然后重新链接wifi,这时在网络链接属性中就可以看到ipv4 dns服务器ip变成了自己搭建的dns服务器的ip了,而备选的dns服务器一般是路由器的ip。

然后其他电脑只要在公司内网并且直接通过浏览器 hbtest.xingfafa.com 就可以访问了,但只能在公司内网通过域名进行访问,在外网中无法直接通过 hbtest.xingfafa.com进行访问!


There is no fate but what we make for ourselves. 一切尚未定局,未来由我们自己创造
本篇完_

【Linux的开胃小菜】基于Ubuntu搭建内网DNS服务器相关推荐

  1. 搭建内网DNS服务器教程

    内网DNS服务器的软件有许多,比如Bind9,dnsmasq,PowerDNS等等 而这次搭建内网dns服务的软件CoreDNS,CoreDNS是Golang编写的一个插件式DNS服务器,也是Kube ...

  2. 云计算之路-试用Azure:搭建自己的内网DNS服务器

    之前我们写过一篇博文谈到Azure内置的内网DNS服务器不能跨Cloud Service,而我们的虚拟机部署场景恰恰需要跨多个Cloud Service,所以目前只能选择用Azure虚拟机搭建自己的内 ...

  3. 如何搭建内网地图服务器

    BIGEMAP添加离线地图应用教程 相关应用:搭建 离线地图 二次开发 目的:搭建内网地图服务器,内网中可多人访问的地图服务,无需上网 工具下载: 1.BIGEMAP离线地图服务器  下载地址:BIG ...

  4. 云起实验室:基于Ubuntu搭建个人网盘

    本文为您介绍如何快速搭建一个基于Ubuntu的个人网盘. 点击立即参与云产品场景体验https://developer.aliyun.com/adc/scenario/bd3fac7dfaaf4be3 ...

  5. frps搭建内网穿透服务器(frp隧道)

    frps搭建自己的内网穿透服务器 开发过程中,很多时候我们需要用到内网穿透,将自己的服务器映射到外网,下面说一下怎么用frps搭建自己的内网穿透服务器 frps Github地址 GitHub - f ...

  6. Apache James搭建内网邮件服务器

    前言 大概之前两个礼拜的日子,讨论会介绍了关于了.net内网邮件服务器的搭建.所以自己也很有必要来尝试一把邮件服务器的搭建,这里选取的是james这个工具. 为什么要使用内网邮件服务器? a.安全这里 ...

  7. centos搭建内网DNS配合nginx反向代理

    需求:在内网已部署一个苹果CMS,但每次访问都要通过IP很不方便,需要转变为用域名访问 方法一: 给每个需要访问该网站的人添加一条hosts记录:如果只是几个人这方法的确很快,但是如果上百人甚至上千人 ...

  8. 【计算机网络原理·实验·第九章】搭建内网域名解析服务器

    理论部分:[计算机网络]第九章:应用层 企业内部可以不搭建域名解析服务器,直接通过互联网中的域名解析服务器来实现网络交互也可以.但是如果没有内部的域名解析服务器,则相当于内网内每一台设备,如果要在短时 ...

  9. Linux搭建内网穿透服务器【超级无脑】

    什么叫"内网穿透"? 假如我在局域网中有一台电脑,并且部署了一些web服务希望所有人都能访问它.但这台电脑只有局域网ip,并没有公网ip,那么只有同一局域网内的设备才能找到这台电脑 ...

  10. CentOS7下使用ngrok搭建内网穿透服务器

    目录 1.简介 1 2. 必要条件 2 2.1.ngrok服务器 2 2.2.域名 2 2.3.ngrok客户端 2 3. 安装依赖包 2 4. 安装golang 2 5. 下载ngrok源码 3 6 ...

最新文章

  1. python uvloop异步框架简介
  2. string类的erase函数属于stl吗_探索STL容器:vector
  3. Web前端开发面试考点指南
  4. Linux驱动(12)--LED驱动
  5. RocketMQ 常见面试题
  6. soap协议有get方式
  7. Bootstrap简洁、直观、强悍的前端开发框架
  8. win7修复计算机卡了,win7系统下360补丁修复过程中卡住的解决方法
  9. 计算机电子书 2019 BiliDrive 备份
  10. 给table表格表头添加斜线
  11. C#服务端如何获取外网IP
  12. win7家庭版升级为Win7旗舰版
  13. APP移动端测试高级
  14. 图的最小生成树算法实现(Prim + Kruskal)
  15. 【混淆系列】三问:npx、npm、cnpm、pnpm确定搞明白了?
  16. [乐意黎转载]CentOS yum 源的配置与使用
  17. linux分配活动分区,活动分区与最后分区确定的批处理(DOS/omnifs版)
  18. 服务器网卡驱动是在哪个文件夹,DL380G5服务器网卡驱动的安装
  19. 杰西·李佛摩尔的股市存亡战
  20. Python图片识别——人工智能篇

热门文章

  1. 360浏览器打不开html5文件,电脑中360安全浏览器无法打开的解决方法
  2. 如何使用Bootbox ?
  3. vueminder ultimate 2020中文版(电脑桌面日历工具) v2020.07
  4. qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in问题
  5. ua解析接口_在线免费解析抖音短视频(维护中)
  6. 接口 常见视频接口详解
  7. 转 OFBiz财务模型-金融账户
  8. origin画已知函数曲线_使用Origin进行函数绘图的方法
  9. 理解频域、时域、FFT和加窗 加深对信号的认识
  10. 磁盘加密软件(Secret Disk Pro 2020) v2020.03