从零构建ipa-server.实现ldap+kerberos网络用户验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零构建ipa-server.实现ldap+kerberos网络用户验证相关的知识,希望对你有一定的参考价值。

redhat7 linux domain identity,authentication,and policy

linux 的域标识,认证,和策略

IPA-server服务,通过网络用户和组连接系统。

1,用户信息和认证服务介绍

1.1随着现在网络的发展,在企业中主机也越来越多,主机用户管理变成一件很艰难的任务,
一种解决方式,账号信息不存放在本地系统中,而是账号信息存储在一个中心位置,实现用户的集中管理。
单点登录(single sign on )简称SSO,是目前比较流行的企业业务整合的解决方案之一,
SSO的定义是定义在多个应用系统中,用户只需要登录一次就可以访问所有信任的应用系统。

1.2构建一个集中认证管理系统需要提供:账户信息和认证信息

1.2.1账户信息:包含如,用户名,UID,GID等

    存储账号信息流行的解决方案:LADP,NIS,AD或IPA-server

1.2.2认证信息:密码,指纹等。

ldap服务
kerberos 是一种网络认证协议,仅提供SSO认证服务,通常和LDAP一起使用。

典型的实现方案:AD(微软活动目录)和IPA-server

2,从零搭建IPA-server

2.1准备工作:

一台物理主机,两台vm虚拟机,系统为redhat7.0以上(安装了图形界面的)。
物理主机的地址为:ip:192.168.0.111/24 gw:192.168.0.1 dns192.168.0.1 地址可以根据自己的情况而定
第一台虚拟机:网卡类型为自动桥接:ip:192.168.0.118/24 gw:192.168.0.1 dns 可以暂时不用配置。这台虚拟机我们将要它配置成ipa-server
第二台虚拟机:网卡类型为自动桥接:ip:192.168.0.119/24 gw;192.168.0.1 dns:192.168.0.118


2.2 IPA-server服务安装前条件:

1,必须要有完整的主机名
2,一个静态的ip地址
3,能够对主机名做解析(正向和反向解析)
4,hosts文件也要对主机名做解析。不能解析到127.1
5,开通防火墙规则和服务
6, 做时间ntp同步

2.3步骤:现在操作192.168.0.118这台虚拟机,下面就简称为:server了

1,设置主机名为server.zhuxu.co
[[email protected] ~]# hostnamectl set-hostname server.zhuxu.co
[[email protected] ~]# hostname server.zhuxu.co
2,一个静态的ip地址上面准备工作已经设置好了
3,能够对主机名做解析(正向和反向解析)这步不用做,安装ipa-server,会自动配置dns服务
4,vim /etc/hosts 文件,添加 192.168.0.118 server.zhuxu.co server 这一行。
5,为了简化步骤,直接关闭防火墙和selinux.(我会再另外发一个版本,加上防火墙的配置)
[[email protected] ~]# iptables -F清除iptables规则
[[email protected] ~]# systemctl stop iptables 停止iptables服务
[[email protected] ~]# systemctl disable iptables 禁止iptables 开机启动
[[email protected] ~]# systemctl stop firewalld 停止firewalld 服务
[[email protected] ~]# systemctl disable firewalld 禁止firewalld 开机启动
[[email protected] ~]# setenforce 0 临时关闭selinux
编辑/etc/selinux/conf 文件 SELINUX=permissive

6,vim /etc/chrony.conf 注释前三个时间服务,编辑最后一个为:server ntp1.aliyun.com iburst
[[email protected] ~]#systemctl restart chronyd.service 重启时间服务

7,配置好yum源,我这选择挂载光盘来做yum仓库。
[[email protected] ~]# vim /etc/yum.repos.d/server.repo
在文件中输入以下内容

[base]
name=redhat7
baseurl=file:///mnt
enabled=1
gpgcheck=0 

挂载光盘到/mnt下(请确保光盘是连接状况)
[[email protected] ~]# mount /dev/cdrom /mnt

服务器端安装条件准备好了:

2.4,安装ipa-server

ipa-server 依赖于dns服务才能工作,我们要装的包有:ipa-server bind bind-dyndb-ldap ipa-server-dns
bind 是提供dns服务,bind-dyndb-ldap是提供dns和ldap连接组件等,
ipa-server-dns提供了ipa-server与dns连接组件等(根据安装系统时候选的包不同,这个包有可能装过了)

[[email protected] ~]# yum install -y ipa-server bind bind-dyndb-ldap ipa-server-dns

2.5配置ipa-server

