詳細DNS分離解析

DNS(Domain Name System,域名系統),萬維網上作爲域名和IP地址相互映射的一個分佈式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。通過域名,最終得到該域名對應的IP地址的過程叫做域名解析(或主機名解析)。DNS協議運行在UDP協議之上,使用端口號53。在RFC文檔中RFC 2181對DNS有規範說明,RFC 2136對DNS的動態更新進行說明,RFC 2308對DNS查詢的反向緩存進行說明

一臺服務端:
1.安裝軟件包httpd
2.書寫一個頁面文件(先 mkdir /var/ww/qq /var/www/baidu…)
echo ‘

NSD1809 Web’ > /var/www/qq/index.html
echo ‘

NSD1809 Web’ > /var/www/baidu/index.html
(

字體 字體滾動 字體顏色 )
@1vim /etc/httpd/conf.d/nsd.conf (子配置文件)
<VirtualHost IP地址:端口>
ServerName 此站點的DNS名稱
DocumentRoot 此站點的網頁根目錄

@2vim /etc/httpd/conf.d/nsd01.conf(子配置文件)
其他系統不能訪問這個目錄的內容
<Directory /var/www/qq>
Require all denied|granted
Require ip IP或網段地址 … …

<Directory /var/www/baidu>
Require all denied|granted #拒絕所有 | 允許所有
Require ip 172.25.0.10 #僅允許172.25.0.10進行訪問

)新建目錄 /webroot,作爲此站點新的網頁目錄
2)修改虛擬Web主機配置文件,指定新的網頁目錄
3)修改Web訪問控制配置文件,允許所有人訪問
重起服務
systemctl restart httpd
5) 修改SELinux策略,安全上下文值(標籤值)
• 方式1:參照標準目錄,重設新目錄的屬性
– chcon [-R] --reference=模板目錄 新目錄

chcon -R --reference=/var/www/ /webroot

ls -Zd /var/www/
ls -Zd /webroot/

3.重起服務

systemctl restart httpd

systemctl enable httpd

訪問:vim /etc/hosts (最高優先級) …沒有域名解析時,解析IP作用(本地解析)

測試: firefox www.qq.com
firefox www.baidu.com
域名測試: vim /etc/resolv.conf (第二優先級)
nameserver IP(服務端)
nslookup www.qq.com
一臺做搭建域名服務:
1.安裝軟件包
yum -y install bind-chroot bind
2.修改配置文件/etc/named.conf
cp /etc/named.conf /root/named.bak
vim /etc/named.conf
options {
directory “/var/named”; #指定地址庫文件路徑
};
zone "qq.com IN { #指定本機負責解析的域名
type master; #本機爲權威主DNS服務器
file “qq.com.zone”; #指定地址庫文件名字
};
3.創建地址庫文件/var/named/tedu.cn.zone

cd /var/named

cp -p named.localhost qq.com.zone #保持屬性不變

vim qq.com.zone

#沒有以點結尾,默認補全qq.com.
qq.com. NS svr7 #qq.com.區域有svr7負責
svr7 A 192.168.4.7 #svr7的IP地址爲192.168.4.7
www A 1.1.1.1
Split分離解析(視圖解析)
vim /etc/named.conf
options {
directory “/var/named”;
};
view nsd {

match-clients { 192.168.4.207; };

zone “qq.com” {

type master;

file “qq.com.zone”;

};
zone “baidu.com” {

type master;

file “baidu.com.zone”;

};

};

view other {

match-clients { any; };

zone “qq.com” {

type master;

file “qq.com.other”;
};
zone “baidu.com” {

type master;

file “baidu.com.other”;

};
};
3.創建地址庫文件/var/named/qq.com.zone /baidu.com.zone qq.com.other baidu.com.other(有幾個地址庫就創建幾個)

cd /var/named

cp -p named.localhost qq.com.zone #保持屬性不變

ls -l qq.com.zone

vim qq.com.zone

#沒有以點結尾,默認補全tedu.cn.
qq.com. NS svr7 #tedu.cn.區域有svr7負責
svr7 A 192.168.4.7 #svr7的IP地址爲192.168.4.7
www A 1.1.1.1
ftp A 2.2.2.2

4.重起named服務

systemctl restart named

