1巷蚪、簡述DNS服務居灯,并搭建DNS服務器,實現(xiàn)主從镀迂,子域授權
? ? ? ?DNS是“Domain Name System"的縮寫丁溅,DNS實現(xiàn)了主機名到IP地址的映射解析。在網絡中各主機之間是通過IP地址來通信尋址的探遵,但是IP地址難以記憶唧瘾,人們都是通過容易記住的主機名來操作,如果希望通過主機名來進行通信别凤,則需要DNS來完成大量的主機名和IP地址的映射解析工作饰序。DNS采用倒置的樹狀結構,分布式规哪、分層級的主機名管理結構求豫。
? ? ? ?DNS查詢分成遞歸查詢和迭代查詢,遞歸查詢表示查詢請求方發(fā)出請求后,接收方會通過多次查詢蝠嘉,最終把對應的結果回復給請求方(多出現(xiàn)在客戶主機到本地DNS服務器之間)最疆;迭代查詢表示查詢請求方發(fā)出請求后,接收方的本地數(shù)據(jù)庫中無對應信息蚤告,則告之請求方要向根名稱服務器查詢努酸,然后再一級一級向下查詢,這樣查詢請求方經過多次自主查詢后才會得到結果(多出現(xiàn)在本地DNS服務器和處于其層次之上的其它多個DNS服務器之間)杜恰。
? ? ? ?DNS服務器類型有:(1)主名稱服務器获诈,存儲并維護所管轄區(qū)域的域結構信息,并提供精確查詢主機名和IP的對應關系心褐。(2)從名稱服務器舔涎,它從主名稱服務器同步域結構信息,也能提供精確查詢逗爹,但它不去更新維護域結構信息亡嫌。(3)緩存名稱服務,緩存查詢過的域信息掘而,用于回答以后相同的查詢請求挟冠。其內域信息設置過期時間,它可以提供快速查詢但不是精確查詢袍睡,因為其上的信息可能會過期知染。
? ? ? 搭建DNS主從服務器。假設主DNS服務器IP為192.168.1.100女蜈,從DNS服務器IP為192.168.1.101
(1)登錄主DNS服務器和從DNS服務器上安裝的DNS服務器軟件
root用戶執(zhí)行 yum install bind
(2)然后修改主DNS服務器上的DNS主配置文件/etc/named.conf
options {
listen-on port 53 { any; };? 監(jiān)聽端口和哪些主機可以訪問解析,any表示所有
directory? ? ? "/var/named";?數(shù)據(jù)庫文件的目錄位置
allow-query? ? { any; };?允許哪些主機請求查詢
recursion yes;? 將自己視為客戶端的一種查詢方式
zone "." IN {
type hint;
file "named.ca";
};
zone? "magedu.com" IN {
type master;
file "magedu.com";
allow-transfer{192.168.1.101;}? 定義哪些從DNS服務器可以同步數(shù)據(jù),多個IP之間以分號分隔色瘩,且最后以分號結尾伪窖。
zone "1.168.192.in-addr.arpa" IN {
type master;
file? "named.192.168.1";
allow-transfer{192.168.1.101;}
(3)修改從DNS服務器上的DNS主配置文件/etc/named.conf
options {
listen-on port 53 { any; };? 監(jiān)聽端口和哪些主機可以訪問解析,any表示所有
directory? ? ? "/var/named";?數(shù)據(jù)庫文件的目錄位置
allow-query? ? { any; };?允許哪些主機請求查詢
recursion yes;? 將自己視為客戶端的一種查詢方式
zone "." IN {
type hint;
file "named.ca";
};
zone? "magedu.com" IN {
type?slave;? 表示本機是從DNS服務器
file "slaves/magedu.com";?表示同步后的文件放置在哪里,這是相對于/var/named/目錄的相對路徑
masters{192.168.1.100;}? 定義主服務器地址
zone "1.168.192.in-addr.arpa" IN {
type?slave;
file? "slaves/named.192.168.1";
masters{192.168.1.100;}
(4)修改主DNS服務器的域名的解析庫文件居兆,從DNS服務器不需要定義
正向解析文件:/var/named/magedu.com
$TTL 86400
$ORIGIN? magedu.com.
@? ? ? IN SOA? ns1.magedu.com.? ?admin.magedu.com. (
2019011301
1H
5M
1W
86400 )
@? IN? ?NS? ? ns1.magedu.com.
@? IN? ?NS? ? slave.magedu.com.
@? IN? ?MX? ?10? mail.magedu.com.
ns1? IN A? ? ? ?192.168.1.110
slave? IN A? ? ? ?192.168.1.111
www? IN? A? ? ?192.168.1.110
ftp? ? ?IN? A? ? ? 192.168.1.110
web? IN? A? ? ? ?CNAME? ?ftp
說明:增加了兩條slave的記錄覆山。
反向解析文件:/var/named/named.192.168.1
$TTL 86400
@? ? ? IN SOA? ns1.magedu.com.? ?admin.magedu.com. (
2019011301
1H
5M
1W
86400 )
@? IN? ?NS? ? ns1.magedu.com.
@? IN? ?NS? ? slave.magedu.com.
110? IN? PTR? ?ns1.magedu.com.
111? IN? PTR? ?slave.magedu.com.
110? IN? PTR? ?www
110??IN?PTR? ?ftp
110??IN?PTR? ?web
(5)重啟主DNS服務器和從DNS服務器上的named服務
# cd /var/named
(僅主DNS服務器執(zhí)行)# chown? named:named? named.192.168.1? ?magedu.com
# service? named restart
(6)觀察
觀察從DNS服務器上的解析庫文件是否進行同步,位置于/var/named目錄下
觀察日志文件:/var/log/messages
子域授權:
在本域名服務器上的正向解析文件定義子域
#? vim? /var/named/magedu.com
$TTL 86400
$ORIGIN? magedu.com.
@? ? ? IN SOA? ns1.magedu.com.? ?admin.magedu.com. (
201901130
1H
5M
1W
86400 )
@? IN? ?NS? ? ns1.magedu.com.
@? IN? ?NS? ? slave.magedu.com.
ops.magedu.com.? ?IN? ?NS? ? ns1.ops.magedu.com.? ? 添加NS記錄
@? IN? ?MX? ?10? mail.magedu.com.
ns1? IN A? ? ? ?192.168.1.110
ns1.ops.magedu.com.? ?IN? ? A? ?192.168.1.120? ? ? ? ? ?添加對應的A記錄
slave? IN A? ? ? ?192.168.1.111
www? IN? A? ? ?192.168.1.110
ftp? ? ?IN? A? ? ? 192.168.1.110
web? IN? A? ? ? ?CNAME? ?ftp
當然子域還需要有對應的子域的解析庫文件泥栖,配置格式與上級域類似簇宽。這樣才能對子域進行解析。
2吧享、簡述HTTP服務魏割,并實現(xiàn)基于用戶的訪問控制,虛擬主機钢颂,https
(1)HTTP服務:
HTTP是一個屬于應用層的面向對象的協(xié)議钞它,由于其簡捷、快速的方式,適用于分布式超媒體信息系統(tǒng)遭垛。它的主要特點如下:
(1.1)支持客戶/服務器模式
(1.2)? ?簡單快速:客戶向服務器請求服務時尼桶,只需傳送請求方法和路徑,常見的請求方法有:GET锯仪、POST和HEAT泵督。
(1.3)靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對象
(1.4)無連接:限制每次連接只處理一個請求
(1.5)無狀態(tài):HTTP協(xié)議為無狀態(tài)協(xié)議。
常見的HTTP服務器為:Apache?和?Nginx
(2)實現(xiàn)基于用戶的訪問控制
下面以basic認證機制來實現(xiàn)基于用戶的訪問控制
(2.1)定義安全域
Options? None
AllowOverride None
AuthType Basic
AuthName? "Only? for? user who Regist before"
AuthUserFile? /etc/httpd/users/.htpasswd
Require? user? ?user1? ?user2
這里表示僅允許user1和user2,且他們出現(xiàn)于AuthUserFile文件中庶喜,這些用戶為虛擬用戶小腊,而非系統(tǒng)用戶
(2.2)提供用戶的賬號文件
使用htpasswd命令進行維護
htpasswd? [OPTIONS]? passwdfile? ?userName
選項有:
-c :添加第一個用戶時創(chuàng)建此文件
-m:以md5格式加密用戶密碼存放
-s:以sha格式加密用戶密碼存放
-D:刪除指定用戶
(2.3)組認證
Options? None
AllowOverride None
AuthType Basic
AuthName? "Only? for? user who Regist before"
AuthUserFile? /etc/httpd/users/.htpasswd
AuthGroupFile? /etc/httpd/users/.htgroup
Require? group? group1? ?group2
? ? ? ? ? 然后在組文件中每行定義一個組,格式為
group1: user1? user2
group2: user3? ?user4
(3)實現(xiàn)虛擬主機:
一個物理主機可以服務于多個站點溃卡,每個站點可以通過一個或多個虛擬主機來實現(xiàn)溢豆,開啟虛擬主機要首先關閉Main中心主機,即要注釋DocumentRoot指令瘸羡。
實現(xiàn)虛擬主機的方式有三種:
(3.1)基于IP,要求所有的IP地址都是有效的漩仙,且能用于通信
ServerName? www.foo.com
DocumentRoot? /vhost/foo.com/htdocs/
ServerName? www.bar.com
DocumentRoot? /vhost/bar.com/htdocs/
? (3.2)基于Port
ServerName? www.foo.com
DocumentRoot? /vhost/foo.com/htdocs/
ServerName? www.bar.com
DocumentRoot? /vhost/bar.com/htdocs/
? ? ? ? ? 說明其于IP地址和Port的方式可以混合起來使用。
(3.3)?基于FQDN
ServerName? www.foo.com
DocumentRoot? /vhost/foo.com/htdocs/
ServerName? www.bar.com
DocumentRoot? /vhost/bar.com/htdocs/
(4)實現(xiàn)https:
https即http over ssl ,其通過https://來訪問犹赖,對應的默認訪問端口為443队他。注意SSL會話是基于IP地址創(chuàng)建,所以單IP的主機上峻村,僅可以使用一個https虛擬主機麸折。
(4.1)為服務器申請數(shù)字證書
創(chuàng)建私有CA
#?openssl genrsa -out rootkey.pem 2048
#openssl req -new -key rootkey.pem -out root.csr
# openssl x509 -req -days 365 -extensions v3_ca -signkey rootkey.pem -in root.csr -out root.crt
創(chuàng)建服務器證書密鑰
#openssl genrsa -out serverkey.pem 2048
在服務器創(chuàng)建證書簽署請求
#openssl req -new -key serverkey.pem -out server.csr
CA簽證
#openssl x509 -req -days 3650 -extensions v3_req -in server.csr -CA root.crt -CAkey rootkey.pem -CAcreateserial -out server.crt
(4.2)配置httpd支持使用ssl,及使用的證書文件
#?yum? -y? install? mod_ssl
配置文件:/etc/httpd/conf.d/ssl.conf
DocumentRoot
ServerName
SSLCertificateFile? ? 服務器證書文件crt
SSLCertificateKeyFile? ? ?服務器證書密鑰pem