SRV-HQ:
- Производим коммутацию в соответствии с L2 (указываем тег 10):


hostnamectl set-hostname srv-hq.au.team; exec bash
sed -i "s/HOSTNAME=localhost/HOSTNAME=srv-hq.au.team/g" /etc/sysconfig/network
ИЛИ
sed -i "s/HOSTNAME=NONAME/HOSTNAME=srv-hq.au.team/g" /etc/sysconfig/network
Смотрим наименование интерфейса
ip a
echo "TYPE=eth" > /etc/net/ifaces/ens19/options
echo "10.1.1.10/27" > /etc/net/ifaces/ens19/ipv4address
echo "default via 10.1.1.1" > /etc/net/ifaces/ens19/ipv4route
echo "search au.team" > /etc/net/ifaces/ens19/resolv.conf
echo "nameserver 77.88.8.8" >> /etc/net/ifaces/ens19/resolv.conf
systemctl restart network
[root@srv-hq ~]# hostname -f
srv-hq.au.team
[root@srv-hq ~]# ip -br -c -4 a
lo UNKNOWN 127.0.0.1/8
ens19 UP 10.1.1.10/27
[root@srv-hq ~]# ip -c r
default via 10.1.1.1 dev ens19
10.1.1.0/27 dev ens1 proto kernel scope link src 10.1.1.10
[root@srv-hq ~]# cat /etc/resolv.conf
# Generated by resolvconf
# Do not edit manually, use
# /etc/net/ifaces/<interface>/resolv.conf instead.
search au.team
nameserver 77.88.8.8
[root@srv-hq ~]# ping -c3 ya.ru
PING ya.ru (77.88.44.242) 56(84) bytes of data.
64 bytes from ya.ru (77.88.44.242): icmp_seq=1 ttl=54 time=18.4 ms
64 bytes from ya.ru (77.88.44.242): icmp_seq=2 ttl=54 time=18.0 ms
64 bytes from ya.ru (77.88.44.242): icmp_seq=3 ttl=54 time=18.0 ms
--- ya.ru ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 18.021/18.149/18.385/0.167 ms
[root@srv-hq ~]#
- Для ускорения генерации криптографических ключей (особенно на виртуальных машинах) рекомендуется установить демон энтропии haveged:
apt-get update && apt-get install -y haveged
systemctl enable --now haveged
- Установим пакет для FreeIPA с встроенным DNS-сервером:
apt-get install -y freeipa-server-dns
- Оставляем в файле /etc/hosts только 1 запись:
echo "10.1.1.10 srv-hq.au.team srv-hq" > /etc/hosts
- Запустим развёртывание контроллера домена на базе FreeIPA с встроенным DNS-сервером:
ipa-server-install -U --hostname=$(hostname) \
-r AU.TEAM -n au.team -p P@ssw0rd -a P@ssw0rd \
--setup-dns --forwarder 77.88.8.8 --auto-reverse
ИЛИ
ipa-server-install
Do you want to configure integrated DNS (BIND)? [no]: yes
Server host name [srv-hq.au.team]:
Please confirm the domain name [au.team]:
Please provide a realm name [AU.TEAM]:
Directory Manager password: P@ssw0rd
Password (confirm): P@ssw0rd
IPA admin password: P@ssw0rd (пароль для пользователя admin)
Password (confirm): P@ssw0rd
Do you want to configure DNS forwarders? [yes]:
Following DNS servers are configured in /etc/resolv.conf: 77.88.8.8
Do you want to configure these servers as DNS forwarders? [yes]: yes
Enter an IP address for a DNS forwarder, or press Enter to skip:
Do you want to search for missing reverse zones? [yes]:
Do you want to create reverse zone for IP 10.1.1.10 [yes]:
Please specify the reverse zone name [1.1.10.in-addr.arpa.]:
NetBIOS domain name [AU]:
Do you want to configure CHRONY with NTP server or pool address? [no]:
Continue to configure the system with these values? [no]: yes
- Ожидаем окончания работы развёртывания, должен получится следующий результат:
==============================================================================
Setup complete
Next steps:
1. You must make sure these network ports are open:
TCP Ports:
* 80, 443: HTTP/HTTPS
* 389, 636: LDAP/LDAPS
* 88, 464: kerberos
* 53: bind
UDP Ports:
* 88, 464: kerberos
* 53: bind
* 123: ntp
2. You can now obtain a kerberos ticket using the command: 'kinit admin'
This ticket will allow you to use the IPA tools (e.g., ipa user-add)
and the web user interface.
Be sure to back up the CA certificates stored in /root/cacert.p12
These files are required to create replicas. The password for these
files is the Directory Manager password
The ipa-server-install command was successful
- Проверить статус подсистем:
[root@srv-hq ~]# ipactl status
Directory Service: RUNNING
krb5kdc Service: RUNNING
kadmin Service: RUNNING
named Service: RUNNING
httpd Service: RUNNING
ipa-custodia Service: RUNNING
pki-tomcatd Service: RUNNING
ipa-otpd Service: RUNNING
ipa-dnskeysyncd Service: RUNNING
ipa: INFO: The ipactl command was successful
- При использование на других ВМ SRV-HQ в качестве DNS-сервера возникает проблема с преобразованием доменных имён выходящих за рамки доменной зоны au.team
echo "allow-query { any; };" >> /etc/bind/ipa-options-ext.conf
ipactl restart
- Переходим на ADM-HQ. Результат преобразования имён:
[user@adm-hq ~]$ host srv-hq.au.team
[user@adm-hq ~]$ host 10.1.1.10
[user@adm-hq ~]$ host ya.ru

- Возвращаемся на SRV-HQ. Создаём требуемую структуру групп и пользователей в домене предварительно получив билет Kerberos
kinit admin (P@ssw0rd)
klist

ipa group-add hq
ipa group-add br
ipa group-add cod

for i in {1..5}; do
echo "P@ssw0rd" | ipa user-add hq.user$i --first=hq --last=user$i --password --password-expiration 20271231120000Z
echo "P@ssw0rd" | ipa user-add br.user$i --first=br --last=user$i --password --password-expiration 20271231120000Z
echo "P@ssw0rd" | ipa user-add cod.user$i --first=cod --last=user$i --password --password-expiration 20271231120000Z
done
ИЛИ (это дольше, но скрипт помнить не надо). Пароль P@ssw0rd)
ipa user-add hq.user1 --first=hq --last user1 --password --password-expiration 20271231120000Z
ipa user-add hq.user2 --first=hq --last user2 --password --password-expiration 20271231120000Z
ipa user-add hq.user3 --first=hq --last user3 --password --password-expiration 20271231120000Z
ipa user-add hq.user4 --first=hq --last user4 --password --password-expiration 20271231120000Z
ipa user-add hq.user5 --first=hq --last user5 --password --password-expiration 20271231120000Z
далее аналогично для br и cod
ИЛИ потом можно через ВЕБ-интерфейс (но тоже дольше)
-
- распределяем пользователей по группам
for i in {1..5}; do
ipa group-add-member hq --users=hq.user$i
ipa group-add-member br --users=br.user$i
ipa group-add-member cod --users=cod.user$i
done
ИЛИ
ipa group-add-member hq --users=hq.user1
ipa group-add-member hq --users=hq.user2
ipa group-add-member hq --users=hq.user3
ipa group-add-member hq --users=hq.user4
ipa group-add-member hq --users=hq.user5
далее аналогично для br и cod
ИЛИ потом можно через ВЕБ-интерфейс (но тоже дольше)