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