DNS 基礎配置實現網際網路訪問
1、本地名稱解析配置檔案:hosts 配置檔案 /etc/hosts
格式:
10.0.0.150 www.baidu.com
39.156.66.14www.baidu.com 10.0.0.150 www.baidu.com www.360.com #支援一個IP 配多個域名 這樣的話,在去ping www.baidu.com 的時候,看到的地址是10.0.0.150 誰在前,誰起作用 備註:想改這個優先順序的話,可以改/etc/nsswitch.conf 檔案,把hosts 那一行 dns 房子哎前面,files 放在後面就行 2、DNS 軟體 bind centos8 上操作 dnf list bind* #檢視有哪些包 dnf -y install bind bind-utils #我們只需要安裝這倆包就行 然後檢視一下 rpm -ql bind 安裝包後,會自動建立一個內部使用者 namedroot@centos8 ~]# id named
uid=25(named) gid=25(named) groups=25(named)
看一下這個DNS服務的狀態
[root@centos8 ~]# systemctl status named.service
● named.service - Berkeley Internet Name Domain (DNS)
Loaded: loaded (/usr/lib/systemd/system/named.service; disabled; vendor preset: disabled)
Active: inactive (dead)
#設定為開機啟動
[root@centos8 ~]# systemctl enable --now named.service
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.
#檢視埠號 DNS 預設的埠號是53
[root@centos8 ~]# ss -ntul
到這裡,我們本機已經是DNS 伺服器了,驗證一下
1、可以修改一下 etc/sysconfig/network-scripts/ ifcfg-eth0 修改裡面的DNS 地址為本機地址
2、nmcli connection reload #重啟網路 centos8 用這種方式
3、nmcli conncetion #檢視連線
4、nmcli connnect up etho #把網絡卡啟動
5、cat /etc/resolv.conf #檢視是否識別出了這個dns 127.0.0.1
6、ping www.baidu.com 看能不能ping 通
第二步測試,其他機器是否能用這臺伺服器解析域名上網,用一臺centos7 機器
1、etc/sysconfig/network-scripts/ ifcfg-eth0 修改裡面的DNS 地址為剛才伺服器的地址 10.0.0.160
2、重啟一下網路如果是centos7 的話,網路重啟只需要systemctl restart network
3、 ping 一下百度發現報錯
root@centos7 network-scripts]# ping www.baidu.com
ping: www.baidu.com: Name or service not known
4、這個時候,我們需要安裝專業的dns 診斷工具的包 yum -y install bind-utils
5、安裝完成後,rpm -ql bind-utils 看一下有哪些工具
6、dig bi host 顯示的內容更全,我們發行兩者都說是連不上服務,那麼我們就需要去服務端去檢視問題了
[root@centos7 /]# host www.baidu.com
;; connection timed out; no servers could be reached
[root@centos7 /]# dig www.baidu.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7 <<>> www.baidu.com
;; global options: +cmd
;; connection timed out; no servers could be reached
[root@centos7 /]#
7、伺服器端,我們ss -ntul 我們發現它監聽的埠是127.0.0.1:53 我們在客戶端配置的 服務端的IP 10.0.0.160
8、所以,我們需要改一下對應的配置檔案 /etc/named.conf 不知道的話,可以用rpm -ql bind 來查,一般conf 結尾的是配置檔案
9、將named.conf 裡面
listen-on port 53 { 127.0.0.1 }; 改為 listen-on port 53 { 127.0.0.1;10.0.0.160; };
10、重啟一下bind 服務,可以用 bind 自帶的命令 rndc reload 重啟bind 服務
11、在去客戶端,用host 命令測試 發現還是報錯,
root@centos7 /]# host www.baidu.com
Host www.baidu.com.magedu.com not found: 5(REFUSED)
12、這說明許可權不對,那麼還是回到服務端去修改配置檔案將named.conf 裡面
listen-on port 53 { 127.0.0.1;10.0.0.160; }; 改為listen-on port 53 { localhost; }; #這是為了防止伺服器的IP 發生變化,所以用localhost 代替
allow-query { localhost; }; 改為allow-query { localhost;10.0.0.0/24; }; #這裡是允許訪問,原來只允許本地,現在允許本地和10.0.0.0 網段的機器
13,在服務端,在重啟一下bind
rndc reload
14、回到客戶端,host www.baidu.com 發現通了