freeipa 安裝配置

     FreeIPA 是集成了ldap+Kerberos(Kerberos 認證原理很少說,簡單的說就是在身份認證的時候不傳輸密碼,而是在傳輸票據,更加安全可靠)+web管理的集中式用戶認證管理系統(系統級別的sso,能夠對apache,ftp,nfs,ldap,smtp ,ssh作身份認證。可是對samba 的身份認證不支持。samba貌似只支持AD),同時還能夠與微軟的AD進行用戶信息的同步。
html

    我是基於centos 6.5 配置安裝配置,centos ipa 身份認證是redhat 創建在開源FreeIPA身份管理軟件上。與FreeIPA配置,命令徹底同樣。web

    基本環境:shell

     ipa.dadi.com ipa1.dadi.com (ipa server)
     nfs3.dadi.com (nfs server)
     client.dadi.com (ipa client)
apache

    dns 配置:centos

    bind 配置參考:安全

 

; ldap servers
_ldap._tcp              IN SRV 0 100 389        ipa.dadi.com
_ldap._tcp              IN SRV 0 100 389        ipa1.dadi.com
;kerberos realm
_kerberos               IN TXT DADI.COM
; kerberos servers
_kerberos._tcp          IN SRV 0 100 88         ipa.dadi.com
_kerberos._udp          IN SRV 0 100 88         ipa.dadi.com
_kerberos-master._tcp   IN SRV 0 100 88         ipa.dadi.com
_kerberos-master._udp   IN SRV 0 100 88         ipa.dadi.com
_kpasswd._tcp           IN SRV 0 100 464        ipa.dadi.com
_kpasswd._udp           IN SRV 0 100 464        ipa.dadi.com
_kerberos._tcp          IN SRV 0 100 88         ipa1.dadi.com
_kerberos._udp          IN SRV 0 100 88         ipa1.dadi.com
_kerberos-master._tcp   IN SRV 0 100 88         ipa1.dadi.com
_kerberos-master._udp   IN SRV 0 100 88         ipa1.dadi.com
_kpasswd._tcp           IN SRV 0 100 464        ipa1.dadi.com
_kpasswd._udp           IN SRV 0 100 464        ipa1.dadi.com
ipa                     IN A   192.88.50.48
ipa1                    IN A   192.88.50.49
nfs3                    IN A   192.88.50.50
client                  IN A    192.88.50.51




注意:每臺服務器還須要配置反向DNS解析,不然會有問題。bash

server 安裝與配置:

yum  install ipa-server bind-dyndb-ldap -y



而後同步時間:服務器

ntpdate ntp.dadi.com



配置:dom

ipa-server-install



而後一路yes 便可,會自動配置krdc,ldap,ldap web 管理,安裝完成後執行:ssh

 

kinit admin
klist
 Ticket cache: FILE:/tmp/krb5cc_0
 Default principal: admin@DADI.COM
 Valid starting     Expires            Service principal
 12/19/13 10:22:23  12/20/13 10:22:21  krbtgt/DADI.COM@DADI.COM
ipa config-mod --defaultshell=/bin/bash  ##修改全部用戶默認shell 路徑
添加用戶:
 ipa user-add fsm --uid=1001 --gid=1001
修改用戶密碼:
 ipa passwd fsm
查詢添加用戶信息:
 ldapsearch -x -b "dc=dadi, dc=com" uid=fsm
GSS 加密查詢:
 ldapsearch -Y GSSAPI uid=fsm -LLL



ipa Recplica server 安裝:

因爲是身份認證系統,必須作HA,不然若是ipa server 壞了,那麼你還能登陸其餘系統嗎。後果可想而知。

  ipa.dadi.com 上執行:
  

 kinit admin
 ipa-replica-prepare    ipa1.dadi.com 
 scp /var/lib/ipa/replica-info-ipa1.dadi.com.gpg  root@ipa1.dadi.com:/root



     ipa1 上執行:
 

 yum  install ipa-server bind-dyndb-ldap -y
 /etc/init.d/iptables stop
 chkconfig iptables off
 ntpdate ntp.dadi.com ###時間必定要同步,防火牆關閉把,否則要開放幾個端口。
 ipa-replica-install    replica-info-ipa1.dadi.com.gpg  --skip-conncheck



安裝成功後查看,在ipa或者是ipa1上執行:

kinit admin
ipa-replica-manage list
ipa1.dadi.com: master ###兩臺都是master,能夠同時進行讀寫
ipa.dadi.com: master



ssh client 安裝配置:

   

yum  install ipa-client ipa-admintools openldap-clients -y
    ipa-client-install --mkhomedir  --no-ntp --domain=dadi.com --server=ipa.dadi.com --no-sssd -p admin



 ipa.dadi.com 上執行:
   

kinit admin
    ipa-getkeytab -s ipa.dadi.com -p host/client.dadi.com -k /tmp/krb5.keytab 
    scp /tmp/krb5.keytab client.dadi.com:/tmp



 在client.dadi.com 上執行:

