-
安装DNS 库 和 DNS工具:
bash# bind 是用于创建 dns服务的, bind-utils是用于测试DNS服务的工具 yum -y install bind bind-utils
-
配置主配置文件:
bash# 下载好后就已经有DNS服务,但是需要你自己去配置DNS服务信息 # 配置主配置文件 [root@leisure ~]# vi /etc/named.conf # 配置内容如下:下面的两个any就是修改后的, 第一个表示:监听所有请求,第二个表示允许所有请求 options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; 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; };
-
配置区域文件:
bash# 配置区域配置文件 [root@leisure ~]# vi /etc/named.rfc1912.zones # 配置信息如下显示:需要配置那个就在最后面添加就行 # 正向解析会将 htt://www.gitlab.com 解析成对应的ip地址,怎么解析了?需要去gitlab.com.zone文件中解析,所以还需要创建这个文件 zone "leisuregitlab.com" IN { type master; file "leisuregitlab.com.zone"; }; # 反向解析会将 htt://192.168.247.136 解析成对应的域名,怎么解析了?需要去192.168.247.138.zone文件中解析,所以还需要创建这个文件 zone "192.168.247.138.in-addr.arpa" IN { type master; file "192.168.247.138.zone"; };
-
创建gitlab.com.zone文件:
bash# 使用拷贝的方式创建 leisuregitlab.com.zone文件 。 拷贝模板 /var/named/named.localhost [root@leisure ~]# cp -p /var/named/named.localhost /var/named/leisuregitlab.com.zone # 设置leisuregitlab.com.zone文件的内容 [root@leisure ~]# vi /var/named/leisuregitlab.com.zone # 修改前:/var/named/leisuregitlab.com.zone文件内容 $TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1 # 修改后:/var/named/leisuregitlab.com.zone文件内容 $TTL 1D @ IN SOA leisuregitlab.com. root.leisuregitlab.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS dns.leisuregitlab.com. dns IN A 192.168.2.211 www IN A 192.168.2.211 # dns IN A 192.168.2.211 的意识是将 dns.leisuregitlab.com 的地址转换为:192.168.2.211 # www IN A 192.168.247.140 的意思是将 www.leisuregitlab.com 的地址转换为:192.168.2.211 # 这些都可以更具你具体的需要进行转换
-
配置DNS服务器ip地址:
bash# 配置DNS服务器地址 [root@leisure ~]# vi /etc/resolv.conf # 设置内容为 ,192.168.2.176 为我的linux的ip地址 nameserver 192.168.2.176
-
启动DNS服务:
bash[root@leisure ~]# systemctl start named
-
设置防火墙:
bash# 开启防火墙的DNS服务 [root@leisure ~]# firewall-cmd --permanent --add-service=dns success # 重载防火墙规则,使更改生效 [root@leisure ~]# sudo firewall-cmd --reload success
-
使用工具验证
bash# 解析 nslookup 工具是 bind-utils提供的。 出现下面提示就表示域名解析成功了 [root@leisure ~]# nslookup www.leisuregitlab.com Server: 192.168.2.176 Address: 192.168.2.176#53 Name: www.leisuregitlab.com Address: 192.168.2.211
问题
1 windows 的 nslookup可以解析,ping却不可以?
- 首先可能是你的VMware 设置的NAT链接模式导致的问题。我也不太清楚是什么问题。
- 但是我将NAT的网络连接模式转换为桥接模式(勾选 复制物理网络链接状态)后重新设置后发现就不会存在这种问题了。
2 windows如何配置DNS服务?
-
选择控制面板 ---》网络和 Internet---》网络和共享中心 ---》更改适配器设置
-
点击对应网络:
-
点击设置属性:
-
设置ipv4的DNS属性。
-
点击 高级
-
选择 DNS
-
然后设置 自己的DNS服务器ip 和 一些外网DNS服务器ip
- 一定要设置外网DNS服务器ip,不然使用域名上不了网了。只用设置几个常用的就行了,网上有相关资料。
-
这样就设置成功了
-
可以使用命令验证是否配置成功.
bashC:\Users\a7606>nslookup www.leisuregitlab.com Server: UnKnown Address: 192.168.2.176 Name: www.leisuregitlab.com Address: 192.168.2.211 # 这个表示验证成功了 C:\Users\a7606>ping www.leisuregitlab.com Pinging www.leisuregitlab.com [192.168.2.211] with 32 bytes of data: Reply from 192.168.2.211: bytes=32 time<1ms TTL=64 Reply from 192.168.2.211: bytes=32 time<1ms TTL=64 Reply from 192.168.2.211: bytes=32 time<1ms TTL=64 Reply from 192.168.2.211: bytes=32 time<1ms TTL=64
-