在做APP开发测试,由于手机不能像电脑修改host文件那样方便的映射dns,所以在局域网进行调试时,需要搭建一台DNS服务器用于给移动设备进行解析。
准备两台最小化Centos 7 服务器,一台用来搭建dns服务器,一台用来测试dns;一台window 10 用来测试dns,机器IP如下:
- dns 服务器 IP:192.168.122.254
- linux 客户端IP:192.168.0.71
- window 客户端IP:192.168.0.254
实现步骤
- 我们测试的域名:sway.com.cn
- 使用bind搭建dns服务器
- 防火墙开启53端口访问
- 配置客户端的dsn服务
- 测试dns使用
1、配置部署服务端
在需要搭建dns服务的centos 7机器上操作
- 安装bind
yum -y install bind bind-chroot bind-utils
安装完后,相关的配置主要涉及以下几个目录的文件:
/etc/named.conf #主配置文件
/etc/named.rfc1912.zones #拓展配置文件
/var/named/ #zone 配置文件目录
- named的核心配置文件:/etc/named.conf:
1、修改 listen-on port 53 { 127.0.0.1; }; 为 any
2、修改 allow-query { localhost; }; 为 any
listen-on port 53 { any; };
vim /etc/named.conf
options {
listen-on port 53 { any; }; #监听0.0.0.0 53端口,ipv4
listen-on-v6 port 53 { ::1; }; #监听0.0.0.0 53端口,ipv6
directory "/var/named"; #zone 目录
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; }; #允许查询
recursion yes; #运行迭代
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones"; #扩展配置文件
include "/etc/named.root.key";
- 向拓展配置文件加入您的域名信息:/etc/named.rfc1912.zones
zone "szlz.com" IN { type master; file "sway.com.cn.zone"; };
- 在/var/named/ #zone目录创建您的域名解析文件sway.com.cn.zone:
$TTL 1D @ IN SOA @ dns.sway.com.cn. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ NS dns dns A 192.168.122.254 web1 A 192.168.122.8 mail A 192.168.122.2 MX 10 mail.sway.com.cn. test1 A 192.168.0.71
- 使用named-checkzone命令检测您的配置文件:
named-checkzone named-checkzone sway.com.cn /var/named/sway.com.cn.zone
- 启动bind并开机自启动
systemctl start named systemctl enable named
2、配置linux客户端的dns
修改/etc/resolv.conf文件设置dns服务器:
nameserver 192.168.122.254 nameserver 114.114.114.114
3、配置windows客户端的dns
修改网卡属性,设置ipv4协议中的dns服务器为:192.168.122.254
4、使用ping命令测试
使用ping dns.sway.com.cn查看解析是否正确即可
5、开启防火墙(如果有开防火墙的话)
systemctl stop firewalld systemctl disable firewalld systemctl status firewalld iptables -A INPUT -p tcp --dport 53 -j ACCEPT