追蹤
NEIL's_學而時習之x不學無術~私藏IT技術經驗分享部落
關於部落格
NEIL. Cheng....寫作只是為了日後工作之備忘操作參考

本部落格文章撰寫前進邁向第五年(since 2009 ~至今)仍繼續推進分享IT學習!!About Windows/Linux Server,Virtualization


分享網誌: 由於,本人預先完成LAB後,才補上撰寫文章與截圖,若發現文圖對照說明有誤..本人將盡快校正,也請不吝指教! Thanks!

  • 159077

    累積人氣

  • 37

    今日人氣

    0

    追蹤人氣

NIS 帳號資料庫+AutoFS 整合企業內部多台伺服器帳號(Apache,FTP服務應用)By Remiel

 
實驗開始

從上述步驟說明確實將NIS Master , Slave ,Client 端三台機器上安裝相關套件後,

我們先來Build  Master NIS(前置準備工作不再贅言)

[Master NIS]  vm201.lohas.com (192.168.11.201)

首先,編輯 NIS Server 設定檔 ,開放Client  網段的存取權限(供Client端存取NIS)

vi  /etc/ypserv.conf   #NIS Server 主要組態檔案編輯, Slave也請同樣編輯

127.0.0.0/255.255.255.0    :* : * :  none         #開放本機可存取NIS服務

192.168.11.0/255.255.255.0 :* : * :  none   #開放企業內部整合Server網段可存取NIS服務

*                          :* : * :  deny

...
 
NOPUSH=false    <--請調整為false 以變後續與NIS SLAVE 進行自動同步作業


[Master NIS DB 初始化]

初始化DB前我們須先啟動NIS相關Service(以下相關服務請設定開機自動啟用)

/etc/init.d/rpcbind restart     #透過rpc 與各台主機通訊

/etc/init.d/ypserver start       #NIS Server Setvice

/etc/init.d/ypasswdd start   #NIS 用戶登入後可使用ypasswdd 服務修改用戶密碼

/etc/init.d/ypxfrd start           #與同步NIS Slave 服務有關(不啟用時:Slave手動同步時會有警訊)

----------------初始化NIS DB 前.我們先依照計劃建立新USER  mia(3000) mia2(3001)----------

#稍早之前我們前面已經Exports NFS for NIS 專用Home Dir 如下#


故我們新增NIS 服務專用帳戶(切記該帳戶須避免與NIS Client相同)

useradd -u 3000 -d /rhome/mia mia        #請使用passwd 為此帳戶配置密碼(測試Httpd)

useradd -u 3001 -d /rhome/mia2 mia2   #請使用passwd 為此帳戶配置密碼(測試Vsftpd)



接著我們開始初始化NIS DB  #它日若新增本機帳戶皆需初始化資料庫
                                                     
                                                     可始用 make -C /var/yp 指令更新匯入新帳戶到NIS DB裡


/usr/lib/yp/ypinit -m    #第一次初始化NIS DB

必須依照前步驟將 vm201.lohas.com 對應正確IP,否則解析將失敗,初始化不成功




NFS 鎖定Port 與 Imdap 組態 影響防火牆設定&NIS Client 端掛載NIS Home Dir 權限不一致問題

由於我們稍早開啟了NFS Share NIS 帳戶的home dir  #必須鎖定Port做防火牆處理

參考如下:

vi /etc/syconfig/nfs         #鎖定以下NFS 固定Port ,好撰寫IPTABLES 條例

RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892

#/etc/init.d/nfs restart
 
 

解決NIS Client 端掛載NIS Home Dir 權限不一致問題(Nobody.Nobody)修改並啟用idmapd 服務)

vi /etc/idmapd.conf  #Server 與 Client 均需設定一置,並啟用如下(後續將不贅言)

 
Verbosity = 0
 
Domain = lohas.com      #nisdomain

#Nobody-User = nobody      # 請註解
#Nobody-Group = nobody   # 請註解

/etc/init.d/idmapd  restart  && chkconfig idmapd on

 



ybind  亦需啟動否則將影響Slave NIS 同步得到錯誤訊息如下

當NIS Master  更新資料使用 make -C /var/yp 時 會出現以下錯誤訊息