(echo rkt /tmp/krb5.keytab; echo wkt /etc/krb5.keytab) |ktutil 
klist -etk 
Keytab name: FILE:/etc/krb5.keytabKVNO Timestamp         
Principal---- ----------------- --------------------------------------------------------   
3 12/17/13 17:06:46 host/client.dadi.com@DADI.COM (aes256-cts-hmac-sha1-96)    
3 12/17/13 17:06:46 host/client.dadi.com@DADI.COM (aes128-cts-hmac-sha1-96)    
3 12/17/13 17:06:46 host/client.dadi.com@DADI.COM (des3-cbc-sha1)    
3 12/17/13 17:06:46 host/client.dadi.com@DADI.COM (arcfour-hmac)



 測試登陸:

  這個時候能夠在任意一臺機器上執行ssh -l fsm client.dadi.com 就能夠登陸 client 這臺機器了。注意client 的時間必定要與ipa server 時間是同步的,不然ssh 用戶是沒法登陸的。

添加ipa1 /etc/krb5.conf  配置中。

#File modified by ipa-client-install[libdefaults]  
default_realm = DADI.COM  
dns_lookup_realm = false  
dns_lookup_kdc = false  
rdns = false  
ticket_lifetime = 24h  
forwardable = yes[realms]  
DADI.COM = {    
  kdc = ipa.dadi.com:88    
  kdc = ipa1.dadi.com:88  ###添加ipa1  
  master_kdc = ipa.dadi.com:88    
  master_kdc = ipa1.dadi.com:88   ###添加ipa1   
  admin_server = ipa.dadi.com:749    
  admin_server = ipa1.dadi.com:749   ###添加ipa1   
  default_domain = dadi.com    
  pkinit_anchors = FILE:/etc/ipa/ca.crt  }
[domain_realm]  
  .dadi.com = DADI.COM  
  dadi.com = DADI.COM



/etc/nslcd.conf  /etc/pam_ldap.conf 中添加:

uri ldap://ipa.dadi.com,ldap://ipa1.dadi.com



service nslcd restart
service sshd restart
service oddjobd restart



測試HA:

    人工down掉ipa server 看看能不可以ssh 登陸 client。正常狀況固然是能夠了。或者是在ipa1上添加一個用戶,而後啓動ipa,看是否可以同步到ipa上來。

ldap tls 信息加密:

 centos6/redhat6:
     /etc/nslcd.conf  /etc/pam_ldap.conf 中添加:
     ssl start_tls
     tls_reqcert never
     tls_cacertdir /etc/cacerts
     mkdir /etc/cacerts
     cd /etc/cacerts
     cp /etc/ipa/ca.crt cacert.crt 
     service nslcd restart
     service sshd restart



ldap user autofs nfs

ipa.dadi.com 上執行:    
kinit admin
ipa host-add nfs3.dadi.com 
ipa service-add nfs/nfs3.dadi.com 
添加用戶登陸ldap mount nfs 鍵值: 
ipa automountkey-add default auto.home --key=fsm --info=nfs3.dadi.com:/export/fsm ##添加fsm /home 目錄
nfs3.dadi.com 上執行:
mkdir /export/fsm && cp /etc/skel/.bash* /export/fsm && chmod 700 /export/fsm && chown -R fsm:fsm /export/fsm
vi /etc/export
/export    *.dadi.com(rw,fsid=0,insecure,no_subtree_check) ###不用krb5認證,krb5 因爲加密密鑰問題,尚未作通
service rpcbind restart
service nfs restart
client.dadi.com 上執行:
ipa-client-automount --location=default -S --server=ipa.dadi.com
測試: 
ssh -l fsm client.dadi.com 的時候會自動mount /home/fsm 這個目錄



說明:這是我目前真實的系統環境。

剩餘問題:

        1、nfs krb5 問題,老是報錯以下:

        WARNING: gss_accept_sec_context failed
         nfs3 rpc.svcgssd[1960]: ERROR: GSS-API: error in handle_nullreq: gss_accept_sec_context(): GSS_S_FAILURE (Unspecified GSS failure.  Minor code may provide more information) - Wrong principal in request

        這個錯說是加密密鑰形成,目前還沒解決。

     2、誇機房問題。

        其實這個問題比較簡單,每一個機房放兩臺ipa server,由於所有是master(ldap 版本必須是2.4 以上的版本),全部哪裏寫用戶信息都會同步到全網。固然誇機房mount nfs 是能夠的。考慮到高可用,若是放置nfs 的機房斷網或者是沒法連接的時候就會有問題。這個問題有兩個解決方案,一是不用自動mount nfs,ldap 的home 目錄就放在本地機器上。二是經過私網IP地址解決,每一個機房都放置一臺nfs 服務器,而且都配置私網ip地址,好比 192.88.50.53。這樣就能夠解決nfs誇機房問題,還會引出一個問題,nfs 之間數據同步問題。請你想一下?

參考文檔:http://docs.fedoraproject.org/en-US/Fedora/18/html/FreeIPA_Guide/index.html

相關文章
相關標籤/搜索