1. 程式人生 > 實用技巧 >【筆記】Linux就該這麼學-第十四課第十二(下)、十三章

【筆記】Linux就該這麼學-第十四課第十二(下)、十三章

NFS網路檔案系統

yuminstallnfs-utils

清空NFS伺服器上面iptables防火牆的預設策略

iptables-F

serviceiptablessave

在NFS伺服器上建立用於NFS檔案共享的目錄,並設定足夠的許可權確保其他人也有寫入許可權

mkdir/nfsfile

chmod-Rf777/nfsfile

echo"welcometolinuxprobe.com">/nfsfile/readme

NFS服務程式的配置檔案為/etc/exports,預設情況下里面沒有任何內容。

用於配置NFS服務程式配置檔案的引數

ro 只讀
rw 讀寫
root_squash 當NFS客戶端以root管理員訪問時,對映為NFS伺服器的匿名使用者

no_root_squash 當NFS客戶端以root管理員訪問時,對映為NFS伺服器的root管理員
all_squash 無論NFS客戶端使用什麼賬戶訪問,均對映為NFS伺服器的匿名使用者
sync 同時將資料寫入到記憶體與硬碟中,保證不丟失資料
async 優先將資料儲存到記憶體,然後再寫入硬碟;這樣效率更高,但可能會丟失資料

請注意,NFS客戶端地址與許可權之間沒有空格。

vim/etc/exports

/nfsfile192.168.10.*(rw,sync,root_squash)

systemctlrestartrpcbind

systemctlenablerpcbind

systemctlstartnfs-server

systemctlenablenfs-server

先使用showmount命令查詢NFS伺服器的遠端共享資訊,其輸出格式為“共享的目錄名稱允許使用客戶端地址”

showmount命令中可用的引數以及作用

-e 顯示NFS伺服器的共享列表
-a 顯示本機掛載的檔案資源的情況NFS資源的情況
-v 顯示版本號

showmount-e192.168.10.10

然後在NFS客戶端建立一個掛載目錄。使用mount命令並結合-t引數,指定要掛載的檔案系統的型別,並在命令後面寫上伺服器的IP地址、伺服器上的共享目錄以及要掛載到本地系統(即客戶端)的目錄。

mkdir/nfsfile

mount-tnfs192.168.10.10:/nfsfile/nfsfile

將其寫入到fstab檔案中

vim/etc/fstab

192.168.10.10:/nfsfile/nfsfilenfsdefaults00

AutoFs自動掛載服務

yuminstallautofs

配置檔案

主配置檔案

vim/etc/auto.master

/media/etc/iso.misc #主配置檔案中記錄的子配置檔案位置

對應的子配置檔案則是對這個掛載目錄內的掛載裝置資訊作進一步的說明。子配置檔案需要使用者自行定義,檔名字沒有嚴格要求,但字尾建議以.misc結束

子配置檔案

vim/etc/iso.misc

iso-fstype=iso9660,ro,nosuid,nodev:/dev/cdrom

把光碟裝置掛載到/media/iso目錄中,可將掛載目錄寫為iso,而-fstype為檔案系統格式引數,iso9660為光碟裝置格式,ro、nosuid及nodev為光碟裝置具體的許可權引數,/dev/cdrom則是定義要掛載的裝置名稱

配置完成後再順手將autofs服務程式啟動並加入到系統啟動項中

systemctlstartautofs

systemctlenableautofs

DNS域名解析服務

DNS(DomainNameSystem,域名系統)技術應運而生。這是一項用於管理和解析域名與IP地址對應關係的技術,簡單來說,就是能夠接受使用者輸入的域名或IP地址,然後自動查詢與之匹配(或者說具有對映關係)的IP地址或域名,即將域名解析為IP地址(正向解析),或將IP地址解析為域名(反向解析)。DNS域名解析技術的正向解析也是我們最常使用的一種工作模式。

第13ç« ä½¿ç¨Bindæä¾åå解ææå¡ã第13ç« ä½¿ç¨Bindæä¾åå解ææå¡ã

DNS技術作為網際網路基礎設施中重要的一環,為了為網民提供不間斷、穩定且快速的域名查詢服務,保證網際網路的正常運轉,提供了下面三種類型的伺服器

主伺服器:在特定區域內具有唯一性,負責維護該區域內的域名與IP地址之間的對應關係。
從伺服器:從主伺服器中獲得域名與IP地址的對應關係並進行維護,以防主伺服器宕機等情況。
快取伺服器:通過向其他域名解析伺服器查詢獲得域名與IP地址的對應關係,並將經常查詢的域名資訊儲存到伺服器本地,以此來提高重複查詢時的效率。

