Dns
安装bind ¶
yum -y install bind*
编辑named.conf配置文件 ¶
vim /etc/named.conf
//直接复制以下内容也行
options {
listen-on port 53 { any; }; // 监听在主机的53端口上。any代表监听所有的主机
directory "/var/named"; // 此档案底下有规范到正反解的zone file档名时,该档名预设放置根目录
// 下面三项是服务的相关统计信息
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";
allow-query { any; }; // 谁可以对我的DNS服务器提出查询请求。any代表任何人
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
forwarders { // 指定上层DNS服务器
100.100.2.138;
};
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
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";
自定义域名解析配置 ¶
vim /etc/named.rfc1912.zones
# 这个文件需要在最后面进行追加操作, 例如:
zone "test.local" IN {
type master;
file "test.local.zone";
};
自定义编写test.local.zone文件 ¶
root@japan:~ # cat /var/named/test.local.zone
$TTL 86400
@ IN SOA ns.test.local. root (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
0) ; minimum
@ IN NS ns.test.local.
ns IN A 127.0.0.1
www.test.local. IN A xxx
test.local. IN A xxx
其中 ns.test.local 代表当前dns服务器名称。所以 ns.test.local 一定要解析到自己本身,注意,不要忘记最后面的小数点,
修改这个文件的权限 ¶
chown root:named /var/named/test.local.zone
启动服务 ¶
systemctl enable --now named
配置防火墙规则 ¶
iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -m state --state NEW -p udp --dport 53 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 953 -j ACCEPT
service iptables save
到这儿,基本上就完了,此时我们可以手动修改本地dns,也可以利用openvpn的推送dns选项功能来实现连接vpn才能解析test.local的功能
说到这儿,顺便提下,windows10中完整查看本机的dns配置(不同的网络接口),可以这样操作,如下图: