天天看點

CentOS 6.2配置NIS主/從伺服器

企業需求

公司準備在 DMZ 區域中放置多台伺服器,伺服器包括 samba 伺服器、郵件伺服器、WEB 伺服器、代理伺服器,他們的 IP 分别是 192.168.1.1、192.168.1.2、192.168.1.3、192 .168.1.4,其 于用戶端為 windows 系統,使用 windows 域環境管理。為了友善日常的伺服器管理工作,準備再搭建一台主 NIS 伺服器,其 IP 位址為 192.168.1.200,從 NIS 伺服器,其 IP 位址為 192.168.1.160,為了友善管理,所有 DMZ 區域内的伺服器都可以使用 chenyi 帳号以及其他管理帳号登入。

NIS 應用拓撲圖:

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis1.png"></a>

單域單NIS伺服器配置參考

解決方案

主 NIS 伺服器

1、安裝 NIS 所需軟體包

確定 NIS 服務所需 ypserv、ypbind、yp-tools 和 portmap 軟體包已經安裝,如果沒有則自行安裝一下哈~

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis2.png"></a>

2、建立 chenyi 使用者

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis3.png"></a>

3、設定 NIS 域名

1

vim /etc/sysconfig/network

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis4.png"></a>

vim /etc/rc.d/rc.local

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis5.png"></a>

儲存退出

4、NIS 固定端口配置

NIS 和 NFS 服務相似,同樣使用随機端口,我們可以配置固定端口加強 NIS 的可管理性

(1)修改/etc/sysconfig/network

添加 YPSERV_ARGS 和 YPXFRD_ARGS 字段,可以設定 NIS 的 ypserv 和 ypxfrd 兩個程序使用固定端口号,而對于 yppasswd 則不提供支援,我們可以使用參數-p 指定固定端口

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis6.png"></a>

(2)重新開機服務并測試

修改 network 配置檔案後我們需要重新開機 network、ypserv 和 ypxfrd 服務,然後可以使用 rpcinfo -p 檢視端口使用情況

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis7.png"></a>

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis8.png"></a>

5、設定/etc/hosts 配置檔案

vim /etc/hosts

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis9.png"></a>

6、設定/etc/ypserv.conf 主配置檔案

vim /etc/ypserv.conf

在整個 ypserv.conf 主配置檔案中,最為重要的就是限制用戶端或從伺服器的查詢權限。

格式為:

Host : Domain : Map : Security

Host:指定用戶端,可以指定具體 IP 位址,也可以指定一個網段

Domain:設定 NIS 域名,這裡的 NIS 域名和 DNS 中的域名并沒有關系哈~兩者是兩套不同系統哈~在同一個 NIS 域中,用戶端可以從 NIS 伺服器上查詢使用者名和密碼,從 NIS 伺服器可以與主伺服器同步資料庫内容

Map :設定可用資料庫名稱,可以用“*”代替所有資料庫

Security:安全性設定。主要有 none、port 和 deny 三種參數設定。

none:沒有任何安全限制,可以連接配接 NIS 伺服器。

port:隻允許小于 1024 以下的端口連接配接 NIS 伺服器。

deny:拒絕連接配接 NIS 伺服器。

通常設定思路是允許所有内網用戶端連接配接 NIS 伺服器,除此之外的用戶端都拒絕連接配接哈~

ypserv.conf 檔案是逐行解 釋執行,是以要注意設定順序

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis10.png"></a>

7、建立 NIS 資料庫

service ypserv restart

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis11.png"></a>

首先我們要啟動 ypserv 服務,否則建立 NIS 資料庫會報錯

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis12.png"></a>

/usr/lib/yp/ypinit –m

當 NIS 資料庫被建立之後,需要通知 ypserv 和 yppasswdd 這兩個服務,以告知 NIS 資料庫被更新過了哈~

通常通知的方法就是重新開機這兩個服務

2

3

service yppasswdd restart

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis13.png"></a>

8、建立信任群

可以使用/etc/netgroup 檔案來建立 NIS 伺服器所信任的用戶端

格式:host,user,domain

如果這個檔案沒有内容,則代表所有的主機、帳号和域名都接受哈~因為已經在/etc/ypserv.conf

中設定好了關于安全的項目,預設此檔案不存在,是以這個檔案隻要建立就可以了。

touch /etc/netgroup

沒有就建立一下,因為下午的配置中已經建立了,我這裡就不再重複了哈~

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis14.png"></a>

9、修改/var/yp/ypservers 配置檔案

添加 NIS 域中 NIS 伺服器名稱

vim /var/yp/ypservers

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis15.png"></a>

10、重新開機相關服務使配置生效

4

5

6

7

8

9

10

11

service rpcbind restart

chkconfig --level 35 rpcbind on

chkconfig --level 35 ypserv on

chkconfig --level 35 yppasswdd on

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis16.png"></a>

此外為了使主/從 NIS 伺服器完成資料庫同步,我們需要在 NIS 主伺服器上啟動 ypxfrd 服務哈~

service ypxfrd restart