向DNS伺服器發起域名查詢請求的流程

第13ç« ä½¿ç¨Bindæä¾åå解ææå¡ã第13ç« ä½¿ç¨Bindæä¾åå解ææå¡ã

安裝Bind服務程式

BIND(BerkeleyInternetNameDomain,伯克利因特網名稱域)服務是全球範圍內使用最廣泛、最安全可靠且高效的域名解析服務程式。DNS域名解析服務作為網際網路基礎設施服務,其責任之重可想而知,因此建議大家在生產環境中安裝部署bind服務程式時加上chroot(俗稱牢籠機制)擴充套件包,以便有效地限制bind服務程式僅能對自身的配置檔案進行操作,以確保整個伺服器的安全。

yuminstallbind-chroot

bind服務程式中有下面這三個比較關鍵的檔案:

主配置檔案(/etc/named.conf):只有58行,而且在去除註釋資訊和空行之後,實際有效的引數僅有30行左右,這些引數用來定義bind服務程式的執行。
區域配置檔案(/etc/named.rfc1912.zones):用來儲存域名和IP地址對應關係的所在位置。類似於圖書的目錄,對應著每個域和相應IP地址所在的具體位置,當需要檢視或修改時,可根據這個位置找到相關檔案。
資料配置檔案目錄(/var/named):該目錄用來儲存域名和IP地址真實對應關係的資料配置檔案。

在Linux系統中,bind服務程式的名稱為named。首先需要在/etc目錄中找到該服務程式的主配置檔案,然後把第11行第17行的地址均修改為any,分別表示伺服器上的所有IP地址均可提供DNS域名解析服務,以及允許所有人對本伺服器傳送DNS查詢請求。這兩個地方一定要修改準確。

vim/etc/named.conf

11listen-onport53{any;};

17allow-query{any;};

bind服務程式的區域配置檔案(/etc/named.rfc1912.zones)用來儲存域名和IP地址對應關係的所在位置

在這個檔案中,定義了域名與IP地址解析規則儲存的檔案位置以及服務型別等內容,而沒有包含具體的域名、IP地址對應關係等資訊

服務型別有三種,分別為hint(根區域)master(主區域)slave(輔助區域),其中常用的masterslave指的就是主伺服器從伺服器

正向解析引數

第13ç« ä½¿ç¨Bindæä¾åå解ææå¡ã第13ç« ä½¿ç¨Bindæä¾åå解ææå¡ã

反向解析引數

第13ç« ä½¿ç¨Bindæä¾åå解ææå¡ã第13ç« ä½¿ç¨Bindæä¾åå解ææå¡ã

如果在實驗中遇到了bind服務程式啟動失敗的情況,而您認為這是由於引數寫錯而導致的,

則可以執行named-checkconf命令和named-checkzone命令,分別檢查主配置檔案資料配置檔案語法或引數的錯誤。

正向解析,編輯區域配置檔案,只保留自己的域名解析資訊

vim/etc/named.rfc1912.zones
zone"linuxprobe.com"IN{
typemaster;
file"linuxprobe.com.zone";
allow-update{none;};
};

編輯資料配置檔案

可以從/var/named目錄中複製一份正向解析的模板檔案(named.localhost),然後把域名和IP地址的對應資料填寫資料配置檔案中並儲存。在複製時記得加上-a引數,這可以保留原始檔案的所有者、所屬組、許可權屬性等資訊,以便讓bind服務程式順利讀取檔案內容:

cd/var/named/

ls-alnamed.localhost

-rw-r-----.1rootnamed152Jun212007named.localhost

cp-anamed.localhostlinuxprobe.com.zone

在儲存並退出後文件後記得重啟named服務程式,讓新的解析資料生效

vimlinuxprobe.com.zone

systemctlrestartnamed

$TTL1D #生存週期為1天
@ INSOA linuxprobe.com. root.linuxprobe.com. (
#授權資訊開始: #DNS區域的地址 #域名管理員的郵箱(不要用@符號)
0;serial #更新序列號
1D;refresh #更新時間
1H;retry #重試延時
1W;expire #失效時間
3H;)minimum #無效解析記錄的快取時間
NS ns.linuxprobe.com. #域名伺服器記錄
ns INA 192.168.10.10 #地址記錄(ns.linuxprobe.com.)
INMX10 mail.linuxprobe.com. #郵箱交換記錄
mail INA 192.168.10.10 #地址記錄(mail.linuxprobe.com.)
www INA 192.168.10.10 #地址記錄(www.linuxprobe.com.)
bbs INA 192.168.10.20 #地址記錄(bbs.linuxprobe.com.)

