DNS搭建

简介:

一. DNS原理
DNS 为Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种服务机制。其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析。DNS使用TCP和UDP, 端口号都是53, 但它主要使用UDP,服务器之间备份使用TCP。全世界只有13台“根”服务器,1个主根服务器放在美国,其他12台为辅根服务器。

使用A记录和CNAME进行域名解析的区别A记录就是把一个域名解析到一个IP地址(Address,特制数字IP地址),而CNAME记录就是把域名解析到另外一个域名。其功能是差不多,CNAME将几个主机名指向一个别名,其实跟指向IP地址是一样的,因为这个别名也要做一个A记录的。但是使用CNAME记录可以很方便地变更IP地址。如果一台服务器有100个网站,他们都做了别名,该台服务器变更IP时,只需要变更别名的A记录就可以了。

二. 使用bind搭建DNS服务器

  1. 安装bind
    yum install -y bind
    cp /etc/named.conf /etc/named.conf.bak

    /etc/named.conf
    any:可以由任何ip监听53端口
    allow-query:当写本机时
    2、配置文件
    定义了本机正向、反向解析;新增fengche.com的域名验证
    以下两项必须得添加,才能转发出去(访问外网)
    forward first; 
    forwarders { 202.96.128.86;202.96.134.33; };
    any:任何主机都可以访问

vim /etc/named.conf 
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
recursion yes;
forward first; 
forwarders { 202.96.128.86;202.96.134.33; };

dnssec-enable yes;
dnssec-validation yes;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";

managed-keys-directory "/var/named/dynamic";

};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

zone "." IN {
type hint;
file "named.ca";
};

zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};

zone "fengche.com" IN {
type master;
file "fengche.com.zone";
};
zone "3.168.192.in-addr.arpa" IN {
type master;
file "192.168.zone";
};

#include "/etc/named.rfc1912.zones";
#include "/etc/named.root.key";

3、正向解析本地主机的配置文件
[root@dns-server named]# vi localhost.zone

@ IN SOA localhost. admin.localhost. (
2017120110 ;serial #序列号
1H ;refresh #服务器更新时间
10M ;retry #重新更新时间
7D ;expire #失效时间
1D ;minmun #缓存时间
)
@ IN NS localhost.
localhost. IN A 127.0.0.1

4、反向解析本地主机的配置文件
[root@dns-server named]# vi named.local

$TTL 86400
@ IN SOA localhost. admin.localhost. (
2017120110
1H
10M
7D
1D
)
@ IN NS localhost.
1 IN PTR localhost

5、正向解析fengche.com的配置文件
[root@dns-server named]# vi /var/named/fengche.com.zone

$TTL 86400
@ IN SOA fengche.com. admin.fengche.com. (
2017120110
1D
1H
1W
3H
)
@ IN NS ns.fengche.com. ;域名解析记录
ns IN A 192.168.3.180
www IN A 192.168.3.83 ;主机记录
mail IN A 192.168.3.90
test IN CNAME mail.fengche.com ;别名记录
ts IN CNAME mail.fengche.com

6、反向解析192.168.3.X的ip地址
[root@dns-server named]# vim /var/named/192.168.zone

$TTL 600
@ IN SOA ns.fengche.com. admin.fengche.com. (
2017120110
1H
10M
7D
1D
)
@ IN NS ns.fengche.com.
10 IN PTR ns.fengche.com.
11 IN PTR mail.fengche.com.
73 IN PTR www.fengche.com.

7、更改权限
chown named /etc/named.conf

8、生成named.ca文件
cd /var/named/
dig -t NS . > named.ca

三、验证配置文件
检测配置是否有问题: named-checkconf 
检测正解析: named-checkzone "localhost" /var/named/localhost.zone 
named-checkzone "fengche.com" /var/named/fengche.com.zone
检测反解析: named-checkzone "0.0.127.in-addr.arpa" /var/named/named.local
named-checkzone "3.168.192.in-addr.arpa" /var/named/192.168.zone
rndc-confgen -r /dev/urandom -a #这一步是生成 rndc.key, 如果没有这个key namd 是启动不了的。
chown named:named /etc/rndc.key

四、启动
/etc/init.d/named start
netstat -lnp |grep named // 查看一下named进程是否监听了53端口

五、验证
测试正向解析:
dig @127.0.0.1 localhost.
dig @127.0.0.1 www.fengche.com

测试反向解析:
dig @127.0.0.1 -x 127.0.0.1
dig @127.0.0.1 -x 192.168.3.73 #查看是否是配置文件中定义的www.fengche.com

