Docker FreeIPA部署

服务端部署

Centos7中安装和配置FreeIPA

Centos7中安装和配置FreeIPA - 腾讯云开发者社区-腾讯云

容器部署

GitHub - freeipa/freeipa-container: FreeIPA server in containers — images at https://quay.io/repository/freeipa/freeipa-server?tab=tags or https://hub.docker.com/r/freeipa/freeipa-server/tags

  • 下载对应的Dockerfile

  • 构建镜像

docker build -t freeipa-server -f Dockerfile.centos-7 .
  • 关闭或者配置selinux

setsebool -P container_manage_cgroup 1
  • 启动容器

docker run --name freeipa-server-container -it -d \-h ipa.example.test --read-only \-e PASSWORD=Secret123 \
#    --add-host=ipa.example.test:10.10.10.142 \-e IPA_SERVER_IP=172.30.38.104 \--dns=127.0.0.1 \-p 53:53/udp -p 53:53 \-p 80:80 -p 443:443 -p 389:389 -p 636:636 -p 88:88 -p 464:464 \-p 88:88/udp -p 464:464/udp -p 123:123/udp \-v $PWD/ipa-data:/data:Z \-v /sys/fs/cgroup:/sys/fs/cgroup:ro \--sysctl net.ipv6.conf.all.disable_ipv6=0 \--tmpfs /run \freeipa-server ipa-server-install -U -r EXAMPLE.TEST --no-ntp --setup-dns --forwarder 172.30.13.130  # dns IP

参数说明:
    -h 该选项为容器中的 FreeIPA 服务器设置主机名。如果无法为容器设置主机名,请使用IPA_SERVER_HOSTNAME环境变量指定它,例如使用 podman run -e IPA_SERVER_HOSTNAME=.... 但是,这可能不适用于只读容器。不要使用ipa-server-install --hostname ...参数
    --read-only 将容器的根文件系统装载为只读
    -e 设置容器的环境变量
        PASSWORD :FreeIPA管理员的密码
        IPA_SERVER_IP :如果您不仅想从运行它的主机使用 FreeIPA 服务器,还想从外部机器使用 FreeIPA 服务器,您可能希望使用这些-p选项使服务可以从外部访问。然后,您可能还希望 IPA_SERVER_IP通过选项来指定环境变量,-e 以定义服务器应将哪个 IP 地址作为其地址放入 DNS。然后启动服务器

验证FreeIPA服务功能

首先,进入容器

docker exec -it 容器ID sh

通过尝试为admin用户初始化Kerberos令牌来验证Kerberos域是否已正确安装。

sh-4.2# kinit admin
Password for admin@EXAMPLE.TEST:   # 密码为: Secret123
sh-4.2# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: admin@EXAMPLE.TEST
​
Valid starting     Expires            Service principal
07/20/22 06:03:55  07/21/22 06:03:31  krbtgt/EXAMPLE.TEST@EXAMPLE.TEST

如果工作正常,将提示您在安装过程中输入IPA管理员密码然后按ENTER。

接下来,验证IPA服务器是否正常运行。

sh-4.2# ipa user-find admin
--------------
1 user matched
--------------User login: adminLast name: AdministratorHome directory: /home/adminLogin shell: /bin/bashPrincipal alias: admin@EXAMPLE.TESTUID: 1455600000GID: 1455600000Account disabled: False
----------------------------
Number of entries returned 1
----------------------------

/etc/hosts添加如下内容,即可通过页面访问

172.30.38.104 ipa.example.test

docker-compose.yaml

version: '3'
services:freeipa:container_name: freeipa-serverimage: freeipa-server:latestdns: 127.0.0.1tmpfs: /runsysctls:- net.ipv6.conf.all.disable_ipv6=0hostname: server2.freeipa.cnvolumes:- ./ipadata:/data:Z- /sys/fs/cgroup:/sys/fs/cgroup:roports:- '53:53'- '53:53/udp'- '80:80'- '443:443'- '389:389'- '636:636'- '88:88'- '88:88/udp'- '464:464'- '464:464/udp'- '123:123/udp'environment:- PASSWORD=12345678- IPA_SERVER_IP=172.30.38.104command: ipa-server-install -U -r FREEIPA.CN --setup-dns --forwarder 172.30.13.130

问题

Failed to create unit file /run/systemd/generator.late/network.service: File exists

添加参数–tmpfs /run

Docker (CentOS 7 with SYSTEMCTL) : Failed to mount tmpfs & cgroup - Stack Overflow

安装FreeIPA以及应用时报错汇总

端口

TCP Ports:

  • 80, 443: HTTP/HTTPS

  • 389, 636: LDAP/LDAPS

  • 88, 464: kerberos

  • 53: bind

UDP Ports:

  • 88, 464: kerberos

  • 53: bind

  • 123: ntp

客户端部署

安装客户端

sudo apt install freeipa-client
或
sudo yum install freeipa-client

配置DNS,/etc/resolv.conf

search example.test
nameserver 10.10.10.142

配置 /etc/hosts

172.30.38.104 ipa.example.test/

修改hostname, /etc/hostname

test01.ipa.example.test

初始化,提示yes