檢驗解析結果。為了檢驗解析結果,一定要先把Linux系統網絡卡中的DNS地址引數修改成本機IP地址,這樣就可以使用由本機提供的DNS查詢服務了。

nslookup命令用於檢測能否從DNS伺服器中查詢到域名與IP地址的解析記錄,進而更準確地檢驗DNS伺服器是否已經能夠為使用者提供服務

systemctlrestartnetwork

nslookup

反向解析,編輯區域配置檔案

vim/etc/named.rfc1912.zones
zone"linuxprobe.com"IN{
typemaster;
file"linuxprobe.com.zone";
allow-update{none;};
};
zone"10.168.192.in-addr.arpa"IN{
typemaster;
file"192.168.10.arpa";
};

編輯資料配置檔案。

首先從/var/named目錄中複製一份反向解析的模板檔案(named.loopback),然後把下面的引數填寫到檔案中。其中,IP地址僅需要寫主機位

cp-anamed.loopback192.168.10.arpa

vim192.168.10.arpa

systemctlrestartnamed

第13ç« ä½¿ç¨Bindæä¾åå解ææå¡ã第13ç« ä½¿ç¨Bindæä¾åå解ææå¡ã

$TTL1D
@ INSOA linuxprobe.com. root.linuxprobe.com. (
0;serial
1D;refresh
1H;retry
1W;expire
3H);minimum
NS ns.linuxprobe.com.
ns A 192.168.10.10
10 PTR ns.linuxprobe.com. #PTR為指標記錄,僅用於反向解析中。
10 PTR mail.linuxprobe.com.
10 PTR www.linuxprobe.com.
20 PTR bbs.linuxprobe.com.

檢驗解析結果。

在前面的正向解析實驗中,已經把系統網絡卡中的DNS地址引數修改成了本機IP地址,因此可以直接使用nslookup命令來檢驗解析結果,僅需輸入IP地址即可查詢到對應的域名資訊。

nslookup

部署從伺服器

在主伺服器的區域配置檔案中允許該從伺服器的更新請求,即修改allow-update{允許更新區域資訊的主機地址;};引數,然後重啟主伺服器的DNS服務程式

vim/etc/named.rfc1912.zones

zone"linuxprobe.com"IN{
typemaster;
file"linuxprobe.com.zone";
allow-update{192.168.10.20;};
};
zone"10.168.192.in-addr.arpa"IN{
typemaster;
file"192.168.10.arpa";
allow-update{192.168.10.20;};
};

systemctlrestartnamed

檢驗解析結果。

當從伺服器的DNS服務程式在重啟後,一般就已經自動從主伺服器上同步了資料配置檔案,而且該檔案預設會放置在區域配置檔案中所定義的目錄位置中。隨後修改從伺服器的網路引數,把DNS地址引數修改成192.168.10.20,這樣即可使用從伺服器自身提供的DNS域名解析服務。最後就可以使用nslookup命令順利看到解析結果了。

cd/var/named/slaves

ls

192.168.10.arpalinuxprobe.com.zone

nslookup

DNS快取伺服器(CachingDNSServer)是一種不負責域名資料維護的DNS伺服器。

配置系統的雙網絡卡引數

前面講到,快取伺服器一般用於企業內網,旨在降低內網使用者查詢DNS的時間消耗。因此,為了更加貼近真實的網路環境,實現外網查詢功能,我們需要在快取伺服器中再新增一塊網絡卡,並按照表13-4所示的資訊來配置出兩臺Linux虛擬機器系統。而且,還需要在虛擬機器軟體中將新新增的網絡卡設定為“橋接模式”,然後設定成與物理裝置相同的網路引數

在bind服務程式的主配置檔案中新增快取轉發引數。

vim/etc/named.conf

17forwarders{210.73.64.1;};

重啟DNS服務,驗證成果。

在將客戶端主機的網路引數設定妥當後重啟網路服務,即可使用nslookup命令來驗證實驗結果(如果解析失敗,請讀者留意是否是上級DNS伺服器選擇的問題)。其中,Server引數為域名解析記錄提供的伺服器地址,因此可見是由本地DNS快取伺服器提供的解析內容。
nslookup