测试别名:
dig test.fengche.com #查看是否是mail.fengche.com

在linux服务器上验证:
设置dns服务器为192.168.3.180
[root@centos7 ~]# vi /etc/resolv.conf 
nameserver 192.168.3.180

验证通过:
[root@centos7 ~]# nslookup

www.fengche.com
Server: 192.168.3.180
Address: 192.168.3.180#53

Name: www.fengche.com
Address: 192.168.3.83

mail.fengche.com
Server: 192.168.3.180
Address: 192.168.3.180#53

Name: mail.fengche.com
Address: 192.168.3.90










本文转自 iekegz 51CTO博客,原文链接:http://blog.51cto.com/jacksoner/2046401,如需转载请自行联系原作者
目录
相关文章
|
存储 运维 监控
运维必备——ELK日志分析系统(上)
运维必备——ELK日志分析系统(上)
883 0
运维必备——ELK日志分析系统(上)
|
消息中间件 负载均衡 Kafka
MQ消息路由大揭秘!从菜鸟到高手,一文带你玩转消息传递的‘高速公路’,轻松实现订单秒级响应!
【8月更文挑战第24天】在现代分布式系统中,消息队列(MQ)作为系统间解耦的核心工具,支持异步处理、负载均衡及高可用性。消息路由是MQ中的关键环节,决定消息从生产者到消费者的路径。主流MQ产品如RabbitMQ、Kafka等采用相似的路由机制,涉及交换器、队列、路由键等概念。常见的路由模式包括直接交换、主题交换及发布/订阅模式。以RabbitMQ为例,通过直接交换模式,可以根据订单类型(如“普通订单”、“紧急订单”)将消息路由至相应的处理队列。这一过程展示了MQ系统如何基于路由键和队列绑定关系实现消息的有效传递。
481 2
|
11月前
|
机器学习/深度学习 人工智能 边缘计算
DistilQwen2.5蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
DistilQwen2.5 是阿里云人工智能平台 PAI 推出的全新蒸馏大语言模型系列。通过黑盒化和白盒化蒸馏结合的自研蒸馏链路,DistilQwen2.5各个尺寸的模型在多个基准测试数据集上比原始 Qwen2.5 模型有明显效果提升。这一系列模型在移动设备、边缘计算等资源受限的环境中具有更高的性能,在较小参数规模下,显著降低了所需的计算资源和推理时长。阿里云的人工智能平台 PAI,作为一站式的机器学习和深度学习平台,对 DistilQwen2.5 模型系列提供了全面的技术支持。本文详细介绍在 PAI 平台使用 DistilQwen2.5 蒸馏小模型的全链路最佳实践。
|
人工智能 Cloud Native 安全
统一多层网关好处多,阿里云云原生 API 网关打造全能型网关
本文分享了作为一款全能型网关【云原生 API 网关】是如何帮助企业落地统一网关架构的。
8874 103
|
机器学习/深度学习 人工智能 弹性计算
阿里云AI服务器价格表_GPU服务器租赁费用_AI人工智能高性能计算推理
阿里云AI服务器提供多样化的选择,包括CPU+GPU、CPU+FPGA等多种配置,适用于人工智能、机器学习和深度学习等计算密集型任务。其中,GPU服务器整合高性能CPU平台,单实例可实现最高5PFLOPS的混合精度计算能力。根据不同GPU类型(如NVIDIA A10、V100、T4等)和应用场景(如AI训练、推理、科学计算等),价格从数百到数千元不等。详情及更多实例规格可见阿里云官方页面。
1117 1
|
Linux iOS开发 MacOS
使用 Python 实现复制粘贴的功能
使用 Python 实现复制粘贴的功能
318 0
|
监控 安全 数据挖掘
企业异地组网一般选用什么方案比较好?
企业异地组网可选用SD-WAN,它提供灵活、低成本且快速的解决方案。除此之外,还有光纤互联(费用高昂,不适合中小企业)和MPLS VPN(费用高,组网复杂)。SD-WAN能精准划分流量、支持多种接入方式、保障稳定性、简化部署并实现全局监控,是企业广域网建设的理想选择。
544 2
|
安全 数据安全/隐私保护
Elasticsearch 7.* 常见错误以及解决方案
Elasticsearch 7.* 常见错误以及解决方案
807 0
|
JavaScript 数据库
浏览器打开html文件显示中文乱码解决方法
浏览器打开html文件显示中文乱码解决方法
2045 0
|
区块链 容器 芯片