• Docker FreeIPA


    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
    • 启动容器

    1. docker run --name freeipa-server-container -it -d \
    2.    -h ipa.example.test --read-only \
    3.    -e PASSWORD=Secret123 \
    4. #   --add-host=ipa.example.test:10.10.10.142 \
    5.    -e IPA_SERVER_IP=172.30.38.104 \
    6.    --dns=127.0.0.1 \
    7.    -p 53:53/udp -p 53:53 \
    8.    -p 80:80 -p 443:443 -p 389:389 -p 636:636 -p 88:88 -p 464:464 \
    9.    -p 88:88/udp -p 464:464/udp -p 123:123/udp \
    10.    -v $PWD/ipa-data:/data:Z \
    11.    -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
    12.    --sysctl net.ipv6.conf.all.disable_ipv6=0 \
    13.    --tmpfs /run \
    14.   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域是否已正确安装。

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

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

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

    1. sh-4.2# ipa user-find admin
    2. --------------
    3. 1 user matched
    4. --------------
    5.  User login: admin
    6.  Last name: Administrator
    7.  Home directory: /home/admin
    8.  Login shell: /bin/bash
    9.  Principal alias: admin@EXAMPLE.TEST
    10.  UID: 1455600000
    11.  GID: 1455600000
    12.  Account disabled: False
    13. ----------------------------
    14. Number of entries returned 1
    15. ----------------------------

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

    172.30.38.104 ipa.example.test

    docker-compose.yaml

    1. version: '3'
    2. services:
    3. freeipa:
    4.   container_name: freeipa-server
    5.   image: freeipa-server:latest
    6.   dns: 127.0.0.1
    7.   tmpfs: /run
    8.   sysctls:
    9.     - net.ipv6.conf.all.disable_ipv6=0
    10.   hostname: server2.freeipa.cn
    11.   volumes:
    12.     - ./ipadata:/data:Z
    13.     - /sys/fs/cgroup:/sys/fs/cgroup:ro
    14.   ports:
    15.     - '53:53'
    16.     - '53:53/udp'
    17.     - '80:80'
    18.     - '443:443'
    19.     - '389:389'
    20.     - '636:636'
    21.     - '88:88'
    22.     - '88:88/udp'
    23.     - '464:464'
    24.     - '464:464/udp'
    25.     - '123:123/udp'
    26.   environment:
    27.     - PASSWORD=12345678
    28.     - IPA_SERVER_IP=172.30.38.104
    29.   command: 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

    客户端部署

    安装客户端

    1. sudo apt install freeipa-client
    2. sudo yum install freeipa-client

    配置DNS,/etc/resolv.conf

    1. search example.test
    2. 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/*
  • 相关阅读:
    网络协议:Cookie与Session技术
    计算机组成原理百道必考大总结(上)
    通过bat命令启动jar后缀软件
    SDL音视频渲染
    Git --- 基础介绍
    vue学习之v-if/v-else/v-else-if
    【进阶篇】MySQL的MVCC实现机制详解
    2023最新SSM计算机毕业设计选题大全(附源码+LW)之java学生出国境学习交流管理87153
    富格林:安全落实防备诱导欺诈建议
    安装K8S
  • 原文地址:https://blog.csdn.net/Waller_/article/details/125892637