一、DNS域名管理系统
1.概述:
域名:
由特定的格式组成,⽤来表示互联⽹中某⼀台计算机或者计算机组的名称,能够使⼈更⽅便的访问互联⽹,⽽不⽤记住能够被机器直接读取的IP地址。
计算机 => IP地址,互联⽹中的计算机都是通过IP地址进⾏互相访问的。(IP地址过于复杂)
域名:代替IP实现计算机的访问(⾼级 => 上层应⽤,底层还是IP地址)
每个域名 => DNS服务器 => 对应的IP地址
DNS的正向解析:
将主机域名转换为对应的IP 地址,以便⽹络程序能够通过主机域名访问到对应的服务器主机
反向解析:
将主机的IP地址转换为对应的域名,以便⽹络(服务)程序能够通过IP地址查询到主机的域名
2.DNS结构
DNS结构:www.itheima.com. => 从右向左解析
根域(.)
在整个 DNS 系统的最上⽅⼀定是 . (⼩数点) 这个 DNS 服务器 (称为 root),也叫”根域“。
根域 (13台 全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于⽇本。)
⼀级域名<顶级域|国家域>
com net edu gov org cc io| cn uk us ru ja ko
.com:商业公司
.net :互联⽹公司
.edu :教育(中⼩学、⾼中、⼤学...)
.gov :政府
.io :存储设备,redis
.cn : 中国域名(国家域)
⼆级域名(⾃⼰购买管理)
qq.com. baidu.com. google.com.
域名机构
收费(新⽹|万⽹)
⽼牌免费域名:TK顶级域名、TK域名DNS、TK域名商
3.工作原理
如果询问⼀次得到结果 递归查询 C-S
如果询问多次得到结果 迭代查询 S-S
⼀次递归 多次迭代
4.dig工具使用
# dig +trace www.itcast.cn 追踪DNS的解析过程
# dig www.itcast.cn 正向解析
# dig -x IP地址 反向解析
5.DNS服务器的搭建
1)环境准备
编号 主机名称 IP地址 备注信息
1 client 192.168.1.100 client客户端,⽤于测试
2 dns 192.168.1.125 dns服务器,⽤于实现域名解析
3 web 192.168.1.225 web服务器,⽤于搭建内部web服务
(1)更改主机名称与IP地址
# hostnamectl set-hostname client
# hostnamectl set-hostname dns
# hostnamectl set-hostname web
(2)关闭防火墙与SELinx
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# vim /etc/selinux/config
SELINUX=disabled
(3)配置yum源
2)安装dns软件
(1)client主机:
[root@client ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
DNS1=8.8.8.8
DNS2=114.114.114.114
[root@client ~]# yum -y install elinks.x86_64
[root@client ~]# elinks //ctrl+C
[root@client ~]# vim /etc/resolv.conf //这个文件可以临时修改dns服务器的地址,但当主机重启,或者重启network会重置
(2)web主机:
[root@web ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR=192.168.1.225
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
DNS1=8.8.8.8
DNS2=114.114.114.114
[root@dns ~]# yum -y install bind
[root@dns ~]# rpm -ql bind //查看配置文件
[root@dns ~]# systemctl start named //启动服务
//备份下面两个重要文件
[root@dns ~]# cp /etc/named.conf /etc/named.conf.bak
[root@dns ~]# cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak
[root@dns ~]# vim /etc/named.conf //管理权限,哪些主机可以连接,添加任何主机都可以访问的权限
options {
listen-on port 53 { 127.0.0.1;any; }; //加了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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { localhost;any; }; //加了any;
[root@dns ~]# vim /etc/named.rfc1912.zones //域名应该指向哪个IP地址
zone "tdr.tds" IN {
type master;
file "tdr.tds.zone";
allow-update { none; };
};
[root@dns ~]# cd /var/named/
[root@dns named]# cp -p named.localhost tdr.tds.zone //-p代表复制文件时保留文件的原有属性
[root@dns named]# vim tdr.tds.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
www A 192.168.1.225 //www必须顶格写,IP是web服务器的IP
//检查named.conf与zones⽂件
[root@dns named]# named-checkconf /etc/named.conf
[root@dns named]# named-checkconf /etc/named.rfc1912.zones
[root@dns named]# named-checkzone tdr.tds.zone tdr.tds.zone //检查tdr.tds.zone文件
[root@dns ~]# systemctl restart named //重启服务
【扩展:zone⽂件的格式说明
# $TTL 缓存的⽣存周期
# @ = zonename = itcast.com 当前域
# IN 互联⽹
# SOA 开始授权
# NS dns服务端 nameserver
# A ipv4 正向
# AAAA IPV6
# CNAME 别名
# MX 邮件交互记录 5 数字代表优先级 数字越⼩优先级越⾼
# 0 ; serial 更新序列号
# 1D
知道错了没:
; refresh 更新间隔(从服务器下载数据)
# 1H ; retry 失败重试
# 1W ; expire 区域⽂件的过期时间
# 3H ) ; minimum 缓存的最⼩⽣存周期
# D Day、H Hour、W Week
】
(4)去client主机:
[root@client ~]# ping www.tdr.tds
[root@client ~]# elinks