Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2071|回复: 5
打印 上一主题 下一主题

Docker下搭建DNS服务器

[复制链接]

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
跳转到指定楼层
楼主
发表于 2017-12-15 18:15:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 java 于 2017-12-29 19:40 编辑

https://store.docker.com/community/images/sameersbn/bind
docker pull sameersbn/bind


docker run --name bind -d --restart=always \
  --publish 53:53/tcp --publish 53:53/udp --publish 10000:10000/tcp \
  --volume /srv/docker/bind:/data \
  sameersbn/bind:latest


进行docker后进入命令行
docker exec -it bind bash
配置步骤:
https://192.168.134.106:10000/ 访问管理页面
用户名:root
密码:password

改成中文界面
Webmin->Change Language and Theme

配置DNS
服务器->BIND DNS服务器
-->创建新的主区域




web上的配置与配置文件作对比,以正确配置
  1. /var/lib/bind/hcjserver.com.hosts
  2. $ttl 38400
  3. hcjserver.com.        IN        SOA        www.hcjserver.com. 555.qq.com. (
  4.                         1513563422
  5.                         10800
  6.                         3600
  7.                         604800
  8.                         38400 )
  9. hcjserver.com.        IN        NS        www.hcjserver.com.
  10. www.hcjserver.com.        IN        A        192.168.134.15
  11. hcjserver.com.        IN        A        192.168.134.15
  12. mail.hcjserver.com.        1        IN        MX        1 192.168.134.15

复制代码
配置完成后可以 查看是否配置正确 按钮: Check Records


域名测试工具:

nslookup -qt=A hcjserver.com 192.168.134.106                  //-qt   querytype 或 type  


查看 相关配置文件find / -name named.conf

cat /data/bind/etc/named.conf

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

/var/lib/bind/hcjserver.com.hosts

出现如下问题的修改方法 :
Got recursion not available from 192.168.134.106, trying next server

只是在named.conf.options"
里把 allow-query-cache { localhost; };  改成了allow-query-cache { any; };  如果没有则加上如下:

  1. options {
  2.         directory "/var/cache/bind";

  3.         // If there is a firewall between you and nameservers you want
  4.         // to talk to, you may need to fix the firewall to allow multiple
  5.         // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

  6.         // If your ISP provided one or more IP addresses for stable
  7.         // nameservers, you probably want to use them as forwarders.  
  8.         // Uncomment the following block, and insert the addresses replacing
  9.         // the all-0's placeholder.

  10.         allow-query-cache { any; };

  11.         // forwarders {
  12.         //         0.0.0.0;
  13.         // };

  14.         //========================================================================
  15.         // If BIND logs error messages about the root key being expired,
  16.         // you will need to update your keys.  See https://www.isc.org/bind-keys
  17.         //========================================================================
  18.         dnssec-validation auto;

  19.         auth-nxdomain no;    # conform to RFC1035
  20.         listen-on-v6 { any; };
  21. };
复制代码
另外如要转再改到下一个DNS可以修改 forwarders 试下,

改后,本地不用原来的默认DNS只用自己配置的DNS,失败了。




回复

使用道具 举报

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
沙发
 楼主| 发表于 2017-12-18 10:35:54 | 只看该作者
MX记录解析是做邮箱解析使用的。记录类型选择MX,线路类型选择通用或者同时添加三条线路类型为电信、网通、教育网的记录;记录值填写邮局商提供的服务器IP地址或别名地址;TTL设置默认的3600即可,MX优先级填写邮局提供商要求的数据,或是默认10,有多条MX记录的时候,优先级要设置不一样的数据。


MX(Mail Exchanger)记录,是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。例如,当Internet上的某用户要发一封信给 user@mydomain.com 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在, 用户计算机就将邮件发送到MX记录所指定的邮件服务器上。
MX记录优先级的值越小,优先级越高。同一个域名的有两条不同优先级的mx的纪录,通常是用优先级高的。当优先级高的机器不能使用时,优先级低的就可以起到临时备份作用,代收邮件和转发。当优先级高的机器正常时,低级别的会尝试把信件转发给优先级高的服务器。


万网的解析有优先级10和优先级1,小的优先
回复 支持 反对

使用道具 举报

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
板凳
 楼主| 发表于 2017-12-27 15:21:39 | 只看该作者
本帖最后由 java 于 2017-12-28 18:24 编辑

在 Ubuntu 系统安装 Redi 可以使用以下命令:
$sudo apt-get update
$sudo apt-get install redis-server

启动 Redis

$ redis-server

查看 redis 是否启动?

$ redis-cli

以上命令将打开以下终端:
redis 127.0.0.1:6379>
127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。
redis 127.0.0.1:6379> pingPONG
以上说明我们已经成功安装了redis。


回复 支持 反对

使用道具 举报

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
地板
 楼主| 发表于 2018-1-3 11:19:02 | 只看该作者
