summaryrefslogtreecommitdiff
path: root/setup.sh
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2023-11-14 23:25:25 -0500
committerFreya Murphy <freya@freyacat.org>2023-11-14 23:25:25 -0500
commitf87d98dfd6fc9517dca870088d19664681b28136 (patch)
tree68f994adbd7847e985c38dcbe6361bb7172e0068 /setup.sh
parentthings (diff)
downloadfreyanet-f87d98dfd6fc9517dca870088d19664681b28136.tar.gz
freyanet-f87d98dfd6fc9517dca870088d19664681b28136.tar.bz2
freyanet-f87d98dfd6fc9517dca870088d19664681b28136.zip
git works
Diffstat (limited to '')
-rwxr-xr-xsetup.sh32
1 files changed, 15 insertions, 17 deletions
diff --git a/setup.sh b/setup.sh
index c03fb10..64d5142 100755
--- a/setup.sh
+++ b/setup.sh
@@ -39,7 +39,7 @@ run sysctl net.ipv6.conf.all.disable_ipv6=0 net.ipv6.conf.default.disable_ipv6=0
ospf="$(haskey OSPF)"
escapebird() {
- sed -e 's/\\/\\\\/g;s/"/\\"/g'
+ sed -e 's/\\/\\\\/g;s/"/\\"/g'
}
if [ -n "$ospf" ]; then
@@ -47,7 +47,7 @@ if [ -n "$ospf" ]; then
touch /var/log/bird.log
chown bird:bird /var/log/bird.log
-
+
selfas=$(getval AS)
(
cat <<EOF
@@ -56,21 +56,13 @@ log "/var/log/bird.log" all;
$(getval RouterID | while read -r line; do echo "router id $line;"; done)
protocol kernel {
- ipv4 {
- export filter { if source ~ [RTS_BGP, RTS_OSPF, RTS_OSPF_IA, RTS_OSPF_EXT1, RTS_OSPF_EXT2] then accept; else reject; };
- import all;
- };
- learn;
- scan time 10;
+ ipv4 { export all; };
}
+
protocol kernel {
- ipv6 {
- export filter { if source ~ [RTS_BGP, RTS_OSPF, RTS_OSPF_IA, RTS_OSPF_EXT1, RTS_OSPF_EXT2] then accept; else reject; };
- import all;
- };
- learn;
- scan time 10;
+ ipv6 { export all; };
}
+
protocol device {
}
@@ -79,6 +71,9 @@ protocol direct {
ipv6;
}
+protocol static {
+ ipv4;
+}
EOF
if [ -n "$ospf" ]; then
@@ -89,6 +84,7 @@ EOF
val="$(getval "interface $inter" OSPF)"
if [ "$?" = "0" ]; then
echo " interface \"$(printf "%s" "$inter" | escapebird)\" {"
+ echo " type ptp;"
if [ -n "$val" ]; then
echo " $val;";
fi
@@ -102,19 +98,21 @@ EOF
protocol ospf v3 ospf4 {
ipv4 {
import all;
- export filter { if source ~ [RTS_DEVICE, RTS_INHERIT] then accept; else reject; };
+ export filter { if source ~ [RTS_DEVICE, RTS_INHERIT] && net ~ [$(getval "Subnet" | grep -v ':' | while read -r line; do printf "%s+," "$line"; done | sed 's/,$//')] then accept; else reject; };
};
$interfacelist
}
protocol ospf v3 ospf6 {
ipv6 {
import all;
- export filter { if source ~ [RTS_DEVICE, RTS_INHERIT] then accept; else reject; };
+ export filter { if source ~ [RTS_DEVICE, RTS_INHERIT] && net ~ [$(getval "Subnet" | grep ':' | while read -r line; do printf "%s+," "$line"; done | sed 's/,$//')] then accept; else reject; };
};
$interfacelist
}
EOF
- ) > /etc/bird.conf
+ fi
+) > /etc/bird.conf
+
chown root:bird /etc/bird.conf
chmod 640 /etc/bird.conf