Lab/Domene
Opprette domene
Vi trenger et Windows-domene som basis for laben vår. Det skal ha to domenekontrollere for redundans. Domenet skal hete win.internjet.ru. Domenekontrollerne skal hete dc1 og dc2. Oppretter to linkede kloner av Windows 2022-imaget med følgende innstillinger
VM-ID | Name | Memory |
---|---|---|
101 | dc1 | 3072 |
102 | dc2 | 3072 |
Når maskinene er klonet så skrus de på, og må settes opp med grunnleggende innstillinger manuelt. Først settes et administrator-passord som noteres i passordlisten. Maskinene settes så opp for å ha disse innstillingene (hostname trenger ikke endres før i Ansible-steget)
Hostname | IPv4 address | Subnet mask | Default Gateway | DNS server | IPv6 address | Subnet prefix length | Default gateway |
---|---|---|---|---|---|---|---|
dc1 | 10.0.10.5 | 255.255.255.0 | 10.0.10.1 | 1.1.1.1 | fd9c:e705:7fdc:10::5 | 64 | fd9c:e705:7fdc:10::1 |
dc2 | 10.0.10.6 | 255.255.255.0 | 10.0.10.1 | 1.1.1.1 | fd9c:e705:7fdc:10::6 | 64 | fd9c:e705:7fdc:10::1 |
Dette er nok til å begynne å fjernstyre maskinene med Ansible. Vi oppdaterer hosts
slik at den ser slik ut:
[all_systems] router ansible_host=10.0.10.1 dc1 ansible_host=10.0.10.5 dc2 ansible_host=10.0.10.6 [routers] router [windows:children] windows_servers windows_clients [windows_servers:children] windows_domain_controllers [windows_clients] [windows_domain_controllers] dc1 dc2 [windows_bootstrap] dc1 dc2
Alle disse gruppene trenger hver sin katalog i group_vars:
mkdir group_vars/{all_systems,routers,windows,windows_servers,windows_domain_controllers,windows_clients,windows_bootstrap}
Og følgende legges inn i group_vars/windows/vars
:
ansible_connection: winrm ansible_winrm_server_cert_validation: ignore ansible_winrm_message_encryption: always
Og dette legges inn i group_vars/windows_bootstrap/vars:
ansible_winrm_transport: credssp
I tillegg trenger vi å lagre passordet for imaget vårt:
ansible-vault create group_vars/windows_bootstrap/vault
Dette åpner et nytt dokument i nano. TODODODODOD
Dette oppsettet kan nå testes ved å kjøre følgende kommando:
ansible windows_bootstrap -u Administrator -m win_command -a "ipconfig"
Som skal gi følgende output:
dc1 | CHANGED | rc=0 >> Windows IP Configuration Ethernet adapter Ethernet Instance 0: Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : fd9c:e705:7fdc:10::5 Link-local IPv6 Address . . . . . : fe80::4565:1998:e924:719c%4 IPv4 Address. . . . . . . . . . . : 10.0.10.5 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : fd9c:e705:7fdc:10::1 10.0.10.1 dc2 | CHANGED | rc=0 >> Windows IP Configuration Ethernet adapter Ethernet Instance 0: Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : fd9c:e705:7fdc:10::6 Link-local IPv6 Address . . . . . : fe80::3ddc:1cab:1e1a:274e%5 IPv4 Address. . . . . . . . . . . : 10.0.10.6 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : fd9c:e705:7fdc:10::1 10.0.10.1
Vi bruker kun credssp for det første steget av å ta i bruk en ny Windows-server, senere skal vi bruke kerberos.
Notater
Get-DnsServerRootHint | ForEach-Object { $rootserver = $_.NameServer.RecordData.NameServer; $IP4 = $_.IPAddress[0].RecordData.Ipv4address; Write-Host "Replacing root hint for $rootserver"; Remove-DnsServerRootHint $_; Add-DnsServerRootHint -NameServer "$rootserver" -IPAddress $IP4 }