安装ipa-server

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

     ipa-server是红帽身份验证的一个完整解决方案,上游的开源项目是freeIPA,它本身不提供具体功能,而是整合了389-ds、bind、kerberos等核心软件包,形成一个以389-ds(ldap)为数据存储后端,kerberos为验证前端,bind为主机识别,apache+tomcat提供的一个web管理界面,统一的命令行管理界面的身份识别系统。是rhel6重要的新特性之一。

存储的是主机名(域名)、IP地址、用户名、密码等,以读为主,因此非常适合ldap的特性。

-----------------------------------------------------------------------------------------------------------------------

安装准备
 
yum install ntp 
yum install krb5-server krb5-server-ldap 
yum install 389-ds-base
yum install bind bind-dyndb-ladp
yum install httpd tomcat6 
 
(除了bind是可选的,其他软件包会在安装ipa-server作为依赖包一并安装,但是单独安装会更能体现对ipa原理的理解)
 
安装ipa
 
yum install ipa-server 
 
 
-----------------------------------------------------------------------------------------------------------------------
 
配置
配置前的准备
1、配置主机名,需要FQDN,我这里是ipa.test.org
2、在/etc/hosts中解析主机名为本地地址,不要填回环,这里是
192.168.1.70    ipa.test.org
 
3、防火墙开启如下端口
80、443、389、636  tcp
123   udp
53、88、464    tcp/udp
 
 
 
 
先架设dns,权威dns,不属于自己管理的域名则转发请求给外部DNS
ipa-server-install --setup-dns --forwarder=202.96.134.133
 
回答几个问题就好了,设置两个密码,分别是389-ds的管理员密码和kerberos的管理员密码。几乎是一路回车,就算是基本配置完了。
 
接下来,获得一个kerberos的登录票据(具有时效性,默认10小时),用于登录web界面和其他管理命令
运行命令 kinit admin 输入密码
 
查看票据,klist   
 
修改默认shell,默认为/binsh
ipa config-mod --defaultshell=/bin/bash
 
修改用户的shell
ipa user-mod test  --shell=/bin/bash
 
修改家目录fangfa 
ipa config-mod --homedirectory=/tmp
 
服务重启
ipactl restart
 (ipa是多个软件的集成方案,不能单独去管理bind、389-ds或者kerberos)
 
 
系统优化
fs.file-max = 64000
vm.min_free_kbytes=1024 
vm.swappiness=10
net.ipv4.tcp_keepalive_time =600
 
-----------------------------------------------------------------------------------------------------
客户端设置
1、设置唯一的DNS为ipa服务器地址 即,nameserver  192.168.1.70   
由于设置了DNS转发,可以尝试ping外网,应该是可以ping通的。
 
2、设置主机名,这里是ipa-client
 
安装ipa客户端
yum install ipa-client
 
配置ipa客户端
ipa-client-install --mkhomedir --enable-dns-updates --no-ntp -p admin 
 
服务端会默认将客户端主机名(FQDN)解析成当前的IP地址
 
手动在服务器端加入客户端解析方法
kinit admin
 
添加域
ipa dnszone-add test.org --dynamic-update=TRUE
 
添加域名
ipa dnsrecord-add test.org apache01.test.org --a-rec 192.168.1.25
 
客户端会根据DNS找到ipa服务器,输入管理员密码即可。
 
卸载ipa客户端
ipa-client --uninstall
-----------------------------------------------------------------------------------------------------------
windows客户端设置
Kerberos协议是成熟的、广泛应用的、开放的标准,微软Kerberos V5协议的实现遵循RFC的标准,因此能提供跟其他实现的互操作。 
 
设置IPA server 为DNS server,
 
下载krb3   http://web.mit.edu/kerberos/dist/kfw/3.2/kfw-3.2.2/kfw-3-2-2.exe
 
下一步直至一个选项,从网络下载路径,download from web path ,填上http://<FQDN>/ipa/config/  
 
下一步,选中Autostart the Network Identity Manager each time you login to Windows 
--------------------------------------------------------------------
通过ks脚本集成ipa-client 的做法
 
%post --log=/root/ks-post.log
 
# Get the hostname to set as the host principal
/bin/hostname > /tmp/hostname.txt
 
# Run the client install script
/usr/sbin/ipa-client-install --domain=EXAMPLEDOMAIN --enable-dns-updates --mkhomedir -w secret --realm=EXAMPLEREALM --server=ipaserver.example.com --unattended
 
  
--------------------------------------------------------------------------------------------------------------
 
基本操作
 
添加新用户
ipa user-add user01 --first=user01 --last=user01 --passwd
 
重置密码(重置后需要在客户端立即修改)
kinit admin
ipa user-mod user01 --password
 
用户密码失败后解锁
kinit admin
ipa user-unlock user01
 
删除用户
ipa user-del user01
 
禁用账户
ipa user-disable user01
 
启用账户
ipa user-enable user01
 
添加组
ipa group-add sale --desc="sales team'
 
添加成员
ipa group-add-member group01  --users=user01,user02,user03
 
 删除成员
ipa group-remove-member group01 --users=user01
 
删除组
ipa group-del sale
 
查看
ipa user-show -all
ipa group-show --all
 
 
需要注意的地方
1、时间一定要保持同步,排错前务必检查时间是否一致
2、ipa自己必须使用外部DNS,否则bind会陷入逻辑循环而死掉。
 
常见错误
ipa error no credentials cache found
 
没有打开ticket,解决办法kinit admin









本文转自 紫色葡萄 51CTO博客,原文链接:http://blog.51cto.com/purplegrape/932818,如需转载请自行联系原作者

目录
相关文章
|
Java 应用服务中间件 nginx
Server
Server
68 0
|
网络协议 区块链
p2p_server
以太坊系列之十九 对p2p模块server的理解 type transport interface { // The two handshakes. doEncHandshake(prv *ecdsa.
990 0
|
Linux 开发工具 Shell
|
SQL Windows 网络协议
|
数据安全/隐私保护 网络协议 网络安全