gen conf using wg set
This commit is contained in:
parent
70f6c1a81d
commit
9d4b5d0b25
28
init.sh
28
init.sh
@ -4,29 +4,29 @@ umask 077
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
WG_IF=${WG_INTERFACE:-wg0}
|
WG_IF=${WG_INTERFACE:-wg0}
|
||||||
PHY_IF=${WG_HOST_INTERFACE:-eth0}
|
PHY_IF=${WG_HOST_INTERFACE:-$(ip route | awk '/default/ { print $5 }')}
|
||||||
ADDRESS=${WG_ADDRESS:-192.168.2.1/24}
|
ADDRESS=${WG_ADDRESS:-192.168.2.1}
|
||||||
|
|
||||||
function shutdown() {
|
function shutdown() {
|
||||||
wg-quick down $WG_IF
|
wg-quick down $WG_IF
|
||||||
|
iptables -D FORWARD -i $WG_IF -j ACCEPT; iptables -t nat -D POSTROUTING -o $PHY_IF -j MASQUERADE
|
||||||
|
wg showconf $WG_IF > /etc/wireguard/$WG_IF.conf
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/usr/bin/wireguard-go $WG_IF
|
||||||
|
|
||||||
if [ ! -f "/etc/wireguard/$WG_IF.conf" ]; then
|
if [ ! -f "/etc/wireguard/$WG_IF.conf" ]; then
|
||||||
mkdir -p /etc/wireguard/keys
|
mkdir -p /etc/wireguard/keys
|
||||||
wg genkey | tee /etc/wireguard/keys/$WG_IF | wg pubkey > /etc/wireguard/keys/$WG_IF.pub
|
wg genkey | tee /etc/wireguard/keys/$WG_IF | wg pubkey > /etc/wireguard/keys/$WG_IF.pub
|
||||||
|
wg set $WG_IF private-key /etc/wireguard/keys/$WG_IF
|
||||||
echo "[Interface]" > /etc/wireguard/$WG_IF.conf
|
wg set $WG_IF listen-port 51820
|
||||||
echo "PrivateKey = $(cat /etc/wireguard/keys/$WG_IF)" >> /etc/wireguard/$WG_IF.conf
|
else
|
||||||
echo "ListenPort = 51820" >> /etc/wireguard/$WG_IF.conf
|
wg setconf $WG_IF /etc/wireguard/$WG_IF.conf
|
||||||
echo "PostUp = iptables -A FORWARD -i $WG_IF -j ACCEPT; iptables -t nat -A POSTROUTING -o $PHY_IF -j MASQUERADE" >> /etc/wireguard/$WG_IF.conf
|
|
||||||
echo "PostDown = iptables -D FORWARD -i $WG_IF -j ACCEPT; iptables -t nat -D POSTROUTING -o $PHY_IF -j MASQUERADE" >> /etc/wireguard/$WG_IF.conf
|
|
||||||
echo "SaveConfig = true" >> /etc/wireguard/$WG_IF.conf
|
|
||||||
echo "[Peer]"
|
|
||||||
echo "Endpoint = $ADDRESS" >> /etc/wireguard/$WG_IF.conf
|
|
||||||
|
|
||||||
echo "Generated Config for $WG_IF, Publickey: $(cat /etc/wireguard/keys/$WG_IF.pub)"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
trap shutdown EXIT
|
trap shutdown EXIT
|
||||||
|
|
||||||
/usr/bin/wireguard-go -f $WG_IF
|
ifconfig $WG_IF up $ADDRESS
|
||||||
|
iptables -A FORWARD -i $WG_IF -j ACCEPT; iptables -t nat -A POSTROUTING -o $PHY_IF -j MASQUERADE
|
||||||
|
|
||||||
|
sleep 100000000
|
||||||
|
Loading…
x
Reference in New Issue
Block a user