1. 程式人生 > 其它 >配置 DNS 分離解析

配置 DNS 分離解析

配置 DNS 分離解析

一:服務端配置

1.1 什麼是分離解析

分離解析的域名伺服器實際也是主域名伺服器,這裡主要是指根據不同的客戶端提供不同的域名解析記錄。 比如來自內網和外網的不同網段地址區域的客戶機請求解析同一域名時,為其提供不同的解析結果,得到不同的IP地址。

1.2 實驗拓撲

1.3 VMware配置和 宿主機配置

先在 虛擬機器新增 第二張網絡卡 ,設定為 vmnet 2 DNS伺服器連線內網的網絡卡設為vmnet1,內網的http伺服器設定為vmnet1 ,作為外網客戶端的windows 設定為 vmnet1

1.3.1 VMware 配置

1.3.2 宿主機設定

宿主機上,vmnet 1 網絡卡配置

宿主機vmnet2 網絡卡配置

1.4 為閘道器伺服器配置雙網絡卡

# 配置 網絡卡一 192.168.23.10 作為對內網提供 DNS 服務的 DNS 伺服器地址
# 配置 網絡卡二 12.0.0.1      作為對外網提供 DNS 服務的 DNS 伺服器地址
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp -p ifcfg-ens33  ifcfg-ens36
[root@localhost network-scripts]# vim ifcfg-ens36
YPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME="ens33"

#UUID=c4f6e9f4-8e96-4504-8c77-d419c5ae2cc7   
#UUID 一定要註釋或者刪除
#UUID代表裝置識別號,這是唯一的,不可以相同,否則會相互衝突

DEVICE="ens33"
ONBOOT=yes
IPADDR=12.0.0.1                 # ens36 設定為外網的介面,配置外網ip
NETMASK=255.255.255.0
#GATEWAY=192.168.23.2
#DNS1=192.168.23.2
:wq    #儲存退出

[root@localhost network-scripts]# vim ifcfg-ens33
YPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=c4f6e9f4-8e96-4504-8c77-d419c5ae2cc7
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.23.10
NETMASK=255.255.255.0
#GATEWAY=192.168.23.2       #註釋或刪除閘道器
#DNS1=192.168.23.2          #註釋或刪除DNS
:wq     #儲存退出           

[root@localhost network-scripts]# systemctl restart network     #重啟網絡卡
[root@localhost network-scripts]# ifconfig  ens33 
ens33: flags=4163
<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.23.10 netmask 255.255.255.0 broadcast 192.168.23.255 [root@localhost network-scripts]# ifconfig ens36 ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 12.0.0.1 netmask 255.255.255.0 broadcast 12.0.0.25

1.5 修改主配置檔案

(如果之前沒有做DNS ,下載軟體包bind )[root@localhost ~]# yum -y install bind

[root@localhost ~]# vim /etc/named.conf     #修改主配置檔案
options {
        listen-on port 53 {  any; };        #監聽本機或者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";
        allow-query     {  any; };          #允許使用本DNS 的主機,
        ......
};    

# 將根域註釋。一旦 啟用 view ,所有zone 都必須在 view 裡面 #zone "." IN { # type hint; # file "named.ca"; #};

1.6 修改區域配置檔案

[root@localhost ~]# vim /etc/named.rfc1912.zones    #配置區域配置檔案
view "lan" {                                        #定義內網 view ,view 代表容器分割,"lan" 便於區別
        match-clients { 192.168.23.0/24; };         #匹配內網網段。多個網段用 分號";" 間隔
        zone   "mynet.com" IN {                     # 定義域名
                type master;                        # 型別主
                file "mynet.com.zone.lan";          # 設定區域資料配置檔名,設定 .lan ,便於區分內網和外網
        };
        zone "." IN {                              
                type hint;            # hint 是根區域型別
                file "named.ca";
        };
      #有了根域,可以實現內網的伺服器訪問外網,
      #根域配置在 主配置檔案 /etc/named.conf 最後面. 可以切換檔案 剪下貼上
};


view "wan" {                                    # 定義外網view,定義為 "wan" 便於區別
        match-clients { any; };                 # 匹配除了 內網網段以外的任意地址
        zone   "mynet.com" IN {
                type master;
                file "mynet.com.zone.wan";
        };
};


# 注意!!! 
#一旦啟用 view ,所用的zone 必須在view 下所以要把系統預設的自檢用的zone 也放在view下,或者註釋,或者刪除
#注意,主配置檔案裡 /etc/named.conf 檔案裡 最後面的 根域配置,註釋或者刪除

1.7修改區域資料配置檔案