chkconfig --level 35 ypxfrd on

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis17.png"></a>

從 NIS 伺服器配置

從 NIS 伺服器相比主 NIS 伺服器來說配置就比較簡單了哈~

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis18.png"></a>

2、設定 NIS 域名

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis19.png"></a>

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis20.png"></a>

3、NIS 固定端口配置

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis21.png"></a>

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis22.png"></a>

4、設定/etc/hosts 配置檔案

如果沒有設定 DNS 服務則需要設定/etc/hosts 檔案指向主 NIS 伺服器 nis,否則會找不到主 NIS伺服器哈~

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis23.png"></a>

5、啟用 rpcbind、ypserv 服務程序

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis24.png"></a>

6、同步資料庫資訊

ll /var/yp/

現在主 NIS 伺服器的資料還沒同步過來哈~

/usr/lib/yp/ypinit -s nis

從 NIS 伺服器 slavenis 同步主 NIS 伺服器 nis 資料庫資訊

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis25.png"></a>

現在系統提示檔案傳輸完畢,我們可以 ll 檢視一下 itchenyi 域目錄哈~

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis26.png"></a>

從 NIS 伺服器已經生成資料庫檔案,資料同步完成哈~

7、從 NIS 伺服器同步設定

主 NIS 伺服器更新資料并使用 ypinit -m 指令重新生成資料庫後,從 NIS 伺服器上的資料就會不一緻哈~

我們可以在從 NIS 伺服器上使用 ypxfr 指令同步資料庫資訊保持資料狀态為最新哈~

ypxfr -h NIS 主伺服器 IP 或主機名 資料庫檔案

ypxfr -h nis passwd.byname

ypxfr -h nis passwd.byuid

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis27.png"></a>

現在主 NIS 伺服器上的資料沒有變化,是以沒什麼資料同步哈~

我們修改下主 NIS 伺服器上的帳号和密碼資訊測試下

現在我們在從 NIS 伺服器再執行同步指令看看效果哈~

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis30.png"></a>

同步完成哈~

如果每次手工更新資料資訊那還不煩死哈~是以我們可以使用 cron 計劃任務來完成這個工作哈~由伺服器自動同步 NIS 資料庫資訊是很好的解決方案

編輯/etc/crontab 檔案,設定計劃任務内容,每小時第11分鐘、第12分鐘更新 passwd.byname

和 passwd.byuid 資料庫檔案

vim /etc/crontab

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis31.png"></a>

tail -f /var/log/cron看下效果

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis32.png"></a>

NIS 用戶端設定

用戶端必須安裝 ypbind 和 yp-tools 這兩個軟體包 (由于隻有2台Centos 6.2 這裡的第三台用RedHat5.0 頂上了,不過沒有什麼不一樣的地方!)

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis33.png"></a>

1、加入 NIS 域

確定用戶端和伺服器的 NIS 域名相同,可以使用 nisdomainname 指令設定,然後設定開機自動配置 NIS 域名

nisdomainname itchenyi

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis34.png"></a>

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis35.png"></a>

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis36.png"></a>

2、修改/etc/hosts 檔案

如果沒有 DNS 伺服器,那我們必須確定/etc/hosts 檔案中有 NIS 伺服器的記錄

vim /etc/hosts

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis37.png"></a>

3、修改密碼驗證方式

NIS 用戶端在查找使用者名和密碼時先從本地開始查找,比如先查 詢/etc/passwd和/etc/shadow檔案等,如果沒有查詢到使用者名和密碼則發送廣播到 NIS 伺服器進而進行查詢。

預設情況下用戶端如果沒有查詢到使用者名和密碼是不會發送廣播到 NIS 伺服器的,是以我們需要修改/etc/nsswitch.conf 檔案哈~

vim /etc/nsswitch.conf

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis38.png"></a>

4、修改/etc/yp.conf 檔案

在用戶端/etc/yp.conf 檔案中設定NIS 伺服器的主機名和 NIS 域名

vim /etc/yp.conf

ypserver nis

domain itchenyi

如果需要使用廣播查詢則可以直接添加 domain itchenyi broadcast

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis39.png"></a>

5、重新啟動 ypbind 服務

service ypbind restart

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis40.png"></a>

注意,一定要開啟 111 端口,可以使用 rpcinfo 指令檢視 rpc 所使用的端口

rpcinfo –p

6、設定開機啟動 ypbind 服務

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis43.png"></a>

用戶端檢測

yp-tools 軟體包中自帶一些測試工具,可以幫助我們更好得了解 NIS 用戶端和伺服器通信情況

1、yptest

yptest 指令測試資料庫内容等所有與 NIS 相關的資訊

<a href="http://www.itchenyi.com/wp-content/uploads/2012/11/snis44.png"></a>

如果 Test 9: yp_all 下面出現 NIS 伺服器上的所有帳号資訊則表示配置成功,否則我們就要檢查上面的配置是否存在問題哈~

本文轉自 Bruceweien 51CTO部落格,原文連結:http://blog.51cto.com/bruceweien/1148358