[[email protected] ~]# ipa-server-install --setup-dns   ---安装ipa-server自动配置dns
Server host name [server.zhuxu.co]:     ---回车键(默认)
Please confirm the domain name [zhuxu.co]:    ---回车键(默认)
Please provide a realm name [ZHUXU.CO]:  ---回车键(默认)
Directory Manager password:   ---设置目录管理的密码 最少是8位
IPA admin password:  ---设置ipa 管理员admin的密码 最少8位 一定要记住,后面要用到
Do you want to configure DNS forwarders? [yes]: no ---你想配置dns为转发器吗? 选择no
Do you want to search for missing reverse zones? [yes]: yes --你想配置dns的反向域吗?选择yes
Continue to configure the system with these values? [no]: yes --继续配置系统其他的值? 选择yes
[[email protected] ~]# systemctl enable sssd      --开机自启动sssd服务(sssd:system security service deamon 系统安全服务)
[[email protected] ~]# systemctl start sssd  --开启sssd服务(可能默认已经开启了)

[[email protected] ~]# authconfig  --enablemkhomedir --update  创建的用户,默认创建用户家目录,更新认证信息

2.6验证ipa-server和dns.

2.6.1验证ipa-server

[[email protected] ~]# kinit admin   ---必须要登陆admin 才能管理域
Password for [email protected]: 
[[email protected] ~]# ipa user-find --all  查看所有域用户的信息

1 user matched

  dn: uid=admin,cn=users,cn=accounts,dc=zhuxu,dc=co
  User login: admin
  ....

Number of entries returned 1

2.6.2验证nds,正反向解析

[[email protected] ~]# dig -t a server.zhuxu.co 查看server.zhuxu.co 的A 记录
[[email protected] ~]# dig -t ptr  118.0.168.192.in-addr.apra 查看server.zhuxu.co 的PTR记录

2.7服务器配置结束。重启系统

[[email protected] ~]# reboot

3,通过图像界面添加用户和主机(通过命令也会介绍请看下一章nfs使用域用户)

可以通过server.zhuxu.co 终端中的火狐输入https://server.zhuxu.co/ipa/ui 来管理。
技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片
技术分享图片

客户端配置

1准备工作

1,配置主机名

[[email protected] ~]# hostnamectl set-hostname client.zhuxu.co
[[email protected] ~]# hostname client.zhuxu.co

2,设置一个静态ip地址 dns一定要指向server.zhuxu.co 的ip
3,关闭防火墙同server端一样
4,修改hosts文件,添加192.168.0.119 client.zhuxu.co client
5,做时间同步
vim /etc/chrony.conf 注释前三个时间服务,编辑最后一个为:server ntp1.aliyun.com iburst
[[email protected] ~]#systemctl restart chronyd.service 重启时间服务
6,配置好yum源,我这选择挂载光盘来做yum仓库。
[[email protected] ~]# vim /etc/yum.repos.d/server.repo
在文件中输入以下内容

[base]
name=redhat7
baseurl=file:///mnt
enabled=1
gpgcheck=0 

挂载光盘到/mnt下(请确保光盘是连接状况)

[[email protected] ~]# mount /dev/cdrom /mnt

2配置客户端

2.1yum install -y authconfig authconfig-gtk ipa-client

2.2用图形化配置kerberos认证信息

[[email protected] ~]#authconfig-gtk
技术分享图片

技术分享图片

2.3配置ipa-client

[[email protected] ~]# ipa-client-install --domain=zhuxu.co --no-ntp`--realm=ZHUXU.CO --mkhomedir
加入域,不启用ntp,创建用户时自动创建家目录
Continue to configure the system with these values? [no]: yes ---继续配置系统其他的值? 选择yes
User authorized to enroll computers: admin ---域管理员
Password for [email protected]: ---密码

3验证用户是否能登录

[[email protected] ~]# ssh [email protected] ---在客户端实验登录
Password: ---输入密码
Password expired. Change your password now. --提醒你密码过期
Current Password: --输入现用密码
New password: ---新密码
Retype new password:
Creating home directory for tom.
[[email protected] ~]$ whoami --登陆成功
tom
[[email protected] ~]$ pwd --在家目录下,说明家目录也是创建成功了。
/home/tom

所有配置结束,在网上搜索不到ipa-server 配置方法。这可能是在百度中找到的最全的配置方法了,还是从零构建的。2018年7月27日凌晨1:34分

以上是关于从零构建ipa-server.实现ldap+kerberos网络用户验证的主要内容,如果未能解决你的问题,请参考以下文章

构建自己的MVC框架(Ruby语言实现)-- 第一章 从零到“它工作了!”

从零开始构建react应用代码修改自动应用

webpack从零构建一个vue+element项目

如何在Python中从零开始实现随机森林

5❤️Jenkins从零到壹❤️ :集成DingTalk 插件实现构建推送消息到钉钉(JAVA 小虚竹)

5❤️Jenkins从零到壹❤️ :集成DingTalk 插件实现构建推送消息到钉钉(JAVA 小虚竹)