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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 红帽的ipa-server:区块链中端开源测试基础设施

 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

相关文章
|
22天前
|
编解码 人工智能 自然语言处理
迈向多语言医疗大模型:大规模预训练语料、开源模型与全面基准测试
【10月更文挑战第23天】Oryx 是一种新型多模态架构,能够灵活处理各种分辨率的图像和视频数据,无需标准化。其核心创新包括任意分辨率编码和动态压缩器模块,适用于从微小图标到长时间视频的多种应用场景。Oryx 在长上下文检索和空间感知数据方面表现出色,并且已开源,为多模态研究提供了强大工具。然而,选择合适的分辨率和压缩率仍需谨慎,以平衡处理效率和识别精度。论文地址:https://www.nature.com/articles/s41467-024-52417-z
41 2
|
8天前
|
开发框架 安全 .NET
.NET使用Moq开源模拟库简化单元测试
.NET使用Moq开源模拟库简化单元测试~
|
17天前
|
NoSQL 测试技术 Go
自动化测试在 Go 开源库中的应用与实践
本文介绍了 Go 语言的自动化测试及其在 `go mongox` 库中的实践。Go 语言通过 `testing` 库和 `go test` 命令提供了简洁高效的测试框架,支持单元测试、集成测试和基准测试。`go mongox` 库通过单元测试和集成测试确保与 MongoDB 交互的正确性和稳定性,使用 Docker Compose 快速搭建测试环境。文章还探讨了表驱动测试、覆盖率检查和 Mock 工具的使用,强调了自动化测试在开源库中的重要性。
|
3月前
|
传感器 物联网 测试技术
未来科技浪潮中的领航者:区块链、物联网与虚拟现实的融合与创新探索自动化测试之美——以Selenium为例
【8月更文挑战第30天】本文深入探讨了当前最前沿的技术趋势——区块链、物联网和虚拟现实,并分析了它们各自的发展脉络及相互之间的融合可能性。我们将通过具体应用场景描绘这些技术如何塑造未来社会的面貌,同时提供代码示例以加深理解。文章旨在为读者揭示这些技术背后的巨大潜力,以及它们将如何影响我们的工作和生活方式。
|
3月前
|
物联网 测试技术 持续交付
软件测试的艺术与科学:探索自动化测试框架未来技术的融合与创新:探索区块链、物联网和虚拟现实的交汇点
【8月更文挑战第30天】在软件开发的海洋中,测试是确保航行安全不可或缺的灯塔。本文将带领读者揭开软件测试神秘的面纱,深入理解自动化测试框架的重要性和实现方法。通过实际案例,我们将一起探索如何构建高效、可靠的自动化测试系统,从而保障软件质量,提升开发效率。
|
3月前
|
测试技术 Android开发 iOS开发
Appium 是一个开源的自动化测试框架,它支持多种平台和多种编程语言
Appium是一款开源自动化测试框架,支持iOS和Android多平台及多种编程语言。通过WebDriver协议,开发者可编写自动化测试脚本。在iPhone上实现屏幕点击等操作需安装Appium及其依赖,启动服务器,并设置所需的测试环境参数。利用Python等语言编写测试脚本,模拟用户交互行为,最后运行测试脚本来验证应用功能。对于iPhone测试,需准备真实设备或Xcode模拟器。
117 1
|
3月前
|
运维 Kubernetes 监控
|
5月前
|
NoSQL 关系型数据库 MySQL
软件测试之【基于开源商城系统fecmall功能测试项目实例】
软件测试之【基于开源商城系统fecmall功能测试项目实例】
308 0
软件测试之【基于开源商城系统fecmall功能测试项目实例】
|
4月前
|
Java jenkins 持续交付
Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试
【7月更文挑战第1天】Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试。成功后,Jenkins执行部署任务,发布到服务器或云环境。使用Jenkins能提升效率,保证软件质量,加速上线,并需维护其稳定运行。
130 0
|
6月前
|
物联网 测试技术 持续交付
探索自动化测试在持续集成中的关键作用未来技术纵横谈:区块链、物联网与虚拟现实的融合革新
【5月更文挑战第27天】随着敏捷开发和持续集成(CI)的广泛采用,自动化测试已成为确保软件质量和快速交付的基石。本文将探讨自动化测试在持续集成流程中的核心地位,分析其如何提高测试效率、降低错误率,并支持快速的迭代开发。通过实例和数据支持,我们将深入理解自动化测试对于现代软件开发实践的重要性,并讨论实施自动化测试时面临的挑战及解决策略。