红帽的ipa-server:区块链中端开源测试基础设施

2023-03-22 15:19:05 浏览数 (1)

    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

0 人点赞