summaryrefslogtreecommitdiff
path: root/SXXtailscale.template
diff options
context:
space:
mode:
Diffstat (limited to 'SXXtailscale.template')
-rwxr-xr-xSXXtailscale.template34
1 files changed, 34 insertions, 0 deletions
diff --git a/SXXtailscale.template b/SXXtailscale.template
new file mode 100755
index 0000000..68c5d6e
--- /dev/null
+++ b/SXXtailscale.template
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+export PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/builtin/sbin:/usr/builtin/bin:/usr/local/sbin:/usr/local/bin:/opt/sbin:/opt/bin"
+
+TAILSCALED="/usr/local/sbin/tailscaled"
+PIDFILE="/var/run/tailscaled.pid"
+
+# Extra flags you might want to pass to tailscaled.
+FLAGS="--tun=userspace-networking"
+
+mkdir -p /var/run/tailscale/ /usr/local/lib/tailscale
+mkdir -p /dev/net
+mknod /dev/net/tun c 10 200
+chmod 777 /dev/net/tun
+
+start-stop-daemon \
+ --start --background \
+ --exec $TAILSCALED \
+ --make-pidfile \
+ --pidfile "$PIDFILE" \
+ -- \
+ --statedir=/usr/local/lib/tailscale/ \
+ --state=/usr/local/lib/tailscale/tailscaled.state \
+ --socket=/var/run/tailscale/tailscaled.sock $FLAGS
+
+# sleep 5
+if ! grep -q 'net.ipv4.ip_forward' /etc/sysctl.conf ; then
+ echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
+fi
+if ! grep -q 'net.ipv6.conf.all.forwarding' /etc/sysctl.conf ; then
+ echo 'net.ipv6.conf.all.forwarding = 1' >> /etc/sysctl.conf
+fi
+
+sysctl -p /etc/sysctl.conf