summaryrefslogtreecommitdiffstats
path: root/retiolum/scripts/tinc_setup/tinc-up
diff options
context:
space:
mode:
Diffstat (limited to 'retiolum/scripts/tinc_setup/tinc-up')
-rwxr-xr-xretiolum/scripts/tinc_setup/tinc-up25
1 files changed, 25 insertions, 0 deletions
diff --git a/retiolum/scripts/tinc_setup/tinc-up b/retiolum/scripts/tinc_setup/tinc-up
new file mode 100755
index 00000000..a829528d
--- /dev/null
+++ b/retiolum/scripts/tinc_setup/tinc-up
@@ -0,0 +1,25 @@
+# source: krebscode/painload/retiolum/scripts/tinc_setup/tinc-up
+
+dirname="`dirname "$0"`"
+
+conf=$dirname/tinc.conf
+
+name=`sed -n 's|^ *Name *= *\([^ ]*\) *$|\1|p' $conf`
+
+host=$dirname/hosts/$name
+
+ip link set $INTERFACE up
+
+addr4=`sed -n 's|^ *Subnet *= *\(10[.][^ ]*\) *$|\1|p' $host`
+if [ "$addr4" != '' ];then
+ ip -4 addr add $addr4 dev $INTERFACE
+ ip -4 route add 10.243.0.0/16 dev $INTERFACE
+else
+ addr4=`sed -n 's|^ *Subnet *= *\(42[.][^ ]*\) *$|\1|p' $host`
+ ip -4 addr add $addr4 dev $INTERFACE
+ ip -4 route add 42.0.0.0/16 dev $INTERFACE
+fi
+
+addr6=`sed -n 's|^ *Subnet *= *\(42[:][^ ]*\) *$|\1|p' $host`
+ip -6 addr add $addr6 dev $INTERFACE
+ip -6 route add 42::/16 dev $INTERFACE