fastd working
parent
90a8a597ea
commit
d82f852497
@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=sets up ip rules and static routes
|
||||
ConditionPathExists=/usr/local/bin/ffmyk-iproute.sh
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/local/bin/ffmyk-iproute.sh
|
||||
TimeoutSec=0
|
||||
StandardOutput=tty
|
||||
RemainAfterExit=yes
|
||||
SysVStartPriority=99
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
#Routingtabelle ffmyk ist per default nicht erreichbar
|
||||
ip -4 route add unreachable default table ffmyk
|
||||
ip -6 route add unreachable default table ffmyk
|
||||
|
||||
#Alles, was mit 0x1 markiert wird gehört zu Tabelle ffmyk
|
||||
ip -4 rule add from all fwmark 0x1 table ffmyk
|
||||
ip -6 rule add from all fwmark 0x1 table ffmyk
|
||||
|
||||
#Alles mit Freifunk-IP - woher auch immer - gehlrt zu Tabelle ffmyk
|
||||
ip -4 rule add from 10.222.0.0/16 table ffmyk
|
||||
ip -6 rule add from 2001:470:cd45:FF00::/56 table ffmyk
|
@ -0,0 +1,38 @@
|
||||
---
|
||||
- name: name ffmyk routing table
|
||||
lineinfile:
|
||||
path: /etc/iproute2/rt_tables
|
||||
line: 42 ffmyk
|
||||
|
||||
- name: copy ffmyk iproute config script
|
||||
copy:
|
||||
src: ffmyk-iproute.sh
|
||||
dest: /usr/local/bin/ffmyk-iproute.sh
|
||||
mode: 0744
|
||||
|
||||
- name: copy site specific iproute up config script
|
||||
template:
|
||||
src: ffmyk-iproute-up.j2
|
||||
dest: /usr/local/bin/ffmyk-iproute{{ item.name }}-up.sh
|
||||
mode: 0744
|
||||
with_items: "{{ sites }}"
|
||||
|
||||
- name: copy site specific iproute down config script
|
||||
template:
|
||||
src: ffmyk-iproute-down.j2
|
||||
dest: /usr/local/bin/ffmyk-iproute{{ item.name }}-down.sh
|
||||
mode: 0744
|
||||
with_items: "{{ sites }}"
|
||||
|
||||
- name: copy ffmyk iproute systemd service
|
||||
copy:
|
||||
src: ffmyk-iproute.service
|
||||
dest: /etc/systemd/system/ffmyk-iproute.service
|
||||
mode: 0444
|
||||
|
||||
- name: start and enable ffmyk iproute service
|
||||
systemd:
|
||||
name: ffmyk-iproute.service
|
||||
daemon_reload: yes
|
||||
enabled: yes
|
||||
state: started
|
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
ip -4 route del {{item.net4 }} dev bat{{ item.name }} proto static table ffmyk
|
||||
ip -6 route del {{item.net6 }} dev bat{{ item.name }} proto static table ffmyk
|
||||
|
||||
ip -4 rule del iif bat{{ item.name }} table ffmyk
|
||||
ip -6 rule del iif bat{{ item.name }} table ffmyk
|
||||
ip -4 rule del from {{ item.net4 }} table ffmyk
|
||||
ip -6 rule del from {{ item.net6 }} table ffmyk
|
||||
ip -4 rule del to {{ item.net4 }} table ffmyk
|
||||
ip -6 rule del to {{ item.net6 }} table ffmyk
|
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
ip -4 rule add iif bat{{ item.name }} table ffmyk
|
||||
ip -6 rule add iif bat{{ item.name }} table ffmyk
|
||||
ip -4 rule add from {{ item.net4 }} table ffmyk
|
||||
ip -6 rule add from {{ item.net6 }} table ffmyk
|
||||
ip -4 rule add to {{ item.net4 }} table ffmyk
|
||||
ip -6 rule add to {{ item.net6 }} table ffmyk
|
||||
|
||||
ip -4 route replace {{item.net4 }} dev bat{{ item.name }} proto static table ffmyk
|
||||
ip -6 route replace {{item.net6 }} dev bat{{ item.name }} proto static table ffmyk
|
@ -1,18 +1,16 @@
|
||||
log to syslog level info;
|
||||
interface "ffmyk-mesh-vpn";
|
||||
interface "vpn{{ item.name }}";
|
||||
method "salsa2012+gmac";
|
||||
method "salsa2012+umac";
|
||||
secure handshakes yes;
|
||||
bind any:10000;
|
||||
bind any:{{ item.fastd_port1 }};
|
||||
hide ip addresses yes;
|
||||
hide mac addresses yes;
|
||||
mtu 1280;
|
||||
peer group "clients" {
|
||||
include peers from "peers";
|
||||
peer limit {{ fastd_peer_limit }};
|
||||
}
|
||||
include peers from "backbone";
|
||||
secret "{{ fastd_secret }}";
|
||||
on up "/etc/fastd/ffmyk/bin/up.sh $INTERFACE";
|
||||
status socket "/run/ffmyk.socket";
|
||||
secret "{{ item.fastd_secret }}";
|
||||
on up "/etc/fastd/ff{{ item.name }}/bin/up.sh $INTERFACE";
|
||||
status socket "/run/ff{{ item.name }}1.socket";
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
#!/bin/bash
|
||||
ip link set address {{ fastd_mesh_mac }} dev $1
|
||||
ip link set address {{ item.fastd_mesh_mac }} dev $1
|
||||
ip link set up dev $1
|
||||
batctl -m bat0 if add $1
|
||||
batctl -m bat0 gw server 1000000/1000000
|
||||
batctl -m bat0 it 10000
|
||||
batctl -m bat0 mm 1
|
||||
echo 128 > /sys/class/net/bat0/mesh/hop_penalty
|
||||
netctl start bat0
|
||||
batctl -m bat{{ item.name }} if add $1
|
||||
batctl -m bat{{ item.name }} gw server 1000000/1000000
|
||||
batctl -m bat{{ item.name }} it 10000
|
||||
batctl -m bat{{ item.name }} mm 1
|
||||
echo 64 > /sys/class/net/bat0/mesh/hop_penalty
|
||||
netctl start bat{{ item.name }}
|
||||
systemctl restart dhcpd4.service
|
||||
systemctl restart named.service
|
||||
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
- name: restart radvd
|
||||
systemd:
|
||||
name: radvd.service
|
||||
state: restarted
|
@ -0,0 +1,17 @@
|
||||
---
|
||||
- name: install radvd
|
||||
pacman:
|
||||
name: radvd
|
||||
state: present
|
||||
|
||||
- name: radvd config
|
||||
template:
|
||||
src: radvd.conf.j2
|
||||
dest: /etc/radvd.conf
|
||||
notify: restart radvd
|
||||
|
||||
- name: start and enable radvd
|
||||
systemd:
|
||||
name: radvd.service
|
||||
enabled: yes
|
||||
state: started
|
@ -0,0 +1,26 @@
|
||||
{% for site in sites %}
|
||||
interface bat{{ site.name }}
|
||||
{
|
||||
AdvSendAdvert on;
|
||||
IgnoreIfMissing on;
|
||||
MinRtrAdvInterval 3;
|
||||
MaxRtrAdvInterval 900;
|
||||
|
||||
AdvDefaultPreference low;
|
||||
AdvHomeAgentFlag off;
|
||||
|
||||
prefix {{ site.net6 }}
|
||||
{
|
||||
AdvOnLink on;
|
||||
AdvAutonomous on;
|
||||
AdvRouterAddr off;
|
||||
};
|
||||
|
||||
RDNSS {{ site.bat_ipv6 }}
|
||||
{
|
||||
AdvRDNSSLifetime 30;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
{% endfor %}
|
@ -1,20 +0,0 @@
|
||||
#!/bin/bash
|
||||
#Routingtabelle ffmyk ist per default nicht erreichbar
|
||||
ip route add unreachable default table ffmyk
|
||||
|
||||
#Alles, was mit 0x1 markiert wird gehört zu Tabelle ffmyk
|
||||
ip rule add from all fwmark 0x1 table ffmyk
|
||||
|
||||
#Alles mit Freifunk-IP - woher auch immer - gehlrt zu Tabelle ffmyk
|
||||
ip rule add from 10.222.0.0/16 table ffmyk
|
||||
|
||||
#Tabelle ffmyk routet das Ziel mit Freifunk-IPs über das Device bat0
|
||||
ip route replace 10.222.0.0/16 dev bat0 table ffmyk
|
||||
|
||||
ip route replace 0.0.0.0/1 via 10.222.100.1 dev bat0 metric 666 table ffmyk # fastd1
|
||||
ip route replace 128.0.0.0/1 via 10.222.100.1 dev bat0 metric 666 table ffmyk # fastd1
|
||||
ip route replace 0.0.0.0/1 via 10.222.112.1 dev bat0 metric 667 table ffmyk # fastd2
|
||||
ip route replace 128.0.0.0/1 via 10.222.112.1 dev bat0 metric 667 table ffmyk # fastd2
|
||||
ip route replace 0.0.0.0/1 via 10.222.120.1 dev bat0 metric 668 table ffmyk # fastd3
|
||||
ip route replace 128.0.0.0/1 via 10.222.120.1 dev bat0 metric 668 table ffmyk # fastd3
|
||||
|
@ -0,0 +1,8 @@
|
||||
Connection=ethernet
|
||||
Interface=bat{{ item.name }}
|
||||
IP=static
|
||||
IP6=static
|
||||
Address6=({{ item.bat_ipv6 }}/64)
|
||||
Address=({{ item.bat_ipv4 }}/20)
|
||||
ExecUpPost=/usr/local/bin/ffmyk-iproute{{ item.name }}-up.sh
|
||||
ExecDownPre=/usr/local/bin/ffmyk-iproute{{ item.name }}-down.sh
|
@ -1,7 +0,0 @@
|
||||
Connection=ethernet
|
||||
Interface=bat0
|
||||
IP=static
|
||||
IP6=static
|
||||
Address6=({{ bat0_ipv6 }}/64)
|
||||
Address=({{ bat0_ipv4 }}/16)
|
||||
ExecUpPost=/usr/local/bin/ffmyk-iproute.sh
|
Loading…
Reference in New Issue