Rhcsa-rhce-playbook — различия между версиями

Материал из pNp Wiki
Перейти к: навигация, поиск
(Дальнейшие действия)
Строка 125: Строка 125:
 
На виртуальных машинах нужно прописать адрес DNS из внутренней сети:
 
На виртуальных машинах нужно прописать адрес DNS из внутренней сети:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
[root@vm-01 ~]# nmcli connection modify eth0 ipv4.dns 192.168.10.10
+
[root@vm-02 ~]# nmcli connection modify eth0 ipv4.dns 192.168.10.10
[root@vm-01 ~]# nmcli connection modify eth1 ipv4.dns 192.168.10.10
+
[root@vm-02 ~]# nmcli connection modify eth1 ipv4.dns 192.168.10.10
[root@vm-01 ~]# nmcli connection modify eth0 ipv4.ignore-auto-dns yes
+
[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>
  

Версия 10:06, 20 ноября 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. (
                        201811i2000
                        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 для сетевых инженеров