Rhcsa-rhce-playbook — различия между версиями
Andy (обсуждение | вклад) (→Сервер) |
Andy (обсуждение | вклад) (→Ссылки) |
||
(не показано 8 промежуточных версий этого же участника) | |||
Строка 49: | Строка 49: | ||
* Виртуальная машина с двумя сетевыми интерфейсами, двумя жесткими дисками | * Виртуальная машина с двумя сетевыми интерфейсами, двумя жесткими дисками | ||
* Учетные записи: | * Учетные записи: | ||
− | 1. SSH | + | 1. SSH<br /> |
<code>root/test1234</code><br /> | <code>root/test1234</code><br /> | ||
− | 2. LDAP | + | 2. LDAP<br /> |
<code>cn=admin,dc=virtual,dc=lab/123321</code><br /> | <code>cn=admin,dc=virtual,dc=lab/123321</code><br /> | ||
− | 3. Kerberos | + | <code>cn=lisa,ou=users,dc=virtual,dc=lab/elizabeth1</code><br /> |
+ | <code>cn=mary,ou=users,dc=virtual,dc=lab/maria1</code><br /> | ||
+ | <code>cn=randy,ou=users,dc=virtual,dc=lab/randy1</code><br /> | ||
+ | 3. Kerberos<br /> | ||
<code>krbadmin/test1234</code><br /> | <code>krbadmin/test1234</code><br /> | ||
Строка 60: | Строка 63: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
ansible-playbook -v /home/andy/tmp/rhcsa-rhce/deploy_srv.yml -i /home/andy/tmp/rhcsa-rhce/inventories/localhost/hosts -u andy -k --become-method=su -K -e 'lastoctet=10 vmname=vm-03 isopath=/home/andy/Downloads/RHEL7/rhel-server-7.0-x86_64-dvd.iso playbookpath=/home/andy/tmp/rhcsa-rhce/ username=andy' | ansible-playbook -v /home/andy/tmp/rhcsa-rhce/deploy_srv.yml -i /home/andy/tmp/rhcsa-rhce/inventories/localhost/hosts -u andy -k --become-method=su -K -e 'lastoctet=10 vmname=vm-03 isopath=/home/andy/Downloads/RHEL7/rhel-server-7.0-x86_64-dvd.iso playbookpath=/home/andy/tmp/rhcsa-rhce/ username=andy' | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Утилита <code>string2hex.pl</code> служит для создания файла <code>service.keyfile</code> и вызывается следующим образом: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ ./string2hex.pl -s cn=krbadmin,ou=users,dc=virtual,dc=lab -p test1234 | ||
+ | cn=krbadmin,ou=users,dc=virtual,dc=lab#{HEX}7465737431323334 | ||
+ | $ | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | === Дальнейшие действия === | ||
+ | После разворачивания виртуальных машин, необходимо информацию о них занести в DNS, на сервере <code>vm-03</code>: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | [root@vm-03 ~]# cat /var/named/zone/virtual.lab | ||
+ | $TTL 3600 | ||
+ | @ IN SOA kdc1.virtual.lab. admin.virtual.lab. ( | ||
+ | 2018112000 | ||
+ | 604800 ; Refresh | ||
+ | 86400 ; Retry | ||
+ | 2419200 ; Expire | ||
+ | 3600 ) ; Negative Cache TTL | ||
+ | ; | ||
+ | @ IN NS kdc1.virtual.lab. | ||
+ | |||
+ | ; Our services | ||
+ | _kerberos._tcp.virtual.lab. IN SRV 0 0 88 kdc1.virtual.lab. | ||
+ | _kerberos._udp.virtual.lab. IN SRV 0 0 88 kdc1.virtual.lab. | ||
+ | _kerberos-adm._tcp.virtual.lab. IN SRV 0 0 749 kdc1.virtual.lab. | ||
+ | _kerberos-adm._udp.virtual.lab. IN SRV 0 0 749 kdc1.virtual.lab. | ||
+ | _kerberos_master._udp.virtual.lab. IN SRV 0 0 751 kdc1.virtual.lab. | ||
+ | _kerberos_master._tcp.virtual.lab. IN SRV 0 0 751 kdc1.virtual.lab. | ||
+ | _kpasswd._udp.virtual.lab. IN SRV 0 0 464 kdc1.virtual.lab. | ||
+ | _kpasswd._tcp.virtual.lab. IN SRV 0 0 464 kdc1.virtual.lab. | ||
+ | _ldap._udp.virtual.lab. IN SRV 0 0 389 kdc1.virtual.lab. | ||
+ | _ldap._tcp.virtual.lab. IN SRV 0 0 389 kdc1.virtual.lab. | ||
+ | |||
+ | |||
+ | kdc1 IN A 192.168.10.10 | ||
+ | vm-03 IN CNAME kdc1 | ||
+ | ns1 IN CNAME kdc1 | ||
+ | |||
+ | vm-01 IN A 192.168.10.8 | ||
+ | vm-01 IN A 192.168.10.9 | ||
+ | [root@vm-03 ~]# cat /var/named/addr.arpa/10.168.192.in-addr.arpa | ||
+ | $TTL 3600 | ||
+ | @ IN SOA kdc1.virtual.lab. admin.virtual.lab. ( | ||
+ | 2018112000 | ||
+ | 604800 ; Refresh | ||
+ | 86400 ; Retry | ||
+ | 2419200 ; Expire | ||
+ | 3600 ) ; Negative Cache TTL | ||
+ | ; | ||
+ | IN NS kdc1.virtual.lab. | ||
+ | |||
+ | 8 IN PTR vm-01.virtual.lab. | ||
+ | 9 IN PTR vm-02.virtual.lab. | ||
+ | 10 IN PTR kdc1.virtual.lab. | ||
+ | [root@vm-03 ~]# | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | На виртуальных машинах нужно прописать адрес DNS из внутренней сети: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | [root@vm-02 ~]# nmcli connection modify eth0 ipv4.dns 192.168.10.10 | ||
+ | [root@vm-02 ~]# nmcli connection modify eth1 ipv4.dns 192.168.10.10 | ||
+ | [root@vm-02 ~]# nmcli connection modify eth0 ipv4.ignore-auto-dns yes | ||
+ | [root@vm-02 ~]# systemctl restart NetworkManager | ||
+ | [root@vm-02 ~]# cat /etc/resolv.conf | ||
+ | # Generated by NetworkManager | ||
+ | search virtual.lab | ||
+ | nameserver 192.168.10.10 | ||
+ | [root@vm-02 ~]# | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Ссылки == | == Ссылки == | ||
[https://docs.ansible.com Документация для Ansible]<br /> | [https://docs.ansible.com Документация для Ansible]<br /> | ||
− | [https://natenka.gitbooks.io/ansible-dlya-setevih-inzhenerov/content/ Ansible для сетевых инженеров] | + | [https://natenka.gitbooks.io/ansible-dlya-setevih-inzhenerov/content/ Ansible для сетевых инженеров]<br /> |
+ | [http://labs.opinsys.com/blog/2010/02/05/setting-up-openldap-kerberos-on-ubuntu-10-04-lucid/ Настройка OpenLDAP и Kerberos v5]<br /> | ||
+ | [http://www.rjsystems.nl/en/2100-d6-kerberos-openldap-provider.php Настройка OpenLDAP и Kerberos v5 на Debian Squeeze]<br /> |
Текущая версия на 13:45, 3 декабря 2018
Содержание
Ansible playbook для подготовки к экзаменам RHCSA/RHCE (EX200/EX300)
Общая информация
Плейбук разворачивает окружение для подготовки к экзамену RHCSA-RHCE (EX200/EX300). Пользователь, который
разворачивает плейбук должен иметь доступ к локальной машине по протоколу ssh
-
Domain: virual.lab
-
Network: 192.168.10.0/24
Предполагается, что пользовательские виртуальные машины носят название: и vm-02
,
сервер называется vm-03
и необходим для работы DNS, LDAP и предоставления тестовых пользователей.
Все задачи по выполнению экзамена происходят на пользовательских виртуальных машинах.
Предполагается следующая адресация:
-
vm-01 - 192.168.10.8
-
vm-02 - 192.168.10.9
-
vm-03 - 192.168.10.10
Пользовательские машины
- Виртуальная машина с двумя сетевыми интерфейсами, двумя жесткими дисками
- Установленные пакеты в виртуальных машинах:
nfs-utils
,krb5-workstation
- пароль
root
-test1234
Машина разворачивается следующим образом:
ansible-playbook -v /home/andy/tmp/rhcsa-rhce/deploy_vm.yml -i /home/andy/tmp/rhcsa-rhce/inventories/localhost/hosts -u andy -k --become-method=su -K -e 'lastoctet=9 vmname=vm-02 isopath=/home/andy/Downloads/RHEL7/rhel-server-7.0-x86_64-dvd.iso username=andy'
При запуске обязательно следует передавать параметры:
-
lastoctet
- число присваивается последнему октету внутренней сети -
vmname
- имя виртуальной машины -
vmname
- путь к iso файлу, с образом RHEL7.
Использовать именно RHEL7 именно версии 7.0, не обязательно, можно взять и версию 7.x, либо какую-нибудь СentOS7.x, однако, из-за обновления некоторых программ, возможно иное поведение, отличное от старых версий.
Например, NetworkManager
в RHEL/CentOS 7.1 и выше знает про опцию ipv4.gateway
, в версии 7.0 она прописывается после опции ipv4.adresses
через пробел. Так же, firewalld
в версии
RHEL/CentOS 7.1 и выше имеет большее количество шаблонов сервисов. Например:
Версия 7.0
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)
# firewall-cmd --get-services
amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https
Версия 7.5
# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
# firewall-cmd --get-services
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nfs3 nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server
Сервер
- Виртуальная машина с двумя сетевыми интерфейсами, двумя жесткими дисками
- Учетные записи:
1. SSH
root/test1234
2. LDAP
cn=admin,dc=virtual,dc=lab/123321
cn=lisa,ou=users,dc=virtual,dc=lab/elizabeth1
cn=mary,ou=users,dc=virtual,dc=lab/maria1
cn=randy,ou=users,dc=virtual,dc=lab/randy1
3. Kerberos
krbadmin/test1234
Машина разворачивается следующим образом:
ansible-playbook -v /home/andy/tmp/rhcsa-rhce/deploy_srv.yml -i /home/andy/tmp/rhcsa-rhce/inventories/localhost/hosts -u andy -k --become-method=su -K -e 'lastoctet=10 vmname=vm-03 isopath=/home/andy/Downloads/RHEL7/rhel-server-7.0-x86_64-dvd.iso playbookpath=/home/andy/tmp/rhcsa-rhce/ username=andy'
Утилита string2hex.pl
служит для создания файла service.keyfile
и вызывается следующим образом:
$ ./string2hex.pl -s cn=krbadmin,ou=users,dc=virtual,dc=lab -p test1234
cn=krbadmin,ou=users,dc=virtual,dc=lab#{HEX}7465737431323334
$
Дальнейшие действия
После разворачивания виртуальных машин, необходимо информацию о них занести в DNS, на сервере vm-03
:
[root@vm-03 ~]# cat /var/named/zone/virtual.lab
$TTL 3600
@ IN SOA kdc1.virtual.lab. admin.virtual.lab. (
2018112000
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
3600 ) ; Negative Cache TTL
;
@ IN NS kdc1.virtual.lab.
; Our services
_kerberos._tcp.virtual.lab. IN SRV 0 0 88 kdc1.virtual.lab.
_kerberos._udp.virtual.lab. IN SRV 0 0 88 kdc1.virtual.lab.
_kerberos-adm._tcp.virtual.lab. IN SRV 0 0 749 kdc1.virtual.lab.
_kerberos-adm._udp.virtual.lab. IN SRV 0 0 749 kdc1.virtual.lab.
_kerberos_master._udp.virtual.lab. IN SRV 0 0 751 kdc1.virtual.lab.
_kerberos_master._tcp.virtual.lab. IN SRV 0 0 751 kdc1.virtual.lab.
_kpasswd._udp.virtual.lab. IN SRV 0 0 464 kdc1.virtual.lab.
_kpasswd._tcp.virtual.lab. IN SRV 0 0 464 kdc1.virtual.lab.
_ldap._udp.virtual.lab. IN SRV 0 0 389 kdc1.virtual.lab.
_ldap._tcp.virtual.lab. IN SRV 0 0 389 kdc1.virtual.lab.
kdc1 IN A 192.168.10.10
vm-03 IN CNAME kdc1
ns1 IN CNAME kdc1
vm-01 IN A 192.168.10.8
vm-01 IN A 192.168.10.9
[root@vm-03 ~]# cat /var/named/addr.arpa/10.168.192.in-addr.arpa
$TTL 3600
@ IN SOA kdc1.virtual.lab. admin.virtual.lab. (
2018112000
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
3600 ) ; Negative Cache TTL
;
IN NS kdc1.virtual.lab.
8 IN PTR vm-01.virtual.lab.
9 IN PTR vm-02.virtual.lab.
10 IN PTR kdc1.virtual.lab.
[root@vm-03 ~]#
На виртуальных машинах нужно прописать адрес DNS из внутренней сети:
[root@vm-02 ~]# nmcli connection modify eth0 ipv4.dns 192.168.10.10
[root@vm-02 ~]# nmcli connection modify eth1 ipv4.dns 192.168.10.10
[root@vm-02 ~]# nmcli connection modify eth0 ipv4.ignore-auto-dns yes
[root@vm-02 ~]# systemctl restart NetworkManager
[root@vm-02 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search virtual.lab
nameserver 192.168.10.10
[root@vm-02 ~]#
Ссылки
Документация для Ansible
Ansible для сетевых инженеров
Настройка OpenLDAP и Kerberos v5
Настройка OpenLDAP и Kerberos v5 на Debian Squeeze