部署DNS域名解析服务
一.DNS介绍
域名
- Domain Name,简称域名、网域,是由一串用点分隔的名字组成的 Intermet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。具有独一无二,不可重复的特性。
DNS
- 域名系统(DomainName System)是互联网的一项服务。域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替地址标识站点地址。域名解析就是域名到地址的转换过程。域名的解析工作由 DNS服务器完成。可以理解为DNS就是翻译官。
- 正向解析(域名 —> IP地址)、反向解析(IP地址 —> 域名)
二.域名的格式和组成
常见格式:www.baidu.com
完整格式:www.baidu.com.
“.”根域,可省略
“com”顶级域,由ICANN组织指定和管理
-
国家地区域名:cn、hk、jp…
-
通用顶级域名:com、org、edu、gov…
新的通用顶级域名:red、top、love、info…
“baidu”二级域(注册域),可由个人或组织申请注册
“www”三级域(子域),服务器网站名代表
(注:com.cn属于二级域,是cn顶级域的子域
三.DNS相关软件
BIND(Berkeley Internet Name Daemon)
- BIND是应用最广泛的DNS服务程序
- 官方站点:https://www.isc.org/
- 服务名:named
- 端口:
- UDP 53 数据通信(接收域名解析请求)
- TCP 53 数据同步 (主从同步)
BIND配置文件
- 主配置文件(服务器运行参数)
- /etc/named.conf
- 保存DNS解析记录的数据文件位于
- /var/named/
- BIND服务控制
- systemctl [status|start|stop|restart] named.service
主配置文件:/etc/named.conf (服务器运行参数)
区域配置文件:/etc/named.rfc1912.zones
服务器解析的区域配置,正、反向区域定义信息)
数据配置文件:/var/named/xx.xxx
(主机名和IP地址的对应解析关系,以及主从同步信息)\
实验.DNS配置
test01:DNS服务器,安装bind,并进行配置关闭防火墙、关闭selinux
#查看防火墙状态
systemctl status firewalld.service
#关闭防火墙
systemctl stop firewalld.service
#永久关闭防火墙
systemctl disable firewalld.service
#关闭selinux
setenforce 0
#永久关闭selinux
[root@localhost ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=0
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
#安装bind
yum -y install bind
#主配置文件 /etc/named.conf
[root@localhost ~]# vim /etc/named.conf
[root@localhost ~]# cat /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
#区域配置文件 /etc/named.rfc1912.zones
[root@localhost ~]# vim /etc/named.rfc1912.zones
[root@localhost ~]# cat /etc/named.rfc1912.zones
zone "my.com" IN {
type master;
file "my.localhost";
allow-update { none; };
};
zone "9.168.192.in-addr.arpa" IN {
type master;
file "my.loopback";
allow-update { none; };
};
#从模板复制数据配置文件
[root@localhost ~]# cd /var/named/
[root@localhost named]# ls
[root@localhost named]# cp -a named.localhost my.localhost
[root@localhost named]# cp -a named.loopback my.loopback
#数据配置文件 /var/named/xx.xxx
#正向解析
[root@localhost named]# vim my.localhost
$TTL 1D
@ IN SOA my.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.my.com.
dns A 192.168.9.3
www A 192.168.9.5
#反向解析
[root@localhost named]# vim my.loopback
$TTL 1D
@ IN SOA my.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.my.com.
3 PTR dns.my.com.
5 PTR www.my.com.
#重启服务
[root@localhost named]# systemctl start named
#访问网站
[root@localhost ~]# curl www.my.com
<h1>hello web </h1>
test02:客户端,想访问web网站使用curl或elinks访问网站
#使用curl访问web网站
[root@localhost ~]# curl 192.168.9.5
<h1>hello web </h1>
#test02,配置网卡中的DNS
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=88e9b6db-505f-43d5-86e5-b75a5bd9822e
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.9.4
NETMASK=255.255.255.0
GATEWAY=192.168.9.2
DNS1=192.168.9.3
#重启服务
[root@localhost ~]# systemctl restart network
test03:web服务器,安装httpd部署站点、关闭防火墙
#安装httpd
[root@localhost ~]# yum -y install httpd
#开启服务
[root@localhost ~]# systemctl start httpd
#查看服务状态
[root@localhost ~]# netstat -antp
tcp6 0 0 :::80 :::* LISTEN 11919/httpd
#部署站点
[root@localhost ~]# cd /var/www/html
[root@localhost html]# vim index.html
[root@localhost html]# cat index.html
<h1>hello web </h1>
:::* LISTEN 11919/httpd
```shell
#部署站点
[root@localhost ~]# cd /var/www/html
[root@localhost html]# vim index.html
[root@localhost html]# cat index.html
<h1>hello web </h1>