本帖最后由 java 于 2018-1-12 18:20 编辑

webmin 配置dns

http://www.webmin.com

配置步骤:
https://192.168.134.106:10000/ 访问管理页面
用户名:root
密码:password

改成中文界面
Webmin->Change Language and Theme

配置DNS
服务器->BIND DNS服务器
-->创建新的主区域


在主分区hcjserver.com中添加地址解析(A记录) 选择"地址"选项




注:这里名称可以是如下选项:
www
ftp
mail
* 所有地址列表中没有的名称全部匹配
@ 表示 hcjserver.com,没有二级域名
测试效果
  1. nslookup www.hcjserver.com
  2. Server:                192.168.134.106
  3. Address:        192.168.134.106#53

  4. Name:        www.hcjserver.com
  5. Address: 192.168.134.15
复制代码
创建逆向解析
服务器->BIND DNS服务器
-->创建新的主区域



这里的网络也可以写成 192.168.134.0

接着创建 逆向地址



测试效果
  1. nslookup -qt=ptr 192.168.134.15
  2. *** Invalid option: qt=ptr
  3. Server:                192.168.134.106
  4. Address:        192.168.134.106#53

  5. 15.134.168.192.in-addr.arpa        name = hcjserver.com.
复制代码
DNS智能解析的搭建与配置.pdf.zip (708.54 KB, 下载次数: 0)
回复 支持 反对

使用道具 举报

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
5#
 楼主| 发表于 2018-1-12 10:37:43 | 只看该作者
A记录:将域名指向一个IPv4地址(例如:10.10.10.10),需要增加A记录
CNAME记录:如果将域名指向另一个域名,实现与被指向域名相同的访问效果,需要增加CNAME记录
DNS正向解析:通过域名查找ip,  命令:nslookup domain
DNS逆[反]向解析:通过ip查找域名, 命令:nslookup -qt=ptr yourIP
IP反向解析的作用就是通过查询IP地址的PTR记录来得到该IP地址指向的域名,当然,要成功得到域名就必需要有该IP地址的PTR记录。
PTR记录是邮件交换记录的一种,邮件交换记录中有A记录和PTR记录,A记录解析名字到地址,而PTR记录解析地址到名字。
地址是指一个客户端的IP地址,名字是指一个客户的完全合格域名。通过对PTR记录的查询,达到反查的目的。
反向域名解析系统(Reverse DNS)的功能确保适当的邮件交换记录是生效的。反向域名解析与通常的正向域名解析相反,提供IP地址到域名的对应。
IP反向解析主要应用到邮件服务器中来阻拦垃圾邮件,特别是在国外。
多数垃圾邮件发送者使用动态分配或者没有注册域名的IP地址来发送垃圾邮件,以逃避追踪,使用了域名反向解析后,就可以大大降低垃圾邮件的数量。
比如你用 xxx@name.com 这个邮箱给我的邮箱 123@163.com 发了一封信。163邮件服务器接到这封信会查看这封信的信头文件,这封信的信头文件会显示这封信是由哪个IP地址发出来的。
然后根据这个IP地址进行反向解析,如果反向解析到这个IP所对应的域名是name.com 那么就接受这封邮件,如果反向解析发现这个IP没有对应到name.com,那么就拒绝这封邮件。
由于在域名系统中,一个IP地址可以对应多个域名,因此从IP出发去找域名,理论上应该遍历整个域名树,但这在Internet上是不现实的。
为了完成逆向域名解析,系统提供一个特别域,该特别域称为逆向解析域in-addr.arpa。
这样欲解析的IP地址就会被表达成一种像域名一样的可显示串形式,后缀以逆向解析域域名"in-addr.arpa"结尾。
    例如一个IP地址:222.211.233.244,其逆向域名表达方式为:244.233.221.222.in-addr.arpa
两种表达方式中IP地址部分顺序恰好相反,因为域名结构是自底向上(从子域到域),而IP地址结构是自顶向下(从网络到主机)的。
实质上逆向域名解析是将IP地址表达成一个域名,以地址做为索引的域名空间,这样逆向解析的很大部分可以纳入正向解析中。

回复 支持 反对

使用道具 举报

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
6#
 楼主| 发表于 2018-1-12 17:41:09 | 只看该作者
本帖最后由 java 于 2018-1-12 17:44 编辑

域名注册商
如果你是草根,或者说微小企业,去godaddy;      http://godaddy.com
如果你是企业,或不是世界前×的国内企业,去万网吧;
如果你是世界上数得上的企业,可考虑去markmonitor


dnspod

namesilo


http://name.com

告诉你一个取巧的方法,先在Godaddy下单,一次注册9年,等2个月后,提交转移到万网。这样你能省70%

万网、新网、西部数码
虽然 godaddy现在支持简体中文了
不过还是推荐http://name.com namesilo  namecheap
godaddy现在续费太贵

US Domain Center


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-4-29 03:56 , Processed in 0.066537 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表