大家好,又见面了,我是你们的朋友全栈君。
一、什么是DNS服务器
DNS(Domain Name System):域名系统 用于IP和域名的解析 产生原因:上网需要IP,而IP不好记忆,用英文字母表示的域名便于记忆。
二、CentOS 7 配置DNS服务器过程
1.准备服务器、客户端
服务器 | IP |
---|---|
DNS服务器 | IP=192.168.222.110 |
客户端 | IP=192.168.222.137 |
测试机 | IP=192.168.222.100 |
2.DNS服务器配置(192.168.222.110)
改网卡
代码语言:javascript复制vi /etc/sysconfig/network-scripts/ifcfg-ens33
DNS1=192.168.222.110
重启网络
代码语言:javascript复制systemctl restart network
本地yum安装bind
代码语言:javascript复制cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak #禁用网络源
vi CentOS-Media.repo #修改本地源配置
baseurl=file:///mnt #光盘挂载点
enabled=1 #启用本地源
mount /dev/sr0 /mnt #挂载光盘到/mnt下
yum -y install bind #安装bind
建立配置文件
代码语言:javascript复制vi /etc/named.conf
修改以下内容:
代码语言:javascript复制options:
listen-on port 53 {
192.168.222.110; }; #DNS服务器IP
allow-query {
0.0.0.0/0; };
下方添加以下内容:
代码语言:javascript复制zone "baidu.com" IN {
type master; #声明DNS为主DNS
file "baidu.com.zone"; #声明要解析的域名:baidu.com,并生成以baidu.com.zone为名的数据文件
};
zone "222.168.192.in-addr.arpa" IN {
type master;
file "192.168.222.zone"; #声明要解析的IP网段,并生成以192.168.222.zone为名的数据文件
};
保存,并检查语法错误
代码语言:javascript复制named-checkconf
建立区域数据文件(正向解析)
代码语言:javascript复制cd /var/named
vi /var/named/baidu.com.zone
编辑这个新文件,添加以下内容
代码语言:javascript复制$TTL 510
@ IN SOA baidu.com test.baidu.com. {
20210324
4H
15M
2W
2D
}
@ IN NS dns.baidu.com.
www.baidu.com. IN A 192.168.222.138
dns.baidu.com. IN A 192.168.222.100
#这里设置了两个对应关系:www.baidu.com对应192.168.222.138
#dns.baidu.com对应192.168.222.100
保存,检测语法错误
代码语言:javascript复制named-checkzone baidu.com ./baidu.com.zone
显示OK,表示没有问题。
建立反向区域数据文件(反向解析)
代码语言:javascript复制vi /var/named/192.168.222.zone
编辑这个新文件,添加以下内容
代码语言:javascript复制$TTL 510
@ IN SOA baidu.com test.baidu.com. {
20210324
4H
15M
2W
2D
}
@ IN NS dns.baidu.com.
138 IN PTR www.baidu.com.
100 IN PTR dns.baidu.com.
#这里把两个对应关系反向对应,即既能通过域名找到IP,也能通过IP找到域名
保存,检测语法错误
代码语言:javascript复制named-checkzone 222.168.192.in-addr.arpa ./192.168.222.zone
显示OK,表示没有问题。
如果以上都没有问题,启动DNS服务
代码语言:javascript复制systemctl start named
至此,DNS服务器配置完毕。
3.客户端配置(192.168.222.137)
改网卡
代码语言:javascript复制vi /etc/sysconfig/network-scripts/ifcfg-ens33
DNS1=192.168.222.110
域名解析指向DNS服务器
代码语言:javascript复制vi /etc/resolv.conf
nameserver 192.168.222.110
重启网络服务
代码语言:javascript复制systemctl restart network
4.打开测试机(192.168.222.100)
启动该虚拟机即可。
5.防火墙配置(解决ping未知服务问题)
开启DNS端口:tcp53、udp53、tcp953 客户端和DNS服务器均要配置
代码语言:javascript复制vi /etc/sysconfig/iptables
添加以下内容
代码语言:javascript复制-A INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 953 -j ACCEPT
保存退出,并重启防火墙服务
代码语言:javascript复制systemctl restart iptables.service
5.防火墙配置(解决ping未知服务问题)
6.测试DNS服务器
也可以用nslookup测试
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/136115.html原文链接:https://javaforall.cn