Can't bind to server which serves this domain

解決(Server/Slave/Client 皆需啟動):

vi   /etc/yp.conf       #yp.conf是client 服務組態檔案 

#SERVER 端加入以下此行即可


ypserver 127.0.0.1
 
 vi /etc/nsswitch.conf

passwd:     files nis      #加入nis
shadow:     files nis     #加入nis
group:      files nis       #加入nis
hosts:      files nis  dns  #加入nis

/etc/init.d/ypbind restart && chkconfig ypbind on  #開機自動啟用,並確定服務啟動始OK



接著我們使用rpcinfo -e  localhost 查看一些資訊,我們到yp 特定port 照我們計劃鎖定(900.901)



[Master Client]  vm201.lohas.com (192.168.11.207

基本上Cleint  關切在ybind 設定即可(NIS Slave 稍晚加進來後會微調整設定)

但此次我們將借助 authconfig  指令替我們自動建立NIS Client 驗證資訊

設定如下


> authconfig --enablenis
> --nisdomain lohas.com
> --nisserver vm201.lohas.com
> --updateall

/etc/init.d/ypbind restart  && chkconfig ypbind on  




[建立AutoFS機制自動掛載NIS Home Dir]

前面步驟我們將NIS Master 主機設定好NIS 帳戶專用之家目錄後,我們現在Clent端必須建立

AutoFS 掛載機制供帳戶登入後存取Hom Dir 之用


參考我的AutoNFS設定(請同時一併將前面idmapd.conf 修改並重新啟動)

vi /etc/auto.master
 
/rhome /etc/auto.nis

vi /etc/auto.nis

* -rw 192.168.11.201:/rhome/&

/etc/init.d/autofs reload     #請使用autofs reload 勿用restart

chkconfig autofs on 

上述步驟接完成後[NFS Client 登入nis 帳號第一階段測試]

(A.)於NIS Client端(VM207) 切換NIS 使用者帳戶並確認可以正常登入,且HOME DIR 對應正確?

      若登入後非正常取得mia 用戶對應家目錄請回頭檢查autofs 與nfs server端組態debug

      若發現Home 目錄檔案user.group 對應為nobody.nobody ,請回頭檢查idmapd設定與組態

      由下圖中我們測試NIS Server/Client 驗證整合已成功YEAH



(B.)於NIS Client端(VM207)安裝Apache服務並啟動使用者網頁並寫入資料驗證是否OK?

       
請修改httpd.conf 設定將   

       UserDir www   #定義httpd home dir
 
     
#UserDir disabled  #將此行註解,建立home目錄相關資料

        /etc/init.d/httpd restart   
 
    下圖中,本人使用links 指令測試 http://vm207.lohas.com/~mia 測試已OK(NIS整合Apache成功)

 到目前為止,目前Remiel已經將NIS Server 與NIS Client 整合成功,剩餘NIS Slave 組態請往下看

 
[Slave NIS] vm203.lohas.com(192.168.0.203)

 接下來我們開始Build Slave NIS 除了替Master 分擔查找帳號驗證Loading亦可以做到NIS 高可用
 
 性HA (容錯服務轉移)等會架好Slave NIS 後我們將測試這塊...


Slave NIS 建構 :

Slave與Master 大同小異請照前述(NIS MASTER)步驟,預先將相關套件ypserv,yptools,ypbind 安裝好

*hostname 對應正確IP 與 鎖定相關服務Port (ypserv,yppasswdd)與nisdoamin前面步驟有提到

  在此不贅言,請完成它(參考前面建構Master NIS步驟)



vi /etc/ypserver.conf                           #增列可以前來帳號驗證存取NIS SLAVE 網段開放


127.0.0.0/255.255.255.0    :* : * :  none
192.168.11.0/255.255.255.0 :* : * :  none
*                          :* : * :  deny

/etc/init/d/rpcbind start


/etc/init.d/ypserver restart

接下來我將編輯ypbind 組態檔/etc/yp.conf 將寫入以下設定到NIS SLAVE

domain lohas.com broadcast   #指定NISDomain lohas.com  broadcast (廣播)
ypserver 192.168.11.203            #指定NIS SLAVE  ypserver IP 對應
 


編輯/etc/passwd 於最後一行加入
 
+::::::   #表示要採用NIS驗證密碼

vi /etc/nsswitch.conf   #修改密碼驗證加入NIS


passwd:     files nis nisplus
shadow:     files nis nisplus
group:      files nis nisplus
hosts:      files nis dns


請依序啟動相關服務: rpcbind,ypserv,ypasswdd,ypxfrd,ypbind

(使用chkconfig 指令設定開機自動載入該服務動作)

 
請確認ypbind 與 ypxfrd 是否正常啟動 (在NIS Slave)

接著我們暫且切換到[Master NIS]vm201.lohas.com


 vi /var/yp/ypservers #將其他信任Slave主機資料加進去以便後續同步

vm201.lohas.com
vm203.lohas.com     #我們將vm203.lohas.com(已有對應hosts ip)加入

接著我們須要手動更新/var/yp NIS的資料庫讓上述設定生效

make -C /var/yp  #須確認以下輸出資訊無問題(ex:ybind未正常啟動),反之回頭Debug



上述步驟一切就緒後,我們要初始化將NIS DB 將資料從Master 複製到Slave

接著我們即刻換到[Slave NIS]vm203.lohas.com 這台組態

執行 /usr/lib/yp/ypinit -s vm201.lohas.com   #正確無誤應該如下所見



[使用yptool工具 驗證資料]:

由於我們在NIS SLAVE 成功啟用ybind,接下來我們使用其內建工具測試

使用ypwhich 搭配-x 參數 撈取NIS資料庫資料

使用ypcat passwd.byname | grep mia 查詢到NIS資料庫裡有一筆USER ID 3005

名稱為mia5  
#以上測試均OK,您可以試試在NIS Client上測試也ok




NIS Slave 自動同步程式:/usr/lib/yp/ypxfr_1perhour

vi /etc/ypserver


NOPUSH=false    <--請調整為false 以變後續與NIS Master 進行自動同步作業 

crontab -e   #加入排程,時間一到自動跟Master主機同步資料

10 * * * /usr/lib/yp/ypxfr_1perhour  

上述步驟接完成後[NFS Client 登入nis 帳號第二階段測試]vm207.lohas.com 192.168.11.207

由於我們在上列步驟建議完成Master/SLAVE 架構,接下來我們必須將Slave主機資訊加到

client端主機yp.conf 讓Client 查找其他台Slave主機帳號資訊


vi /etc/yp.conf  #依本例而言,確認以下兩行


domain lohas.com server vm201.lohas.com      #Master NIS
domain lohas.com server vm203.lohas.com      #Slave  NIS

/etc/init.d/ypbind restart

------------測試VSFTPD 與 NIS 帳號整合------------

 新建NIS帳戶(Master NIS)

 
useradd -u 3006 -d /rhome/mia6ˊ  mia76

 passwd mia6 #替帳戶建立PASSWORD

 make -C /var/yp  #更新NIS DB資料 



  接下來本人使用局網內Windows 7 使用FTP登錄FTP://192.168.11.207(vm207)

  下圖中我們登入測試OK,NIS帳號驗證整合VSFTPD 服務測試大成功


 

 測試2: NIS帳號資料庫 HA 容錯測試(假設Master ypserver 服務停止異常)

        Slave NIS 是否能接續提供帳號驗證之服務?

 在Master NIS(vm201) 上關掉任何相關NIS服務以示我沒做假

  最後我們即刻換到[NIS Client]vm207.lohas.com 這台進行帳號登入測試

 下圖中我們停止Master NIS 服務,由於我們佈置了Slave NIS機置達成容錯HA
 
  (不間斷驗證連線服務)是不是很便利!?我們LAB到此為止圓滿結束......




設計Lab實作時參考文獻:

http://linux.vbird.org/linux_server/0600cluster.php#step_nis 鳥哥私房菜

http://www.mattiasholm.com/?p=338  www.mattiasholm.com


RedHat Enterprise Linux 5 系統管理寶典 進階篇by 恆逸資訊 陳永昇/悅知
 

相簿設定
標籤設定
相簿狀態