[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -p named.localhost   mynet.com.zone.lan
[root@localhost named]# cp -p named.localhost   mynet.com.zone.wan

[root@localhost named]# vim mynet.com.zone.lan                 #配置 內網 區域資料檔案
$TTL 1D
@       IN SOA  mynet.com.  admin.mynet.com. (                 #要設定完整合格域名
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      mynet.com.                                   #完整合格域名
        A       192.168.23.10                                # DNS 地址
www  IN A       192.168.23.11                                # www 的解析地址,解析到web 伺服器上
 
:wq   #儲存退出   


[root@localhost named]# vim mynet.com.zone.wan             # 配置外網的區域資料配置檔案
$TTL 1D
@       IN SOA  mynet.com.  admin.mynet.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      mynet.com.
        A       12.0.0.1                               # 對外網提供服務,所以設定成外網的地址
www  IN A       12.0.0.1                               # 外網主機通過解析 www.mynet.com 或者 12.0.0.1 地址

:wq   #儲存並退出 

1.8 啟動服務,測試

[root@localhost named]# systemctl stop firewalld      #關閉防火牆
[root@localhost named]# setenforce  0                 #設定selinux 等級
[root@localhost named]# systemctl restart named       #重啟服務

[root@localhost named]# vim /etc/resolv.conf         #配置 DNS 地址,測試
nameserver 192.168.23.10 
[root@localhost named]# host www.mynet.com           #測試域名解析
 www.mynet.com has address 192.168.23.11

二 :客戶端配置

2.1 內網web 伺服器配置

#192.168.23.11 作為web伺服器
[root@localhost ~]# vim /etc/resolv.conf       #設定DNS 地址
nameserver 192.168.23.10 

[root@localhost ~]# host www.mynet.com
www.mynet.com has address 192.168.23.11 

[root@localhost ~]# yum -y install httpd         #安裝httpd
[root@localhost ~]# systemctl start httpd        #啟動httpd
[root@localhost ~]# netstat -natp | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      42891/httpd  


2.2 訪問測試

2.2.1 內網訪問測試

內網訪問測試:
[root@localhost ~]# firefox http://192.168.23.11 [root@localhost ~]# firefox http://www.mynet.com
192.168.23.11,分別使用 ip地址 192.168.23.11 和 域名 www.mynet.com 訪問,看看是否會跳出 Apache 測試頁面

2.2.2 windows 訪問測試

三: 在DNS 伺服器上,做DHCP 服務

web 伺服器和 windows 客戶端 都是用dhcp 獲取

3.1 伺服器設定

# DNS 和DHCP  伺服器 192.168.23.10
[root@localhost ~]# yum -y install dhcp #下載安裝包 [root@localhost ~]# rpm -qc dhcp /etc/dhcp/dhcpd.conf [root@localhost ~]# cd /usr/share/doc/ [root@localhost doc]# cd dhcp-4.2.5/ [root@localhost dhcp-4.2.5]# cp -p dhcpd.conf.example /etc/dhcp/dhcpd.conf #複製模板檔案
[root@localhost dhcp]# vim dhcpd.conf #編輯主配置檔案 option domain-name "mynet.com"; #全域性配置,設定域名 #option domain-name-servers ns1.example.org, ns2.example.org; ddns-update-style none; #禁用dns 動態更新,可以加快dns 的響應速度 subnet 192.168.23.0 netmask 255.255.255.0 { #配置分配的網段 range 192.168.23.100 192.168.23.200; #配置網段地址池 option routers 192.168.23.10; #設定該網段的閘道器地址 option domain-name-servers 192.168.23.10; #設定該網段的DNS地址 } subnet 12.0.0.0 netmask 255.255.255.0 { range 12.0.0.100 12.0.0.200; option routers 12.0.0.1; option domain-name-servers 12.0.0.1; } [root@localhost dhcp]# systemctl stop firewalld #關閉防火牆 [root@localhost dhcp]# setenforce 0 #設定selinux 等級為 permissive
[root@localhost dhcp]# systemctl restart dhcpd              #重啟dhcp

3.2 web 伺服器設定

# web 伺服器設定
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=dhcp         #將網絡卡的 BOOTPROTO 設定為DHCP 獲取     


[root@localhost ~]# systemctl restart network
[root@localhost ~]# ifconfig ens33                                #檢視DHCP 獲取到的地址
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.23.100  netmask 255.255.255.0  broadcast 192.168.23.255

3.3 DNS 伺服器重新配置區域資料檔案

由於web 伺服器使用DHCP 獲取後,IP 地址改變,所以要 重新 配置區域資料檔案裡的 正向解析地址

[root@localhost dhcp]# vim /var/named/mynet.com.zone.lan
$TTL 1D
@       IN SOA  mynet.com.  admin.mynet.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      mynet.com.
        A       192.168.23.10
www  IN A       192.168.23.100
:wq

[root@localhost dhcp]# systemctl restart named 

3.4 測試

3.4.1 內網測試

火狐瀏覽器訪問域名

3.4.2windows 客戶端使用 dhcp 獲取,然後測試DNS 解析

(1) 網絡卡配置,選擇自動獲得IP地址

(2) 檢視該網絡卡資訊

(3) 解析測試