From 80d9b714bee349057d2cc605cb771302aa486818 Mon Sep 17 00:00:00 2001 From: Markus Pesch Date: Sun, 12 Dec 2021 12:59:19 +0100 Subject: [PATCH] doc(README): requirements and network diagram --- README.md | 32 ++++++++++++++++++++++++++++---- dia/network.dia | Bin 0 -> 3807 bytes png/network.png | Bin 0 -> 38045 bytes 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 dia/network.dia create mode 100644 png/network.png diff --git a/README.md b/README.md index 561e2e8..ac444fb 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,38 @@ # linux_ws2122 - Ansible -Setup gateway and client vm via ansible. +Setup gateway and client vm via Ansible. A DHCP and DNS server is installed on +the gateway VM. Issued DHCP leases are transmitted via DDNS as forward and +reverse entry of the zone `linuxws2122.de`. -- Adapt IP-Addresses of the client and gateway VM in `host_vars`. -- Adapt name of the interfaces for booth VMs in `host_vars`. +## Requirements + +Requirements or individual adaptations to be able to run the Ansible Playbook: + +- Two Fedora 34 VMs are needed (gateway and client). Both receive a network + interface, which are connected to the subnet of the domestic router via the + network bridge `br0` of the host system in order to receive an IP address of the + router. This connection is shown in the network diagram with the colour `orange`. + + In addition, both VMs receive a second network interface for internal + communication. The connection is shown in the network diagram in the colour + grey. + +- Adapt IP-Addresses of the client and gateway VM in `host_vars`, if the + IP-Addresses are not equal with the pre-defined ones. +- Adapt name of the interfaces for booth VMs in `host_vars`, if the names of the + interface are not equal with the pre-defined ones. - Configure your Router (Fritz!Box, SpeedPort, ect) to route traffic for `192.168.181.0/24` via `gateway`. -- Restart VMs after running the playbook +- Enable password root login with SSH. Set password in `group_vars/all/ansible.yaml`. +- Restart VMs after running the playbook. + +## Running the Playbooks ```bash ansible-playbook -i hosts.yaml gateway.linuxws2122.de.yaml ansible-playbook -i hosts.yaml client.linuxws2122.de.yaml ``` + +## Network diagram + +![network-diagram](./png/network.png) diff --git a/dia/network.dia b/dia/network.dia new file mode 100644 index 0000000000000000000000000000000000000000..bbed2852c5d65563c2ba6062a28bd934bad638aa GIT binary patch literal 3807 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 Vys>{~X>|Mk?Ee=MU=C_I0RZz9DtZ6_ literal 0 HcmV?d00001 diff --git a/png/network.png b/png/network.png new file mode 100644 index 0000000000000000000000000000000000000000..4b52c1248182f359865e7214ed9aba8e1c3ca61c GIT binary patch literal 38045 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 literal 0 HcmV?d00001