]> git.immae.eu Git - perso/Immae/Config/tinc/hosts.git/blobdiff - ImmaeEu-up
Add failsafe
[perso/Immae/Config/tinc/hosts.git] / ImmaeEu-up
index 00eb60f14d501b580c6ca3cb18c1c1bc16156807..006b86faf8b94d80bb4cee7e52606896eeafb29b 100755 (executable)
@@ -8,16 +8,20 @@
 # Give it the right ip and netmask. Remember, the subnet of the
 # tap device must be larger than that of the individual Subnets
 # as defined in the host configuration file!
-SUBDOMAIN=`cat /etc/tinc/$NETNAME/tinc_domaine`
+SCRIPT_DIR=$(dirname -- "$( readlink -f -- "$0"; )")
+SUBDOMAIN=$(echo "$NAME" | sed -e "s/\([A-Z][a-z0-9]*\)/\L\1 /g;" | awk '{ for (i=NF; i>1; i--) printf("%s.",$i); print $1; }')
 while [ -z "$MYIPS" -o -z "$GWIP" ]; do
-       MYIPS=`getent hosts ${SUBDOMAIN}.immae.eu | cut -d' ' -f1 | tr "\\n" ' '`
-       GWIP=`getent hosts vpn.immae.eu | head -n1 | cut -d' ' -f1`
-       sleep 5
+  MYIPS=`getent hosts ${SUBDOMAIN}.immae.eu | cut -d' ' -f1 | tr "\\n" ' '`
+  GWIP=`getent hosts gw.vpn.immae.eu | head -n1 | cut -d' ' -f1`
+  sleep 5
 done
-rm -f /tmp/tinc_$NETNAME
-echo -e "MYIPS=\"$MYIPS\"\nGWIP=\"$GWIP\"" > /tmp/tinc_$NETNAME
+rm -f /run/tinc_$NETNAME.vars
+echo -e "MYIPS=\"$MYIPS\"\nGWIP=\"$GWIP\"" > /run/tinc_$NETNAME.vars
 ip -6 link set $INTERFACE up mtu 1280
 for MYIP in $MYIPS; do
-       ip -6 addr add $MYIP/96 dev $INTERFACE
+  ip -6 addr add $MYIP/96 dev $INTERFACE
+  ip -6 rule add from $MYIP/96 table 655
+  ip -6 rule add to $MYIP/96 table 655
 done
-ip -6 route add default via $GWIP
+ip -6 route add default via $GWIP dev $INTERFACE table 655
+(cd "$SCRIPT_DIR" && git pull -q origin master) || true