根域名 : .
ipv4全国有13台根域名服务器(美国)
一级域名 .cn(中国) .us .tw .hk .jp .kr ……….
二级域名: .com.cn (商业).org.cn .net(互联网).cn ………
三级域名: haha.com.cn xixi.com.cn .nb.com.cn …..
Full Qualified Domain Name
FQDN(完全合格的域名):站点名+注册的域名
例子: haha.com 首页:www.haha.com
邮件:mail.haha.com
会员:vip.haha.com
搭建
•BIND(Berkeley Internet Name Daemon)
–伯克利 Internet 域名服务
–官方站点:https://www.isc.org/
BIND服务器端程序
–主要执行程序:/usr/sbin/named
–系统服务:named
–DNS协议默认端口:53
–运行时的虚拟根环境:/var/named/chroot
•主配置文件:/etc/named.conf #设置负责解析的域名
•地址库文件:/var/named #完全合格的域名与IP地址对应关系
例如: www.haha.com 192.168.1.1
mail.haha.com 192.168.44.1
dnf.haha.com 192.168.55.2
1.配置文件修改(一定要用备份)
1.删除
最终删除完成的样子
(可以删除,默认any)
2.修改
•主配置文件:/etc/named.conf
options {
listen-on port 53 { any; }; #监听本机所有地址的53端口(可以删除,默认any)
listen-on-v6 port 53 { ::1; }; #必须删除,关于IPv6地址
……此处省略一万字
allow-query { any; }; #允许所有客户端进行DNS查询可以删除,默认any)
……此处省略一万字
recursion yes; #支持递归查询
zone "." IN {
type hint;
file "named.ca";
};
zone "tedu.cn" IN {
type master;
file "tedu.cn.zone";
};
……此处省略一万字
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
2.建立地址库文件
1.复制
2.修改
vim tedu.cn.zone
- ns谁解析域名 域名 ns 谁
2. 谁解析得到的结果 谁 a 解析结果
ns前面必须有空格,默认表示主配置文件的域名,其他需顶格写
3.重启
systemctl restart named
4.验证
nslookup www.tedu.cn --推荐
host ftp.tedu.cn --输出精简
5.指定地址库文件
哪台机器访问,指定服务器地址
案例
虚拟机A:构建DNS服务器
1.安装软件包
[root@server ~]# yum -y install bind bind-chroot
bind(主程序)
bind-chroot(提供牢笼政策)
2.修改主配置文件
[root@server ~]# cp -p /etc/named.conf /root #备份数据
[root@server ~]# ls -l /root/named.conf
[root@server ~]# vim /etc/named.conf #大致浏览内容
[root@server ~]# vim /etc/named.conf
options {
directory "/var/named"; #定义地址库文件存放路径
};
zone "tedu.cn" IN { #定义负责的解析tedu.cn域名
type master; #权威主DNS服务器
file "tedu.cn.zone"; #地址库文件名称
};
3.建立地址库文件
保证named用户对地址库文件有读取权限
如果没有以点作为结尾,那么默认补全本地库文件负责的域名
[root@server ~]# cd /var/named/
[root@server ~]# cp -p named.localhost tedu.cn.zone #保持权限不变
[root@server ~]# ls -l tedu.cn.zone
[root@server ~]# vim tedu.cn.zone
……此处省略一万字
NS server #声明DNS服务器为server
server A 192.168.88.240 #server解析结果为192.168.88.240
www A 1.1.1.1
ftp A 2.2.2.2
[root@server named]# systemctl restart named
虚拟机B:测试DNS服务器
1.指定DNS服务器地址
[root@server ~]# echo nameserver 192.168.88.240 > /etc/resolv.conf
[root@server ~]# cat /etc/resolv.conf
2.命令测试域名解析
[root@server ~]# nslookup www.tedu.cn
[root@server ~]# host ftp.tedu.cn
/etc/hosts文件与/etc/resolv.conf文件
1./etc/hosts文件域名解析最高优先级
2./etc/resolv.conf文件指定DNS服务器地址
6.特殊解析
DNS的泛域名解析
1.×站点名任意名称都可以,优先级最低
域名不能写错
2. . --》可以直接通过域名访问
tedu.cn. A 7.7.7.7
重启服务
虚拟机A:
[root@server /]# vim /var/named/tedu.cn.zone
……此处省略一万字
NS server
server A 192.168.88.240
www A 1.1.1.1
ftp A 2.2.2.2
* A 6.6.6.6
tedu.cn. A 7.7.7.7
[root@server /]# systemctl restart named
虚拟机B测试:
[root@pc2 /]# nslookup wwwwww.tedu.cn
[root@pc2 /]# nslookup tedu.cn
配置dns服务器时,区域类型type设置为master表示权威主dns服务器
slave表示为从dns服务器
hint表示根域服务器
forward表示为转发服务器
•DNS有规律的泛域名解析
stu1.tedu.cn-------->192.168.1.1
stu2.tedu.cn-------->192.168.1.2
stu3.tedu.cn-------->192.168.1.3
stu4.tedu.cn-------->192.168.1.4
.........
stu50.tedu.cn-------->192.168.1.50
3.内置函数:$GENERATE 制造连续的数字
$GENERATE 1-50 stu$ A 192.168.1.$
超过设置的范围,会以×号进行匹配
虚拟机A:
[root@server /]# vim /var/named/tedu.cn.zone
……此处省略一万字
NS server
server A 192.168.88.240
www A 1.1.1.1
$GENERATE 1-50 stu$ A 192.168.1.$
[root@server /]# systemctl restart named
虚拟机B测试:
[root@pc2 /]# nslookup stu1.tedu.cn
[root@pc2 /]# nslookup stu23.tedu.cn
4.DNS的解析记录的别名
vim /var/named/tedu.cn.zone
需要原名存在
虚拟机A:
[root@server /]# vim /var/named/tedu.cn.zone
……此处省略一万字
NS server
server A 192.168.88.240
www A 192.168.4.20
ftp A 2.2.2.2
vip CNAME ftp #vip解析结果与ftp解析结果一致
[root@server /]# systemctl restart named
虚拟机B:测试
[root@pc2 ~]# nslookup vip.tedu.cn
DNS服务器资源解析记录的类型:
NS:DNS服务器声明记录
A:正向解析记录
CNAME:解析记录的别名
7.测试解析
nslookup www.tedu.cn --推荐
host ftp.tedu.cn --输出精简
dig 解析测试
7. 递归查询(递归解析)与迭代查询(迭代解析)
递归查询:客户端发送请求给首选DNS服务器,首选DNS服务器与其他的DNS服务器交流,最终将解析结果带回来过程
迭代查询: 客户端发送请求给首选DNS服务器,首选DNS服务器告知下一个DNS服务器地址
一次递归,多次迭代
一级和少数二级dns服务器不支持递归查询
邮件服务器
•电子邮件服务器的基本功能
为用户提供电子邮箱存储空间(用户名@邮件域名)
处理用户发出的邮件 —— 传递给收件服务器
处理用户收到的邮件 —— 投递到邮箱
/var/mail/ 收件人名称 存储邮件信息路径
[root@server /]# yum -y install postfix
[root@server /]# rpm -q postfix #提供邮件功能的软件
postfix-2.10.1-9.el7.x86_64
[root@server /]# systemctl status postfix
[root@server /]# useradd yg
[root@server /]# useradd xln
mail 发信操作: mail -s '邮件标题' -r 发件人 收件人
[root@server /]# yum -y install mailx #提供mail命令软件
[root@server /]# mail -s 'test01' -r yg xln
hahaxixiehehelele
. #一行只有一个点表示提交
EOT
mail 收信操作: mail [-u 用户名]
[root@server /]# mail -u xln
>N 1 yg@server.tedu.cn Fri Sep 18 17:24 18/510
& 1 #输入邮件编号
& quit #退出
非交互式发邮件:
[root@server ~]# echo 123456 | mail -s 'test02' -r yg xln
[root@server ~]# mail -u xln
•210.72.145.39 (国家授时中心服务器IP地址)
•Stratum(分层设计)
•Stratum层的总数限制在15以内(包括15)
虚拟机A:时间服务器
1.安装软件包chrony
[root@server /]# yum -y install chrony
[root@server /]# rpm -q chrony
2.修改配置文件
[root@server /]# vim /etc/chrony.conf
#pool 2.pool.ntp.org iburst #与谁同步时间,iburst表示快速同步
allow all #开头的#去掉,修改为允许所有客户端
local stratum 10 #开头的#去掉,本机为第10层的时间服务器
3.重启时间服务
[root@server /]# systemctl restart chronyd
虚拟机B:客户端
1.安装软件包chrony
[root@pc2 /]# yum -y install chrony
2.修改配置文件
[root@pc2 /]# vim /etc/chrony.conf
server 192.168.88.240 iburst #与192.168.88.240同步时间
3.重启时间服务
[root@pc2 /]# systemctl restart chronyd
虚拟机B:
4.测试:
[root@pc2 /]# date -s "2008-1-1"
[root@pc2 /]# date
[root@pc2 /]# systemctl restart chronyd
[root@pc2 /]# date
[root@pc2 /]# date
综合实战(附加题)
关闭防火墙与SELinux
虚拟机A:
1. 构建Web服务器
[root@server /]# yum -y install httpd
2. 建立配置文件
[root@server /]# vim /etc/httpd/conf.d/nsd01.conf #建立调用配置文件
<VirtualHost *:80> #启用虚拟Web主机功能,使用80端口
ServerName www.qq.com #网站名称
DocumentRoot /var/www/qq #网页文件路径
</VirtualHost>
<VirtualHost *:80>
ServerName 360.qq.com
DocumentRoot /var/www/360
</VirtualHost>
3. 建立网站
[root@server /]# mkdir /var/www/qq /var/www/360
[root@server /]# echo wo shi QQ > /var/www/qq/index.html
[root@server /]# echo wo shi 360 > /var/www/360/index.html
4. 重启服务
[root@server /]# systemctl restart httpd
5.构建DNS服务器
[root@server /]# yum -y install bind bind-chroot
6.主配置文件的修改
[root@server /]# vim /etc/named.conf
options {
directory "/var/named"; #地址库文件存放路径
};
zone "tedu.cn" IN {
type master;
file "tedu.cn.zone";
};
zone "qq.com" IN { #定义负责解析qq.com域名
type master; #类型主DNS服务器
file "qq.com.zone"; #地址库文件名称
};
7.地址库文件的建立
[root@server ~]# cd /var/named/
[root@server ~]# cp -p named.localhost tedu.cn.zone #保持权限不变
[root@server ~]# ls -l tedu.cn.zone
[root@server ~]# vim tedu.cn.zone
……此处省略一万字
NS server #声明DNS服务器为server
server A 192.168.88.240 #server解析结果为192.168.88.240
www A 1.1.1.1
ftp A 2.2.2.2
[root@server ~]# cp -p named.localhost qq.com.zone
[root@server ~]# vim qq.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS server
server A 192.168.88.240 #DNS服务器的IP地址
www A 192.168.88.240 #由于Web服务器也是192.168.88.240
360 A 192.168.88.240 #解析结果要写Web服务器地址
8.重启服务
[root@server /]# systemctl restart named
虚拟机B测试:(避免/etc/hosts文件影响)
[root@pc2 ~]# echo nameserver 192.168.88.240 > /etc/resolv.conf
[root@pc2 ~]# nslookup www.qq.com
Server: 192.168.88.240
Address: 192.168.88.240#53
Name: www.qq.com
Address: 192.168.88.240
[root@pc2 ~]# nslookup 360.qq.com
Server: 192.168.88.240
Address: 192.168.88.240#53
Name: 360.qq.com
Address: 192.168.88.240
[root@pc2 ~]#
[root@pc2 ~]# curl 360.qq.com
wo shi 360
[root@pc2 ~]# curl www.qq.com
wo shi QQ
[root@pc2 ~]#