fix port amnezia

This commit is contained in:
mercury
2024-03-07 13:10:09 +04:00
parent 3c16620a7d
commit 3e343ce2b7
+23 -8
View File
@@ -3,16 +3,31 @@ ssh-keygen -A
exec /usr/sbin/sshd -D -e "$@" & exec /usr/sbin/sshd -D -e "$@" &
INTERFACE=$(route | grep '^default' | grep -o '[^ ]*$') INTERFACE=$(route | grep '^default' | grep -o '[^ ]*$')
if [ $(cat /etc/wireguard/wg0.conf | wc -c) -eq 0 ] if [ "$HOSTNAME" = "wireguard1" ]
then then
PRIVATEKEY=$(wg genkey | tee /etc/wireguard/privatekey) if [ $(cat /etc/wireguard/wg0.conf | wc -c) -eq 0 ]
echo "[Interface]" > /etc/wireguard/wg0.conf then
echo "PrivateKey = $PRIVATEKEY" >> /etc/wireguard/wg0.conf PRIVATEKEY=$(wg genkey | tee /etc/wireguard/privatekey)
echo "Address = $ADDRESS" >> /etc/wireguard/wg0.conf echo "[Interface]" > /etc/wireguard/wg0.conf
echo "ListenPort = $WGPORT" >> /etc/wireguard/wg0.conf echo "PrivateKey = $PRIVATEKEY" >> /etc/wireguard/wg0.conf
echo "Address = $ADDRESS" >> /etc/wireguard/wg0.conf
echo "ListenPort = $WG1PORT" >> /etc/wireguard/wg0.conf
else
sed "s/ListenPort = [0-9]\+/ListenPort = $WG1PORT/" /etc/wireguard/wg0.conf > change_port
cat change_port > /etc/wireguard/wg0.conf
fi
else else
sed "s/ListenPort = [0-9]\+/ListenPort = $WGPORT/" /etc/wireguard/wg0.conf > change_port if [ $(cat /etc/wireguard/wg0.conf | wc -c) -eq 0 ]
cat change_port > /etc/wireguard/wg0.conf then
PRIVATEKEY=$(wg genkey | tee /etc/wireguard/privatekey)
echo "[Interface]" > /etc/wireguard/wg0.conf
echo "PrivateKey = $PRIVATEKEY" >> /etc/wireguard/wg0.conf
echo "Address = $ADDRESS" >> /etc/wireguard/wg0.conf
echo "ListenPort = $WGPORT" >> /etc/wireguard/wg0.conf
else
sed "s/ListenPort = [0-9]\+/ListenPort = $WGPORT/" /etc/wireguard/wg0.conf > change_port
cat change_port > /etc/wireguard/wg0.conf
fi
fi fi
iptables -t nat -A POSTROUTING --destination 10.10.0.5 -j ACCEPT iptables -t nat -A POSTROUTING --destination 10.10.0.5 -j ACCEPT
iptables -t nat -A POSTROUTING -o $INTERFACE -j MASQUERADE iptables -t nat -A POSTROUTING -o $INTERFACE -j MASQUERADE