improve shutdown characteristics
This commit is contained in:
parent
459888cafa
commit
43a0f495f6
15
init.sh
15
init.sh
@ -8,9 +8,9 @@ PHY_IF=${WG_HOST_INTERFACE:-$(ip route | awk '/default/ { print $5 }')}
|
|||||||
ADDRESS=${WG_ADDRESS:-10.200.200.1/24}
|
ADDRESS=${WG_ADDRESS:-10.200.200.1/24}
|
||||||
|
|
||||||
function shutdown() {
|
function shutdown() {
|
||||||
|
wg showconf $WG_IF > /etc/wireguard/$WG_IF.conf
|
||||||
ip link del dev $WG_IF
|
ip link del dev $WG_IF
|
||||||
setup_iptables "D"
|
setup_iptables "D"
|
||||||
wg showconf $WG_IF > /etc/wireguard/$WG_IF.conf
|
|
||||||
killall sleep
|
killall sleep
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -19,7 +19,10 @@ function setup_iptables() {
|
|||||||
iptables -t nat -$1 OUTPUT -p udp --dport 53 -j DNAT --to $WG_REDIRECT_DNS
|
iptables -t nat -$1 OUTPUT -p udp --dport 53 -j DNAT --to $WG_REDIRECT_DNS
|
||||||
iptables -t nat -$1 OUTPUT -p tcp --dport 53 -j DNAT --to $WG_REDIRECT_DNS
|
iptables -t nat -$1 OUTPUT -p tcp --dport 53 -j DNAT --to $WG_REDIRECT_DNS
|
||||||
fi
|
fi
|
||||||
iptables -$1 FORWARD -i $WG_IF -j ACCEPT; iptables -D FORWARD -i $WG_IF -o $PHY_IF -m state --state RELATED,ESTABLISHED -j ACCEPT; iptables -D FORWARD -i $PHY_IF -o $WG_IF -m state --state RELATED,ESTABLISHED -j ACCEPT; iptables -t nat -D POSTROUTING -s $ADDRESS -o $PHY_IF -j MASQUERADE;
|
iptables -$1 FORWARD -i $WG_IF -j ACCEPT
|
||||||
|
iptables -$1 FORWARD -i $WG_IF -o $PHY_IF -m state --state RELATED,ESTABLISHED -j ACCEPT
|
||||||
|
iptables -$1 FORWARD -i $PHY_IF -o $WG_IF -m state --state RELATED,ESTABLISHED -j ACCEPT
|
||||||
|
iptables -t nat -$1 POSTROUTING -s $ADDRESS -o $PHY_IF -j MASQUERADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/usr/bin/wireguard-go $WG_IF
|
/usr/bin/wireguard-go $WG_IF
|
||||||
@ -33,10 +36,14 @@ else
|
|||||||
wg setconf $WG_IF /etc/wireguard/$WG_IF.conf
|
wg setconf $WG_IF /etc/wireguard/$WG_IF.conf
|
||||||
fi
|
fi
|
||||||
|
|
||||||
trap shutdown EXIT
|
trap shutdown EXIT SIGTERM SIGTERM
|
||||||
|
|
||||||
ip link set up dev $WG_IF
|
ip link set up dev $WG_IF
|
||||||
ip address add $ADDRESS dev $WG_IF
|
ip address add $ADDRESS dev $WG_IF
|
||||||
setup_iptables "A"
|
setup_iptables "A"
|
||||||
|
|
||||||
sleep 100000000
|
while [ -e "/sys/class/net/$WG_IF/operstate" ]; do
|
||||||
|
sleep 10
|
||||||
|
done
|
||||||
|
|
||||||
|
shutdown
|
||||||
|
Loading…
x
Reference in New Issue
Block a user