Browse Source

added new role for gre mesh between supernodes at different locations

Stefan Heinrichsen 4 years ago
parent
commit
40540a9203

+ 3 - 0
roles/gateways_gre_ffdomesh/handlers/main.yml

@@ -0,0 +1,3 @@
+---
+- name: restart networking
+  shell: systemctl restart networking; if systemctl -q is-active isc-dhcp-server; then systemctl restart isc-dhcp-server; fi; if systemctl -q is-active kea-dhcp4.service; then systemctl restart kea-dhcp4.service; fi; if systemctl -q is-active tunneldigger; then systemctl restart tunneldigger; fi

+ 11 - 0
roles/gateways_gre_ffdomesh/tasks/main.yml

@@ -0,0 +1,11 @@
+---
+- name: let read interfaces from interfaces
+  lineinfile: dest="/etc/network/interfaces" line="source /etc/network/interfaces.d/*"
+  notify:
+#    - restart networking
+
+- name: Create interfaces - gretap interfaces between supernodes
+  template: src="gre_ffdomesh.j2" dest="/etc/network/interfaces.d/50_gre_ffdomesh.cfg"
+  notify:
+#    - restart networking
+#  when: ffrl_tun is defined or ffnw_tun is defined

+ 17 - 0
roles/gateways_gre_ffdomesh/templates/gre_ffdomesh.j2

@@ -0,0 +1,17 @@
+# This file is managed by ansible, don't make changes here - they will be overwritten.
+
+{% for host in groups['supernodes'] %}
+{%   if ansible_ssh_host != hostvars[host].ansible_ssh_host and hostvars[host].hoster != hoster %}
+# GRE Tunnel between {{ ansible_hostname }} and {{host}}
+# IPv4: {{ primary_vnic_ip4 }} -> {{ hostvars[host].primary_vnic_ip4 }}
+# auto ffdo-gre-{{ ansible_hostname }}-{{host}}
+# iface ffdo-gre-{{ ansible_hostname }}-{{host}} inet static
+#     address ???
+#     netmask ???
+#     pre-up ip link add $IFACE type gre local {{ primary_vnic_ip4 }} remote {{ hostvars[host].primary_vnic_ip4 }} ttl 255
+#     pre-up ip link set $IFACE up multicast on
+#
+# IPv6: ToDo??
+{%   endif %}
+
+{% endfor %}

+ 1 - 0
supernodes.yml

@@ -18,6 +18,7 @@
     - { role: batman_build, tags: "batman_build", when:  "'batman_version' in hostvars[inventory_hostname] and domaenenliste is defined"}
     - { role: gateways_batman, tags: "gateways_batman"}
     - { role: gateways_gretap, tags: "gateways_gretap"}
+    - { role: gateways_gre_ffdomesh, tags: "gateways_gre_ffdomesh"}
     - { role: gateways_l2tp_new, tags: "gateways_l2tp_new"}
     - { role: bird_dtm, tags: "bird", when: secondary_vnic is defined }
     - { role: bird, tags: "bird", when: secondary_vnic is undefined }