summaryrefslogtreecommitdiffstats
path: root/retiolum/scripts/tinc_setup/tinc-up
blob: 6bd6746dc061a68101c20f207132f11dffdab21b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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