Linux系统中DNS的配置
2201_75466835 2024-10-19 09:07:01 阅读 60
[root@es_001 ~]# # 现在管理的是web主机,作用是发布web服务
[root@es_001 ~]# # 安装nginx
[root@es_001 ~]# # 启动并且发布项目
[root@es_001 ~]# # 安装之前,要确定网络和仓库文件是不是正确的
[root@es_001 ~]# # 仓库文件aliyun、epel
[root@es_001 ~]# # ping www.baidu.com
[root@es_001 ~]# # 1.安装nginx
[root@es_001 ~]# # yum -y install nginx
[root@web ~]# ping www.baidu.com
PING www.a.shifen.com (180.101.50.188) 56(84) bytes of data.
64 bytes from 180.101.50.188 (180.101.50.188): icmp_seq=1 ttl=128 time=42.2 ms
64 bytes from 180.101.50.188 (180.101.50.188): icmp_seq=2 ttl=128 time=85.5 ms
[root@web ~]# ls /etc/yum.repos.d/
dvd.repo
[root@web ~]# yum clean all
[root@web ~]# yum makecache
dvd | 3.6 kB 00:00
(1/4): dvd/group_gz | 166 kB 00:00
(2/4): dvd/primary_db | 5.9 MB 00:00
(3/4): dvd/filelists_db | 6.9 MB 00:00
(4/4): dvd/other_db | 2.5 MB 00:00
元数据缓存已建立
[root@web ~]# yum -y install wget
[root@web ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
[root@web ~]# yum clean all
[root@web ~]# yum makecache
[root@web ~]# yum repolist all
[root@web ~]# ls /etc/yum.repos.d/
CentOS-Base.repo dvd.repo
[root@web ~]# yum -y install epel-release.noarch
[root@web ~]# yum -y install nginx
[root@web ~]# rpm -aq | grep nginx
nginx-1.20.1-10.el7.x86_64
nginx-filesystem-1.20.1-10.el7.noarch
[root@web ~]# # 修改html文件,启动服务
[root@web ~]# cat "我是web服务器,用于发布动态的web网页" > /usr/share/nginx/html/index.html
cat: 我是web服务器,用于发布动态的web网页: 没有那个文件或目录
[root@web ~]# echo "我是web服务器,用于发布动态的web网页" > /usr/share/nginx/html/index.html
[root@web ~]# # 启动nginx服务
[root@web ~]# nginx
[root@web ~]# echo "I am web server mirrors is static file manager" > /usr/share/nginx/html/index.html
[root@web ~]# ifconfig | head -2
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.119.11 netmask 255.255.255.0 broadcast 192.168.119.2
[root@client ~]# # 现在访问的是192.168.119.11 web服务上的内容
[root@client ~]# # curl http://192.168.119.11:80
[root@client ~]# # 由于IP地址没有语义,我们希望使用有语义的域名:www.yuanyu.zhangmin
[root@client ~]# # curl www.yuanyu.zhangmin
[root@client ~]# # 使用域名访问,它会到指定的DNS服务器上去解析/etc/sysconfig/network-scripts/ifcfg-ens33
[root@client ~]# # 自己创建一个DNS服务器去解析www.yuanyu.zhangmin这个域 名。现在DNS1与DNS2两台服 务器上没有析www.yuanyu.zhangmin
[root@client ~]# #接下来的任务就是配置一个DNS服务器
[root@client ~]# #扩展:elinks模拟浏览器
[root@client ~]# yum -y install elinks.x86_64
[root@client ~]# # 使用elinks访问百度
[root@client ~]# elinks
按CTRL+C退出
[root@client ~]# # 先不要管client主机,现在要配置重头DNS服务器
[root@client ~]# # 不能使用传统的DNS,那么就希望有一个自定义DNS服务器
[root@client ~]# # DNS服务器:192.168.119.129(cent)
[root@client ~]# # 临时配置,将这台主机作为DNS服务器
[root@client ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 114.114.114.114
[root@localhost ~]# # 传统的DNS
[root@localhost ~]# # 添加新的DNS服务器
[root@localhost ~]# # 将传统DNS直接覆盖掉
[root@client ~]# echo "nameserver 192.168.119.129" > /etc/resolv.conf
[root@client ~]# cat /etc/resolv.conf
nameserver 192.168.119.129
[root@client ~]# ping www.baidu.com
ping: www.baidu.com: 未知的名称或服务
[root@client ~]# # 将DNS服务修改为8.8.8.8,就又能访问百度
[root@client ~]# # 修改/etc/resolv.conf文件,可以临时修改DNS服务器的地址
[root@client ~]# # 但当主机重启,或重启network会重置
[root@client ~]# # 重启network服务
[root@client ~]# systemctl restart network
[root@client ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 114.114.114.114
[root@localhost ~]# # 现在管理DNS主机
[root@localhost ~]# # 配置一个DNS服务
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/selinux/config
[root@localhost ~]# systemctl stop firewalld
[root@DNS ~]# # DNS主机的基础已经配置完成
[root@DNS ~]# yum search bind 搜索是否有bind
[root@DNS ~]# yum list installed | grep bind
[root@DNS ~]# yum -y install bind
[root@DNS ~]# rpm -ql bind 两个重要的配置文件
主要定义域名如何解析,正向解析:解析到具体的IP地址
|
主要配置访问权限控制,配置哪些主机可以访问DNS服务器
|
[root@DNS ~]# systemctl start named
[root@DNS ~]# # 现在正在管理DNS主机
[root@DNS ~]# # 给两个重要的配置文件修改名称,打包
[root@DNS ~]# cp /etc/named.conf /etc/named.conf.bak
[root@DNS ~]# cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak
[root@DNS ~]# ls -l /etc/named*
-rw-r-----. 1 root named 1806 6月 11 22:41 /etc/named.conf
-rw-r-----. 1 root root 1806 7月 23 21:11 /etc/named.conf.bak
-rw-r--r--. 1 root named 3923 6月 11 22:41 /etc/named.iscdlv.key
-rw-r-----. 1 root named 931 6月 21 2007 /etc/named.rfc1912.zones
-rw-r-----. 1 root root 931 7月 23 21:12 /etc/named.rfc1912.zones.bak
-rw-r--r--. 1 root named 1886 4月 13 2017 /etc/named.root.key
[root@DNS ~]# # 修改/etc/named.conf文件,这个文件的作用就是管理权限:哪些主机可以连接我(DNS)
[root@DNS ~]# vim /etc/named.conf
只监听自身的访问53端口的请求(53端口:bind软件开放的端口)
允许其它的服务来访问
[root@DNS ~]# systemctl restart named
ping: www.baidu.com: 未知的名称或服务
这里它找了一会儿才显示没有找到,这是因为刚才配置了文件,允许任何机器去访问
[root@DNS ~]# # 配置/etc/named.rfc1912.zones域名解析文件
[root@DNS ~]# vim /etc/named.rfs1912.zones
Set number 显示行号
:12 , 18 copy 42 将12~18行复制到42行
模板文件
|
[root@DNS ~]# ls -l /var/named/ 该文件的所属组为named,故复制时需用-p选项
[root@DNS named]# # cp命令的-p选项用于保留文件的权限和属性,而不进行更改
[root@DNS named]# cp -p named.localhost yuanyu.zhangmin.zon
[root@DNS named]# ls -l /var/named/
-rw-r-----. 1 root named 152 6月 21 2007 yuanyu.zhangmin.zone
[root@DNS named]# # 编辑yuanyu.zhangmin.zone
[root@DNS named]# vim yuanyu.zhangmin.zone
域名查询方式:递归查询(一层一层的查找www.baidu.com)
迭代查询(第一次找到之后对其进行缓存,下次再找时直接找到缓存)
递归查询速度比较慢,但是很精确
而迭代查询查找速度快,但若IP地址发生变更,会出错
Zone文件格式说明:
# 缓存周期一天(第二天要重新递归查询)
$TTL 1D
# @ 当前域 IN互联网 SOA 开始授权 @ 当前域 rname.invalid. 邮箱
@ IN SOA @ rname.invalid.
# 更新序列号
0 ; serial
# 更新间隔
1D ; refresh
# 1小时之后再失败重试一次
1H ; retry
# 区域文件的过期时间(7天)
1W ; expire
# 缓存的最小生存周期(3小时)
3H ) ; minimum
Web机器的IP地址
[root@DNS named]# # 检查配置文件,看是否配置错误
[root@DNS named]# named-checkconf /etc/named.conf
[root@DNS named]# named-checkconf /etc/named.rfc1912.zones
[root@DNS named]# named-checkzone yuanyu.zhangmin.zone yuanyu.zhangmin.zone
zone yuanyu.zhangmin.zone/IN: loaded serial 0
OK
[root@DNS named]# systemctl restart named
[root@DNS named]# netstat -lnptu | grep named
[root@client ~]# ping www.yuanyu.zhangmin
[root@client ~]# ping www.baidu.com
[root@client ~]# elinks
说明正向解析配置成功
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。