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 web.mit.edu/kerberos/di…****
下一步直至一个选项,从网络下载路径,download from web path ,填上http:///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****