diff --git a/network/blatto-wg b/network/blatto-wg index bc1ba5978abc0effcb0c4cc222f0301f96675c01..ec3cecca646ccc9c3b6dad3af6613a5076a9dd00 100755 --- a/network/blatto-wg +++ b/network/blatto-wg @@ -31,8 +31,8 @@ ip route flush table 12 ip -6 route flush table 12 ip link add dev wg-blatto type wireguard -ip addr add $v4net.$id/24 dev wg-blatto -ip addr add $v6net::$id/64 dev wg-blatto +ip addr add $v4net.$id/24 dev wg-blatto metric 100 +ip addr add $v6net::$id/64 dev wg-blatto metric 100 wg set wg-blatto listen-port 12061 private-key /etc/wireguard/blatto/$id.key wg set wg-blatto peer \$(cat /etc/wireguard/blatto/blattes.pub) preshared-key /etc/wireguard/blatto/psk endpoint $blattes_ipv4:$port allowed-ips 0.0.0.0/0,::0/0 ip link set mtu 1432 dev wg-blatto @@ -55,27 +55,57 @@ cat <<AMEN > /etc/net/wg-blatto-route #!/bin/sh set -o xtrace +blatto=del +default=del +adopt_blatto=del +adopt_default=del +adopt=del + if [[ \$1 == no ]] then - blatto=del - default=del + true elif [[ \$1 == blatto ]] then blatto=add - default=del elif [[ \$1 == all ]] then blatto=add default=add +elif [[ \$1 == adopt_blatto ]] +then + blatto=add + adopt_blatto=add + adopt=add +elif [[ \$1 == adopt_all ]] +then + blatto=add + default=add + adopt_blatto=add + adopt_default=add + adopt=add else - echo usage: \$0 no/blatto/all + echo usage: \$0 no/blatto/all/adopt_blatto/adopt_all exit 1 fi -ip route \$blatto $ipv4_prefix.0.0/16 via $v4net.1 dev wg-blatto table 12 -ip route \$blatto ${ipv6_prefix}00::0/56 via $v6net::1 dev wg-blatto table 12 -ip route \$default default via $v4net.1 dev wg-blatto table 12 -ip route \$default default via $v6net::1 dev wg-blatto table 12 + +ip route \$blatto $ipv4_prefix.0.0/16 via $v4net.1 dev wg-blatto table 12 metric 100 +ip route \$blatto ${ipv6_prefix}00::0/56 via $v6net::1 dev wg-blatto table 12 metric 100 +ip route \$default default via $v4net.1 dev wg-blatto table 12 metric 100 +ip route \$default default via $v6net::1 dev wg-blatto table 12 metric 100 + +ip addr \$adopt $adopt_v4net.$id/32 dev wg-blatto metric 1 +ip addr \$adopt $adopt_v6net::$id/128 dev wg-blatto metric 1 +ip route \$adopt_blatto $ipv4_prefix.0.0/16 dev wg-blatto table 12 metric 1 src $adopt_v4net.$id +ip route \$adopt_blatto ${ipv6_prefix}00::0/56 dev wg-blatto table 12 metric 1 src $adopt_v6net::$id +ip route \$adopt_default default dev wg-blatto table 12 metric 1 src $adopt_v4net.$id +ip route \$adopt_default default dev wg-blatto table 12 metric 1 src $adopt_v6net::$id + +if [ \$adopt == add ] +then + ip addr del $v4net.$id/24 dev wg-blatto metric 100 + ip addr add $v4net.$id/24 dev wg-blatto metric 100 +fi AMEN chmod +x /etc/net/wg-blatto{,-route}