# Ludus Installation (GOAD-LIGHT)

goad-light-config.yml

```
ludus:
  - vm_name: "{{ range_id }}-LIGHT-DC01"
    hostname: "{{ range_id }}-dc01"
    template: win2019-server-x64-template
    vlan: 10
    ip_last_octet: 40
    ram_gb: 4
    cpus: 2
    windows:
      sysprep: true
  - vm_name: "{{ range_id }}-LIGHT-SRV2"
    hostname: "{{ range_id }}-srv02"
    template: win2019-server-x64-template
    vlan: 10
    ip_last_octet: 44
    ram_gb: 4
    cpus: 2
    windows:
      sysprep: true
  - vm_name: "{{ range_id }}-LIGHT-DC02"
    hostname: "{{ range_id }}-dc02"
    template: win2019-server-x64-template
    vlan: 10
    ip_last_octet: 41
    ram_gb: 4
    cpus: 2
    windows:
      sysprep: true

```

inventory

```
[default]
; ------------------------------------------------
; sevenkingdoms.local
; ------------------------------------------------
dc01 ansible_host=10.2.10.40 dns_domain=dc01 dict_key=dc01
;ws01 ansible_host=10.2.10.43 dns_domain=dc01 dict_key=ws01
; ------------------------------------------------
; north.sevenkingdoms.local
; ------------------------------------------------
dc02 ansible_host=10.2.10.41 dns_domain=dc01 dict_key=dc02
srv02 ansible_host=10.2.10.44 dns_domain=dc02 dict_key=srv02

[all:vars]
; domain_name : folder inside ad/
domain_name=GOAD-Light

force_dns_server=yes
dns_server=10.2.10.254


two_adapters=no
; adapter created by proxmox (change them if you get an error)
; to get the name connect to one vm and run ipconfig it will show you the adapters name
nat_adapter=Ethernet
domain_adapter=Ethernet

; winrm connection (windows)
ansible_user=localuser
ansible_password=password
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore
ansible_winrm_operation_timeout_sec=400
ansible_winrm_read_timeout_sec=500


```

Common Issues:

Unreachable IP:

{% code overflow="wrap" %}

```
fatal: [dc01]: UNREACHABLE! => {"changed": false, "msg": "ssl: HTTPSConnectionPool(host='10.0.10.40', port=5986): Max retries exceeded with url: /wsman (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7a2be88283d0>, 'Connection to 10.0.10.40 timed out. (connect timeout=5000)'))", "unreachable": true}
```

{% endcode %}

Work around:&#x20;

```
Identify if winrm is contacting the same IP and subnet. Veryify with:
(Inside the dc01 box or any box that is throwing the error)
-     winrm enumerate winrm/config/listener
If the IPs do not match then you got your smoking gun.

Head back to the inventory file:

Replace the IP with the correct IP the machine is listening and do it on all other IPs.
```

DHCP is not assigning the correct IP for the packaged VMs

<figure><img src="/files/fiWceThkkrEilJTXRjku" alt=""><figcaption><p>Windows VM obtain the self assigned IP 169.x.x 255.255.0.0</p></figcaption></figure>

Work around:

1. If dnsmasq does not work properly (For all mighty your luck run out!) then you might need to remove it and install another dhcp server provider.
2. Using isc-dhcp-server (on your proxmox shell)

{% code title="" overflow="wrap" %}

```
#Install the service:
apt-get install isc-dhcp-server

#Configure the DHCP Server:
After installing the DHCP server, you need to configure it to listen on vmbr1 and serve IP addresses in the appropriate range.
Edit the DHCP server configuration file /etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf

#Add the following configuration to serve a specific range of IPs to the VMs connected to vmbr1000 (Assuming this is your interface):

#Note please change the IPs to your respective IP range and subnets
subnet 192.x.x.x netmask 255.255.255.0 {
    range 192.x.x.100 192.x.x.200;
    option routers 192.x.x.1;
    option domain-name-servers 8.8.8.8, 8.8.4.4;  # Example DNS servers
    option broadcast-address 192.x.x.255;
}


#Bind the DHCP Server to vmbr1000:
#You need to specify which interface the DHCP server should listen on. Edit the /etc/default/isc-dhcp-server file:

vim /etc/default/isc-dhcp-server

#Set the Interfacesv4 variable to vmbr1000 or include it
INTERFACESv4="vmbr1000"

#Restart the DHCP Service:
systemctl restart isc-dhcp-server
```

{% endcode %}

Reference:

<figure><img src="/files/BB2H7FNyTTTiBsuqXTN4" alt=""><figcaption><p>isc-dhcp-server config</p></figcaption></figure>

<figure><img src="/files/bEeKcwNE8SLEChX8CN5i" alt=""><figcaption><p>dhcp.conf example</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://h4ck0.gitbook.io/h4ck0-blog/ludus-installation-goad-light.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
