From d66f8805398cab71d26cef7d8a99defd1ef5f7ca Mon Sep 17 00:00:00 2001 From: Tobias Hachmer Date: Wed, 31 Oct 2018 20:21:39 +0100 Subject: [PATCH] Add roles network-loopback + network-anycast --- playbooks/gateways.yml | 2 ++ playbooks/monitoring.yml | 1 + roles/network-anycast/README.md | 11 +++++++++++ roles/network-anycast/handlers/main.yml | 5 +++++ roles/network-anycast/tasks/main.yml | 6 ++++++ roles/network-anycast/templates/anycast.j2 | 8 ++++++++ roles/network-loopback/README.md | 11 +++++++++++ roles/network-loopback/handlers/main.yml | 5 +++++ roles/network-loopback/tasks/main.yml | 6 ++++++ roles/network-loopback/templates/loopback.j2 | 8 ++++++++ 10 files changed, 63 insertions(+) create mode 100644 roles/network-anycast/README.md create mode 100644 roles/network-anycast/handlers/main.yml create mode 100644 roles/network-anycast/tasks/main.yml create mode 100644 roles/network-anycast/templates/anycast.j2 create mode 100644 roles/network-loopback/README.md create mode 100644 roles/network-loopback/handlers/main.yml create mode 100644 roles/network-loopback/tasks/main.yml create mode 100644 roles/network-loopback/templates/loopback.j2 diff --git a/playbooks/gateways.yml b/playbooks/gateways.yml index 8ce445f..716411e 100755 --- a/playbooks/gateways.yml +++ b/playbooks/gateways.yml @@ -6,6 +6,8 @@ - prerequisites - server-apt-repos - server-basic + - network-loopback + - network-anycast - users - system-sysctl - git-repos diff --git a/playbooks/monitoring.yml b/playbooks/monitoring.yml index 578bcb7..3cc1569 100755 --- a/playbooks/monitoring.yml +++ b/playbooks/monitoring.yml @@ -6,6 +6,7 @@ - prerequisites - server-apt-repos - server-basic + - network-loopback - users - system-sysctl - git-repos diff --git a/roles/network-anycast/README.md b/roles/network-anycast/README.md new file mode 100644 index 0000000..ef730a2 --- /dev/null +++ b/roles/network-anycast/README.md @@ -0,0 +1,11 @@ +# Ansible role network-anycast + +Diese Ansible role konfiguriert das FFMWU Anycast Interface. + +- dummy interface +- Anycast IP + +## Benötigte Variablen + +- ffmwu_anycast_ipv4 # Anycast IPv4 Adresse +- ffmwu_anycast_ipv6 # Anycast IPv6 Adresse diff --git a/roles/network-anycast/handlers/main.yml b/roles/network-anycast/handlers/main.yml new file mode 100644 index 0000000..191d07d --- /dev/null +++ b/roles/network-anycast/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: reload network interfaces + systemd: + name: networking + state: reloaded diff --git a/roles/network-anycast/tasks/main.yml b/roles/network-anycast/tasks/main.yml new file mode 100644 index 0000000..a0ca123 --- /dev/null +++ b/roles/network-anycast/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- name: create anycast interface + template: + src: anycast.j2 + dest: "/etc/network/interfaces.d/anycast" + notify: reload network interfaces diff --git a/roles/network-anycast/templates/anycast.j2 b/roles/network-anycast/templates/anycast.j2 new file mode 100644 index 0000000..91b9653 --- /dev/null +++ b/roles/network-anycast/templates/anycast.j2 @@ -0,0 +1,8 @@ +# +# {{ ansible_managed }} +# +auto anycast +iface anycast + link-type dummy + address {{ ffmwu_anycast_ipv4 | ipaddr('network/prefix') }} + address {{ ffmwu_anycast_ipv6 | ipaddr('network/prefix') }} diff --git a/roles/network-loopback/README.md b/roles/network-loopback/README.md new file mode 100644 index 0000000..fa5bc9f --- /dev/null +++ b/roles/network-loopback/README.md @@ -0,0 +1,11 @@ +# Ansible role network-loopback + +Diese Ansible role konfiguriert das FFMWU Loopback Interface. + +- dummy interface +- Loopback IP + +## Benötigte Variablen + +- ffmwu_loopback_net_ipv4 # IPv4-Subnetz aus dem die Loopback IPs berechnet werden +- ffmwu_loopback_net_ipv6 # IPv6-Subnetz aus dem die Loopback IPs berechnet werden diff --git a/roles/network-loopback/handlers/main.yml b/roles/network-loopback/handlers/main.yml new file mode 100644 index 0000000..191d07d --- /dev/null +++ b/roles/network-loopback/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: reload network interfaces + systemd: + name: networking + state: reloaded diff --git a/roles/network-loopback/tasks/main.yml b/roles/network-loopback/tasks/main.yml new file mode 100644 index 0000000..0dd7564 --- /dev/null +++ b/roles/network-loopback/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- name: create loopback interface + template: + src: loopback.j2 + dest: "/etc/network/interfaces.d/loopback" + notify: reload network interfaces diff --git a/roles/network-loopback/templates/loopback.j2 b/roles/network-loopback/templates/loopback.j2 new file mode 100644 index 0000000..dd6ccd1 --- /dev/null +++ b/roles/network-loopback/templates/loopback.j2 @@ -0,0 +1,8 @@ +# +# {{ ansible_managed }} +# +auto loopback +iface loopback + link-type dummy + address {{ ffmwu_loopback_net_ipv4 | ipsubnet(32, magic) | ipaddr('network/prefix') }} + address {{ ffmwu_loopback_net_ipv6 | ipaddr(magic) | ipaddr('address') }}/128