ソースを参照

We habe now two supernodes who form a working mesh via gretap tunnel and run two fastd instances each

Till Klocke 9 年 前
コミット
e066a19482
3 ファイル変更34 行追加8 行削除
  1. 4 2
      group_vars/supernodes
  2. 13 3
      host_vars/node01/supernode
  3. 17 3
      host_vars/node02/supernode

+ 4 - 2
group_vars/supernodes

@@ -8,21 +8,23 @@ usermanage_usersdb:
 supernode_top_domain: ff.test
 supernode_top_domain: ff.test
 supernodes:
 supernodes:
   - name: node01
   - name: node01
-    public_ip: 192.168.77.21
+    public_ip: 192.168.77.21/16
     mesh_ip_v4: 10.42.0.8/16
     mesh_ip_v4: 10.42.0.8/16
     mesh_ip_v6: fdec:16a3:681b:865c::8/64
     mesh_ip_v6: fdec:16a3:681b:865c::8/64
     mesh_mac: 96:48:76:b5:a3:61
     mesh_mac: 96:48:76:b5:a3:61
     bat_mac: f2:43:13:c0:d7:06
     bat_mac: f2:43:13:c0:d7:06
     dhcp_range_start: 10.42.0.32
     dhcp_range_start: 10.42.0.32
     dhcp_range_end: 10.42.5.254
     dhcp_range_end: 10.42.5.254
+    public_interface: eth1
   - name: node02
   - name: node02
-    public_ip: 192.168.77.22
+    public_ip: 192.168.77.22/16
     mesh_ip_v4: 10.42.0.16/16
     mesh_ip_v4: 10.42.0.16/16
     mesh_ip_v6: fdec:16a3:681b:865c::16/64
     mesh_ip_v6: fdec:16a3:681b:865c::16/64
     mesh_mac: c2:e1:c6:e5:68:4c
     mesh_mac: c2:e1:c6:e5:68:4c
     bat_mac: 1e:f5:dc:71:bb:5f
     bat_mac: 1e:f5:dc:71:bb:5f
     dhcp_range_start: 10.42.6.2
     dhcp_range_start: 10.42.6.2
     dhcp_range_end: 10.42.8.254
     dhcp_range_end: 10.42.8.254
+    public_interface: eth1
 
 
 supernode_as: '65403'
 supernode_as: '65403'
 
 

+ 13 - 3
host_vars/node01/supernode

@@ -4,15 +4,18 @@ supernode_mesh_mac: "{{local_node.mesh_mac}}"
 supernode_mesh_ipv4: "{{local_node.mesh_ip_v4}}"
 supernode_mesh_ipv4: "{{local_node.mesh_ip_v4}}"
 supernode_bat_macaddress: "{{local_node.bat_mac}}"
 supernode_bat_macaddress: "{{local_node.bat_mac}}"
 supernode_mesh_ipv6: "{{local_node.mesh_ip_v6}}"
 supernode_mesh_ipv6: "{{local_node.mesh_ip_v6}}"
-supernode_local_ip: "{{ansible_default_ipv4.address}}"
+supernode_local_ip: "{{local_node.public_ip|default(ansible_default_ipv4.address)}}"
+supernode_public_interface: "{{local_node.public_interface|default(ansible_default_ipv4.interface)}}"
 supernode_dhcp_range_start: "{{local_node.dhcp_range_start}}"
 supernode_dhcp_range_start: "{{local_node.dhcp_range_start}}"
 supernode_dhcp_range_end: "{{local_node.dhcp_range_end}}"
 supernode_dhcp_range_end: "{{local_node.dhcp_range_end}}"
 
 
 supernode_mesh_backbones:
 supernode_mesh_backbones:
   - name: "{{supernodes[1].name}}"
   - name: "{{supernodes[1].name}}"
-    remote_ip: "{{supernodes[1].public_ip}}"
+    remote_ip: "{{supernodes[1].public_ip|ipaddr('address')}}"
     mesh_ip: "{{supernodes[1].mesh_ip_v4|ipaddr('address')}}"
     mesh_ip: "{{supernodes[1].mesh_ip_v4|ipaddr('address')}}"
     address_v6: "{{supernodes[1].mesh_ip_v6|ipaddr('address')}}"
     address_v6: "{{supernodes[1].mesh_ip_v6|ipaddr('address')}}"
