added routing between servers
parent
6ef6aa8d62
commit
8bad801b15
@ -0,0 +1,5 @@
|
||||
---
|
||||
- name: restart babeld
|
||||
systemd:
|
||||
name: babeld.service
|
||||
state: restarted
|
@ -0,0 +1,20 @@
|
||||
---
|
||||
- name: install fastd
|
||||
become: yes
|
||||
become_user: '{{ aur_user }}'
|
||||
aur:
|
||||
name: babeld
|
||||
tool: yaourt
|
||||
|
||||
- name: babeld.conf
|
||||
template:
|
||||
src: babeld.conf.j2
|
||||
dest: /etc/babeld.conf
|
||||
mode: 0640
|
||||
notify: restart babeld
|
||||
|
||||
- name: start and enable babeld service
|
||||
systemd:
|
||||
name: babeld.service
|
||||
enabled: yes
|
||||
state: started
|
@ -0,0 +1,59 @@
|
||||
# Configuration for babeld. See the man page babeld(8) for
|
||||
# details on the configuration format.
|
||||
|
||||
# Works on Linux > 3.11
|
||||
ipv6-subtrees true
|
||||
|
||||
# You must provide at least one interface for babeld to operate on.
|
||||
{% for peer in wireguard_bb_peers %}
|
||||
interface bb{{ peer.name }}
|
||||
{% endfor %}
|
||||
#interface wlan0
|
||||
|
||||
# Global options you might want to set. There are many more, see the man page.
|
||||
#debug 1
|
||||
local-port 33123
|
||||
#diversity true
|
||||
#random-id true
|
||||
|
||||
# Per-interface configuration. Note that each interface referenced here
|
||||
# will be used by babeld.
|
||||
#interface eth1 rxcost 10
|
||||
#interface tun0 faraway true
|
||||
#interface wlan0 hello-interval 1
|
||||
|
||||
# Since 1.4.2, you can also specify defaults for interface parameters, which
|
||||
# will be used for all interfaces except specified otherwise (see above).
|
||||
#default rxcost 42
|
||||
#default hello-interval 5
|
||||
|
||||
# Since 1.5.0, you can use the RTT-based metric, most useful for a network
|
||||
# with tunnels (overlay network).
|
||||
#default enable-timestamps true
|
||||
#interface tun0 max-rtt-penalty 150
|
||||
#interface tun0 rtt-max 100
|
||||
default type wired max-rtt-penalty 128
|
||||
export-table 42
|
||||
import-table 42
|
||||
|
||||
|
||||
# Filtering rules.
|
||||
|
||||
# Only accept routes included in a specific prefix.
|
||||
#in ip 192.168.42.0/24 allow
|
||||
#in ip 2001:db8:cafe:cafe::/64 allow
|
||||
#in deny
|
||||
|
||||
redistribute metric 128
|
||||
# Only redistribute addresses from a given prefix, to avoid redistributing
|
||||
# all local addresses
|
||||
redistribute ip 10.222.0.0/16 local allow
|
||||
redistribute ip 2001:470:cd45:FF00::/56 local allow
|
||||
redistribute local deny
|
||||
|
||||
# Redistribute a default route obtained otherwise (here, through DHCP or
|
||||
# configured statically).
|
||||
# Note that babeld ignores kernel routes with proto 3 (boot) by default.
|
||||
#redistribute proto 3 ip 0.0.0.0/0 eq 0 metric 50
|
||||
#redistribute proto 3 ip ::/0 eq 0 metric 50
|
||||
|
@ -0,0 +1,24 @@
|
||||
---
|
||||
- name: create wireguard config for sites
|
||||
template:
|
||||
src: wg.conf.j2
|
||||
dest: /etc/wireguard/wgbackbone.conf
|
||||
mode: 0400
|
||||
|
||||
- name: create wireguard up scripts for sites
|
||||
template:
|
||||
src: up.sh.j2
|
||||
dest: /etc/wireguard/upbackbone.sh
|
||||
mode: 0744
|
||||
|
||||
- name: create wireguard down scripts for sites
|
||||
template:
|
||||
src: down.sh.j2
|
||||
dest: /etc/wireguard/downbackbone.sh
|
||||
mode: 0744
|
||||
|
||||
- name: start and enable wireguard mesh
|
||||
systemd:
|
||||
name: wg-quick@wgbackbone.service
|
||||
enabled: yes
|
||||
state: started
|
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
{% for peer in wireguard_bb_peers %}
|
||||
ip link set down dev bb{{ peer.name }}
|
||||
ip link del bb{{ peer.name }} type ip6gretap
|
||||
{% endfor %}
|
@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
{% for peer in wireguard_bb_peers %}
|
||||
ip link add bb{{ peer.name }} type ip6gretap remote {{ peer.address }} local {{ wireguard_bb_address }} ttl 255 dev wgbackbone
|
||||
ip link set mtu 1280 dev bb{{ peer.name }}
|
||||
ip link set up dev bb{{ peer.name }}
|
||||
ip address add {{ wireguard_bb_gre_ipv4 }} peer {{ peer.gre_ipv4 }} dev bb{{ peer.name }}
|
||||
{% endfor %}
|
@ -0,0 +1,15 @@
|
||||
[Interface]
|
||||
ListenPort = {{ wireguard_bb_port }}
|
||||
PrivateKey = {{ wireguard_bb_key }}
|
||||
Address = {{ wireguard_bb_address }}/48
|
||||
MTU = 1423
|
||||
PostUp = /etc/wireguard/upbackbone.sh
|
||||
PreDown = /etc/wireguard/downbackbone.sh
|
||||
|
||||
{% for peer in wireguard_bb_peers %}
|
||||
[Peer]
|
||||
PublicKey = {{ peer.key }}
|
||||
AllowedIPs = {{ peer.address }}/128
|
||||
Endpoint = [{{ peer.endpoint }}]:{{ wireguard_bb_port }}
|
||||
PersistentKeepalive = 30
|
||||
{% endfor %}
|
Loading…
Reference in New Issue