多區域的DNS服務器
虛擬機A:
1.修改配置文件/etc/named.conf

zone “qq.com” IN {
type master;
file “qq.com.zone”;
};
3.創建地址庫文件/var/named/qq.com.zone

cd /var/named

cp -p tedu.cn.zone qq.com.zone (-p:表示繼承文件屬性)

vim qq.com.zone

qq.com. NS svr7
svr7 A 192.168.4.7
www A 3.3.3.3
ftp A 4.4.4.4
4.重起named服務

systemctl restart named

5.客戶端驗證
1.指定DNS服務器位置

echo nameserver 192.168.4.7 > /etc/resolv.conf

2.域名解析測試

nslookup www.qq.com

nslookup ftp.qq.com

特殊的解析記錄,以tedu.cn.zone爲例
一 DNS的負載均衡,輪詢的相同解析記錄(瞭解)
vim /var/named/tedu.cn.zone
tedu.cn. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.1
www A 192.168.4.2
www A 192.168.4.3
www A 192.168.4.4
ftp A 2.2.2.2
[root@svr7 /]# !sys
systemctl restart named
二 泛域名解析
[root@svr7 /]# vim /var/named/tedu.cn.zone

  •       A   10.11.12.14
    

systemctl restart named
客戶端驗證:
nslookup wwwwww.tedu.cn
nslookup hahaxixi.tedu.cn
三 解析記錄的別名(瞭解)
[rovim /var/named/tedu.cn.zone

tts CNAME ftp #tts解析結果與ftp解析結果一致
systemctl restart named
客戶端驗證
nslookup tts.tedu.cn
四 有規律的泛域名解析
pc1.tedu.cn ----> 192.168.10.1
pc2.tedu.cn ----> 192.168.10.2
pc3.tedu.cn ----> 192.168.10.3

pc50.tedu.cn ----> 192.168.10.50
內置函數: $GENERATE 產生連續的數字
vim /var/named/tedu.cn.zone

GENERATE150pcGENERATE 1-50 pc A 192.168.10.$
systemctl restart named
客戶端驗證
nslookup pc1.tedu.cn
nslookup pc50.tedu.cn
DNS服務器常見的資源解析記錄都有那些?
NS解析記錄 A解析記錄 CNAME解析記錄

1.以webapp0.example.com部署Python頁面

cat /etc/httpd/conf.d/nsd01.conf #查看DocmentRoot

cd /var/www/baidu/

wget http://classroom.example.com/pub/materials/webinfo.wsgi

cat webinfo.wsgi

2.用戶方便的訪問(頁面跳轉/頁面的別名)
Alias 網絡路徑 本機實際路徑
vim /etc/httpd/conf.d/nsd01.conf
<VirtualHost *:80>
ServerName webapp0.example.com
DocumentRoot /var/www/baidu
Alias / /var/www/baidu/webinfo.wsgi
當客戶端直接訪問網頁文件根目錄時,將webinfo.wsgi呈現

systemctl restart httpd
3.安裝mod_wsgi軟件包,翻譯Python頁面代碼
yum -y install mod_wsgi
4.修改配置文件,進行翻譯Python頁面代碼
vim /etc/httpd/conf.d/nsd01.conf
<VirtualHost *:80>
ServerName webapp0.example.com
DocumentRoot /var/www/baidu
WsgiScriptAlias / /var/www/baidu/webinfo.wsgi
當客戶端直接訪問網頁文件根目錄時,將webinfo.wsgi呈現

systemctl restart httpd
Unix時間戳: 從1970-1-1 0:0:0到現在時間,所經歷的秒數
5.此虛擬主機偵聽在端口8909
Listen 8909 #配置httpd程序監聽8909端口
<VirtualHost *:8909> #虛擬web主機監聽8909
ServerName webapp0.example.com
DocumentRoot /var/www/baidu
WsgiScriptAlias / /var/www/baidu/webinfo.wsgi

6. SELinux非默認端口的開放

semanage port -l | grep http

semanage port -a -t http_port_t -p tcp 8909

-a:添加 -t:類型 -p:協議

systemctl restart httpd

7.驗證:
http://webapp0.example.com:8909
默認端口訪問優先級最高,默認端口不匹配,顯示第一個虛擬Web主機內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章