sudo /usr/sbin/ipa-client-install --domain=ipa.example.test --server=ipa.example.test --no-ntp --realm=EXAMPLE.TEST --mkhomedir
​
退域
ipa-client-install --uninstall --unattended
rm -rf /etc/sssd/*

Docker FreeIPA相关推荐

  1. Free IPA docker 安装记录

    freeipa是什么,官网了解下. 我的理解: Linux上的安全信息集成管理方案.将各种 389 Directory Server, MIT Kerberos, NTP, DNS, Dogtag c ...

  2. Docker 部署 FreeIPA 服务

    Docker 部署 FreeIPA 服务 一.FreeIPA Docker 服务部署 1.安装 FreeIPA 服务器 2.部署过程 3.域名解析 二.FreeIPA 服务器脚本批量用户操作 1.进入 ...

  3. 攻击 FreeIPA 域:对象枚举

    实验室环境 在我们深入讨论之前,让我们简要回顾一下实验室环境是如何创建的,以及它的总体结构. 详细设计 FreeIPA 实验室环境的图解 上面的图表是我为这个系列文章建立的 FreeIPA 实验室环境 ...

  4. /var/lib/docker/overlay2/xxxxx no such file or directory docker文件删除引发的问题

    记一次误删引发的服务雪崩 K8s node节点磁盘报警,报警后我找到服务中占用磁盘最多的地方,在overlay2目录下,对下面的文件进行了删除   删除后,有状态服务先出现了问题,服务无法启动.停止. ...

  5. 本地打包Docker镜像上传至阿里云远程仓库(一站式脚本)

    打包镜像上传至远程仓库: 1. 本地项目为 mytest-project 2. 仓库为阿里云镜像仓库 registry.cn-beijing.aliyuncs.com/test/mytest-proj ...

  6. docker报错:driver failed programming external connectivity on endpoint, iptables:No chain by that name

    docker 报错: Error response from daemon: Cannot restart container hello: driver failed programming ext ...

  7. Docker容器的备份与恢复,Docker镜像的备份与恢复

    1. 备份容器 首先,为了备份Docker中的容器,我们会想看看我们想要备份的容器列表.要达成该目的,我们需要在我们运行着Docker引擎,并已创建了容器的Linux机器中运行 docker ps 命 ...

  8. docker安装kafka消息队列

    1. 启动zookeeper容器(Zookeeper用于崩溃检测,实现Topic发现,和维护Topic的生产和消费状态) docker run -d --name zookeeper -p 2181: ...

  9. 设置普通用户执行docker命令,执行docker命令无需输入密码或者切换root用户

    每次执行docker命令都要输入密码或者切换root用户,非常不方便,尤其是在shell脚本中就更麻烦了,一起来解决这个问题: 1. 创建名为docker的组,如果之前已经有该组就会提示已存在: su ...

  10. docker :open /var/lib/docker/tmp/GetImageBlob318829910: no such file or directory异常解决

    千万不要直接去重装docker,不要删除镜像,不要手动创建目录和文件,只需要这样就好了!

最新文章

  1. CTFshow 命令执行 web52
  2. 独立成分分析 ( ICA ) 与主成分分析 ( PCA )再解析
  3. 函数计算助力高德地图平稳支撑亿级流量高峰
  4. spark RDD 的map与flatmap区别说明(转)
  5. python2.7删除所有非utf-8编码的字符串
  6. 初步使用github,并上传下载文件
  7. 创业冲突的五种解决方法是_不会说话,不懂处理人际冲突怎么办?《沟通的艺术》5步教会你...
  8. linq结果转换object_你知道Object.entries(),但你还知道有Object.fromEntries()吗?
  9. Linux之iptables(六、rich规则)
  10. 苹果的“价格战”还能走多远? | 畅言
  11. Cordova开发总结(插件篇)
  12. 《第一行代码》学习笔记12-UI(1)
  13. easyui datagrid checkbox使用
  14. 学会配色-色彩配色表
  15. 网鼎杯2020 玄武组部分writeup
  16. cmos sensor camera banding 现象发生原因及相关问题
  17. 前辈们的网络攻城狮心得
  18. linux通过文件修改密码,如何通过Linux系统来修改密码
  19. 2020腾讯、百度、华为Android面试题校招汇总(已拿offer
  20. vue使用腾讯地图定位以及地图组件使用

热门文章

  1. Aip接口自动化测试框架pytest+allure+request+jsonpath+excle
  2. 一键清理系统垃圾文件,让你的电脑运行如飞,隐私也更安全!
  3. 左岸读书-知识分子的典型
  4. effective c++读书随记
  5. 一起重新开始学大数据-java篇-DAY13-ArrayList集合和装拆箱
  6. python怎么更新sp2_GitHub - Sp2-Hybrid/Python-100-Days: Python - 100天从新手到大师
  7. github100天python_GitHub - jazeyoung/Python-100-Days: Python - 100天从新手到大师
  8. 怎么注销百度云服务器账号,百度网盘怎么注销账号?账号注销方法一览
  9. linux端口占满,Linux查看端口占用情况,并强制释放占用的端口
  10. Cisco Aironet系列AP的瘦胖转换