+    local_ip: "{{supernode_local_ip|ipaddr('address')}}"
+    interface: "{{supernode_public_interface}}"
 
 
 supernode_other_nameserver: "{{supernode_mesh_backbones|map(attribute='mesh_ip')|map('ipaddr','address')|join(' ')}}"
 supernode_other_nameserver: "{{supernode_mesh_backbones|map(attribute='mesh_ip')|map('ipaddr','address')|join(' ')}}"
 supernode_other_ntp_server: "{{supernode_mesh_backbones|map(attribute='mesh_ip')|map('ipaddr','address')|join(' ')}}"
 supernode_other_ntp_server: "{{supernode_mesh_backbones|map(attribute='mesh_ip')|map('ipaddr','address')|join(' ')}}"
@@ -35,4 +38,11 @@ supernode_interfaces:
   - name: eth1
   - name: eth1
     auto: true
     auto: true
     proto: inet
     proto: inet
-    type: dhcp
+    type: static
+    config:
+    - key: address
+      value: "{{supernode_local_ip|ipaddr('address')}}"
+    - key: netmask
+      value: "{{supernode_local_ip|ipaddr('netmask')}}"
+    - key: broadcast
+      value: "{{supernode_local_ip|ipaddr('broadcast')}}"

+ 17 - 3
host_vars/node02/supernode

@@ -4,15 +4,18 @@ supernode_mesh_mac: "{{local_node.mesh_mac}}"
 supernode_mesh_ipv4: "{{local_node.mesh_ip_v4}}"
 supernode_mesh_ipv4: "{{local_node.mesh_ip_v4}}"
 supernode_bat_macaddress: "{{local_node.bat_mac}}"
 supernode_bat_macaddress: "{{local_node.bat_mac}}"
 supernode_mesh_ipv6: "{{local_node.mesh_ip_v6}}"
 supernode_mesh_ipv6: "{{local_node.mesh_ip_v6}}"
-supernode_local_ip: "{{ansible_default_ipv4.address}}"
+supernode_local_ip: "{{local_node.public_ip|default(ansible_default_ipv4.address)}}"
+supernode_public_interface: "{{local_node.public_interface|default(ansible_default_ipv4.interface)}}"
 supernode_dhcp_range_start: "{{local_node.dhcp_range_start}}"
 supernode_dhcp_range_start: "{{local_node.dhcp_range_start}}"
 supernode_dhcp_range_end: "{{local_node.dhcp_range_end}}"
 supernode_dhcp_range_end: "{{local_node.dhcp_range_end}}"
 
 
 supernode_mesh_backbones:
 supernode_mesh_backbones:
   - name: "{{supernodes[0].name}}"
   - name: "{{supernodes[0].name}}"
-    remote_ip: "{{supernodes[0].public_ip}}"
+    remote_ip: "{{supernodes[0].public_ip|ipaddr('address')}}"
     mesh_ip: "{{supernodes[0].mesh_ip_v4|ipaddr('address')}}"
     mesh_ip: "{{supernodes[0].mesh_ip_v4|ipaddr('address')}}"
     address_v6: "{{supernodes[0].mesh_ip_v6|ipaddr('address')}}"
     address_v6: "{{supernodes[0].mesh_ip_v6|ipaddr('address')}}"
+    local_ip: "{{supernode_local_ip|ipaddr('address')}}"
+    interface: "{{supernode_public_interface}}"
 
 
 supernode_other_nameserver: "{{supernode_mesh_backbones|map(attribute='mesh_ip')|map('ipaddr','address')|join(' ')}}"
 supernode_other_nameserver: "{{supernode_mesh_backbones|map(attribute='mesh_ip')|map('ipaddr','address')|join(' ')}}"
 supernode_other_ntp_server: "{{supernode_mesh_backbones|map(attribute='mesh_ip')|map('ipaddr','address')|join(' ')}}"
 supernode_other_ntp_server: "{{supernode_mesh_backbones|map(attribute='mesh_ip')|map('ipaddr','address')|join(' ')}}"
@@ -31,4 +34,15 @@ supernode_interfaces:
   - name: eth0
   - name: eth0
     auto: true
     auto: true
     proto: inet
     proto: inet
-    type: dhcp
+    type: dhcp
+  - name: eth1
+    auto: true
+    proto: inet
+    type: static
+    config:
+    - key: address
+      value: "{{supernode_local_ip|ipaddr('address')}}"
+    - key: netmask
+      value: "{{supernode_local_ip|ipaddr('netmask')}}"
+    - key: broadcast
+      value: "{{supernode_local_ip|ipaddr('broadcast')}}"