Open2
Ansibleナレッジ

検証環境情報
AAC側
IP | Hostname | OS | Role |
---|---|---|---|
10.1.1.77 | rhel9-aac24 | RHEL9.3 | ControlPlane |
10.1.1.78 | rhel9-aae24 | RHEL9.3 | ExecutionNode#1 |
10.1.1.79 | rhel9-aae24-2 | RHEL9.3 | ExecutionNode#2 |
10.1.1.80 | rhel9-postgresql | RHEL9.3 | PostgreSQL |
ターゲット側
IP | Hostname | OS | Role |
---|---|---|---|
10.1.1.101 | win22-addc | WinSV2022 | ADDC |
10.1.1.102 | win22-gen | WinSV2022 | ADClient(WindowsTarget) |
10.1.1.103 | ubuntu22-test | Ubuntu22 | LinuxTarget |
AAC側構築
前回のスクラップにメモ
ターゲット側構築
初期構築
10.1.1.101と10.1.1.102でAD作るだけ
AD接続用ユーザ→administrator@lab-nagifans.cc
ローカルユーザ→testuser
10.1.1.103はとりあえずtestuserでssh接続できる状態にしておく
Ansible用の設定を入れる
develブランチから消えてしまっているが、「ConfigureRemotingForAnsible.ps1」を使用する
>Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ansible/ansible/stable-2.12/examples/scripts/ConfigureRemotingForAnsible.ps1" -OutFile ".\ConfigureRemotingForAnsible.ps1"
>powershell.exe -ExecutionPolicy ByPass -File ".\ConfigureRemotingForAnsible.ps1"
反映確認
>winrm enumerate winrm/config/Listener
Listener
Address = *
Transport = HTTP
Port = 5985
Hostname
Enabled = true
URLPrefix = wsman
CertificateThumbprint
ListeningOn = 10.1.1.102, 127.0.0.1
↓
>winrm enumerate winrm/config/Listener
Listener
Address = *
Transport = HTTP
Port = 5985
Hostname
Enabled = true
URLPrefix = wsman
CertificateThumbprint
ListeningOn = 10.1.1.102, 127.0.0.1
Listener
Address = *
Transport = HTTPS
Port = 5986
Hostname = WIN22-GEN
Enabled = true
URLPrefix = wsman
CertificateThumbprint = XXXX
ListeningOn = 10.1.1.102, 127.0.0.1

AAP側準備
実行環境準備
デフォルトの実行環境ではWinRMとKerberos認証が使用できないので、コンテナイメージをカスタムで作成してあげるところから始まる
KerberosとNTLM両方書くが、どちらもベースイメージはubi9
WinRM+Kerberos
Dockerfile
FROM registry.access.redhat.com/ubi9/ubi:latest
USER root
RUN dnf install -y python3-devel krb5-devel gcc
RUN pip3 install pywinrm pykerberos
RUN <<EOF > /etc/krb5.conf
[libdefaults]
default_realm = lab-nagifans.cc
[realms]
HOLTIT.INTERNAL = {
kdc = win22-addc.lab-nagifans.cc
admin_server = win22-addc.lab-nagifans.cc
default_domain = lab-nagifans.cc
}
[domain_realm]
.lab-nagifans.cc = LAB-NAGIFANS.CC
lab-nagifans.cc = LAB-NAGIFANS.CC
EOF
RUN echo -n "10.1.1.101 win22-addc.lab-nagifans.cc" >> /etc/hosts
RUN echo -n "10.1.1.102 win22-gen.lab-nagifans.cc" >> /etc/hosts
イメージビルド
ExecutionNodeでビルドしておく(複数あれば全部でやる必要がある)
[awx@rhel9-aae24 winrm-k]$ podman build --tag winrm-kerberos .
ホスト情報と実行環境を登録
ホスト情報
WinRM+Kerberos
{
"ansible_host": "win22-gen.lab-nagifans.cc",
"ansible_connection": "winrm",
"ansible_user": "administrator@lab-nagifans.cc",
"ansible_password": "P@ssw0rd",
"ansible_winrm_server_cert_validation": "ignore",
"ansible_winrm_transport": "kerberos"
}