dippes
Anmeldungsdatum: 31. Dezember 2009
Beiträge: 553
|
Hallo ich wollte das von Wireguard mitgelieferte script in Betrieb nehmen.Leider funktioniert der gewünschte Effekt das auflösen des Hostnamen nicht.Ich finde auch keine Dokumentation wie man das script benutzt bzw konfiguriert. Muss hier in der reset_peer_section was eingetragen werden? oder sollte sich das script das von der /etc/wireguard/*conf holen? Kann man das script aufrufen das man sehen kann ob es funktioniert? }
reset_peer_section() {
PEER_SECTION=0
PUBLIC_KEY=""
ENDPOINT=""
}
Gestartet wird das script mit einem systemctl.timer was offentsichtich auch funktioniert. Feb 16 13:51:03 hp-server systemd[1]: Starting wg-reresolve-dns@...
Feb 16 13:51:03 hp-server systemd[1]: wg-reresolve-dns@wg0.service: Succeeded.
Feb 16 13:51:03 hp-server systemd[1]: Finished wg-reresolve-dns@.
Feb 16 13:51:36 hp-server systemd[1]: Starting wg-reresolve-dns@...
Feb 16 13:51:36 hp-server systemd[1]: wg-reresolve-dns@wg0.service: Succeeded.
Feb 16 13:51:36 hp-server systemd[1]: Finished wg-reresolve-dns@. 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 | #!/bin/bash
# SPDX-License-Identifier: GPL-2.0
#
# Copyright (C) 2015-2020 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
set -e
shopt -s nocasematch
shopt -s extglob
export LC_ALL=C
CONFIG_FILE="$1"
[[ $CONFIG_FILE =~ ^[a-zA-Z0-9_=+.-]{1,15}$ ]] && CONFIG_FILE="/etc/wireguard/$CONFIG_FILE.conf"
[[ $CONFIG_FILE =~ /?([a-zA-Z0-9_=+.-]{1,15})\.conf$ ]]
INTERFACE="${BASH_REMATCH[1]}"
process_peer() {
[[ $PEER_SECTION -ne 1 || -z $PUBLIC_KEY || -z $ENDPOINT ]] && return 0
[[ $(wg show "$INTERFACE" latest-handshakes) =~ ${PUBLIC_KEY//+/\\+}\ ([0-9]+) ]] || return 0
(( ($EPOCHSECONDS - ${BASH_REMATCH[1]}) > 135 )) || return 0
wg set "$INTERFACE" peer "$PUBLIC_KEY" endpoint "$ENDPOINT"
reset_peer_section
}
reset_peer_section() {
PEER_SECTION=0
PUBLIC_KEY=""
ENDPOINT=""
}
reset_peer_section
while read -r line || [[ -n $line ]]; do
stripped="${line%%\#*}"
key="${stripped%%=*}"; key="${key##*([[:space:]])}"; key="${key%%*([[:space:]])}"
value="${stripped#*=}"; value="${value##*([[:space:]])}"; value="${value%%*([[:space:]])}"
[[ $key == "["* ]] && { process_peer; reset_peer_section; }
[[ $key == "[Peer]" ]] && PEER_SECTION=1
if [[ $PEER_SECTION -eq 1 ]]; then
case "$key" in
PublicKey) PUBLIC_KEY="$value"; continue ;;
Endpoint) ENDPOINT="$value"; continue ;;
esac
fi
done < "$CONFIG_FILE"
process_peer
|
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 9627
Wohnort: Münster
|
dippes schrieb: […] das von Wireguard mitgelieferte script
Welches Skript genau? Aus welchem Paket?
|
dippes
(Themenstarter)
Anmeldungsdatum: 31. Dezember 2009
Beiträge: 553
|
wird mit wireguard-tools installiert und liegt in /usr/share/doc/wireguard-tools/examples/reresolve-dns/reresolve-dns.sh/
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14314
|
dippes schrieb: Muss hier in der reset_peer_section was eingetragen werden? oder sollte sich das script das von der /etc/wireguard/*conf holen?
Nein, es muss nichts eingetragen werden. Wie sind die Ausgaben von:
systemctl status wg-reresolve-dns@wg0.service
systemctl cat wg-reresolve-dns@wg0.service
systemctl status wg-reresolve-dns@wg0.timer
systemctl cat wg-reresolve-dns@wg0.timer
systemctl list-timers --all
ls -la /etc/wireguard
? dippes schrieb: Kann man das script aufrufen das man sehen kann ob es funktioniert?
Ja. Z. B.: sudo bash -x <Pfad>/<zum>/<Script-Name> <wg-Interface> EDIT: BTW: $EPOCHSECONDS geht nur mit der bash-Version >/= 5.0. Testen geht mit:
date -d @$EPOCHSECONDS
Wenn Du eine bash < 5.0 hast dann benutze im Script die Zeile:
(( ($(date +%s) - ${BASH_REMATCH[1]}) > 135 )) || return 0
statt der dort jetzigen Zeile 19:
(( ($EPOCHSECONDS - ${BASH_REMATCH[1]}) > 135 )) || return 0 EDIT 2: Du kannst auch die timer-unit ignorieren und zusätzlich einen cronjob eintragen (systemweite crontab oder root-crontab):
*/5 * * * * root /usr/share/doc/wireguard-tools/examples/reresolve-dns/reresolve-dns.sh wg0
(wg0 evtl. anpassen bzw. muss der config entsprechen).
Das bash-Script soll ausführbar sein (sudo chmod 755).
|
dippes
(Themenstarter)
Anmeldungsdatum: 31. Dezember 2009
Beiträge: 553
|
Habe das script Händisch ausgeführt. Kannst du hier was erkennen? vor der Trennung root@hp-server:/usr/share/doc/wireguard-tools/examples/reresolve-dns# bash -x reresolve-dns.sh VPN
+ set -e
+ shopt -s nocasematch
+ shopt -s extglob
+ export LC_ALL=C
+ LC_ALL=C
+ CONFIG_FILE=VPN
+ [[ VPN =~ ^[a-zA-Z0-9_=+.-]{1,15}$ ]]
+ CONFIG_FILE=/etc/wireguard/VPN.conf
+ [[ /etc/wireguard/VPN.conf =~ /?([a-zA-Z0-9_=+.-]{1,15})\.conf$ ]]
+ INTERFACE=VPN
+ reset_peer_section
+ PEER_SECTION=0
+ PUBLIC_KEY=
+ ENDPOINT=
+ read -r line
+ stripped='[Interface]'
+ key='[Interface]'
+ key='[Interface]'
+ key='[Interface]'
+ value='[Interface]'
+ value='[Interface]'
+ value='[Interface]'
+ [[ [Interface] == \[* ]]
+ process_peer
+ [[ 0 -ne 1 ]]
+ return 0
+ reset_peer_section
+ PEER_SECTION=0
+ PUBLIC_KEY=
+ ENDPOINT=
+ [[ [Interface] == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped='Address = 192.168.206.1/24'
+ key='Address '
+ key='Address '
+ key=Address
+ value=' 192.168.206.1/24'
+ value=192.168.206.1/24
+ value=192.168.206.1/24
+ [[ Address == \[* ]]
+ [[ Address == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped='SaveConfig = true'
+ key='SaveConfig '
+ key='SaveConfig '
+ key=SaveConfig
+ value=' true'
+ value=true
+ value=true
+ [[ SaveConfig == \[* ]]
+ [[ SaveConfig == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped='PostUp = iptables -A FORWARD -i VPN -j ACCEPT; iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; ip6tables -A FORWARD -i VPN -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; iptables -A FORWARD -o %i -j ACCEPT'
+ key='PostUp '
+ key='PostUp '
+ key=PostUp
+ value=' iptables -A FORWARD -i VPN -j ACCEPT; iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; ip6tables -A FORWARD -i VPN -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; iptables -A FORWARD -o %i -j ACCEPT'
+ value='iptables -A FORWARD -i VPN -j ACCEPT; iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; ip6tables -A FORWARD -i VPN -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; iptables -A FORWARD -o %i -j ACCEPT'
+ value='iptables -A FORWARD -i VPN -j ACCEPT; iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; ip6tables -A FORWARD -i VPN -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; iptables -A FORWARD -o %i -j ACCEPT'
+ [[ PostUp == \[* ]]
+ [[ PostUp == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped='PostDown = iptables -D FORWARD -i VPN -j ACCEPT; iptables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; ip6tables -D FORWARD -i VPN -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; iptables -D FORWARD -o %i -j ACCEPT'
+ key='PostDown '
+ key='PostDown '
+ key=PostDown
+ value=' iptables -D FORWARD -i VPN -j ACCEPT; iptables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; ip6tables -D FORWARD -i VPN -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; iptables -D FORWARD -o %i -j ACCEPT'
+ value='iptables -D FORWARD -i VPN -j ACCEPT; iptables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; ip6tables -D FORWARD -i VPN -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; iptables -D FORWARD -o %i -j ACCEPT'
+ value='iptables -D FORWARD -i VPN -j ACCEPT; iptables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; ip6tables -D FORWARD -i VPN -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; iptables -D FORWARD -o %i -j ACCEPT'
+ [[ PostDown == \[* ]]
+ [[ PostDown == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped='ListenPort = 51820'
+ key='ListenPort '
+ key='ListenPort '
+ key=ListenPort
+ value=' 51820'
+ value=51820
+ value=51820
+ [[ ListenPort == \[* ]]
+ [[ ListenPort == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped='PrivateKey = CE3yg06Aa99guxFAVerndbG6nXoTUserIGe+XEzNLlU='
+ key='PrivateKey '
+ key='PrivateKey '
+ key=PrivateKey
+ value=' xxxxxxxx='
+ value=xxxxxxxxxx=
+ value=xxxxxxxxxx=
+ [[ PrivateKey == \[* ]]
+ [[ PrivateKey == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped=
+ key=
+ key=
+ key=
+ value=
+ value=
+ value=
+ [[ '' == \[* ]]
+ [[ '' == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped='[Peer]'
+ key='[Peer]'
+ key='[Peer]'
+ key='[Peer]'
+ value='[Peer]'
+ value='[Peer]'
+ value='[Peer]'
+ [[ [Peer] == \[* ]]
+ process_peer
+ [[ 0 -ne 1 ]]
+ return 0
+ reset_peer_section
+ PEER_SECTION=0
+ PUBLIC_KEY=
+ ENDPOINT=
+ [[ [Peer] == \[\P\e\e\r\] ]]
+ PEER_SECTION=1
+ [[ 1 -eq 1 ]]
+ case "$key" in
+ read -r line
+ stripped='PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
+ key='PublicKey '
+ key='PublicKey '
+ key=PublicKey
+ value=' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
+ value=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ value=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ [[ PublicKey == \[* ]]
+ [[ PublicKey == \[\P\e\e\r\] ]]
+ [[ 1 -eq 1 ]]
+ case "$key" in
+ PUBLIC_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
+ continue
+ read -r line
+ stripped='AllowedIPs = 192.168.206.2/32'
+ key='AllowedIPs '
+ key='AllowedIPs '
+ key=AllowedIPs
+ value=' 192.168.206.2/32'
+ value=192.168.206.2/32
+ value=192.168.206.2/32
+ [[ AllowedIPs == \[* ]]
+ [[ AllowedIPs == \[\P\e\e\r\] ]]
+ [[ 1 -eq 1 ]]
+ case "$key" in
+ read -r line
+ stripped='Endpoint = 46.114.149.51:9223'
+ key='Endpoint '
+ key='Endpoint '
+ key=Endpoint
+ value=' 46.114.149.51:9223'
+ value=46.114.149.51:9223
+ value=46.114.149.51:9223
+ [[ Endpoint == \[* ]]
+ [[ Endpoint == \[\P\e\e\r\] ]]
+ [[ 1 -eq 1 ]]
+ case "$key" in
+ ENDPOINT=46.114.149.51:9223
+ continue
+ read -r line
+ [[ -n '' ]]
+ process_peer
+ [[ 1 -ne 1 ]]
+ [[ -z 5ByOt8eSvVf0j06NTmdvs2HJuikPQOuH0K4UOLoVWkM= ]]
+ [[ -z 46.114.149.51:9223 ]]
++ wg show VPN latest-handshakes
+ [[ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= 1645090529 =~ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= ([0-9]+) ]]
++ date +%s
+ (( (1645090580 - 1645090529) > 135 ))
+ return 0
root@hp-server:/usr/share/doc/wireguard-tools/examples/reresolve-dns#
Mit neuer IP root@hp-server:/usr/share/doc/wireguard-tools/examples/reresolve-dns# bash -x reresolve-dns.sh VPN
+ set -e
+ shopt -s nocasematch
+ shopt -s extglob
+ export LC_ALL=C
+ LC_ALL=C
+ CONFIG_FILE=VPN
+ [[ VPN =~ ^[a-zA-Z0-9_=+.-]{1,15}$ ]]
+ CONFIG_FILE=/etc/wireguard/VPN.conf
+ [[ /etc/wireguard/VPN.conf =~ /?([a-zA-Z0-9_=+.-]{1,15})\.conf$ ]]
+ INTERFACE=VPN
+ reset_peer_section
+ PEER_SECTION=0
+ PUBLIC_KEY=
+ ENDPOINT=
+ read -r line
+ stripped='[Interface]'
+ key='[Interface]'
+ key='[Interface]'
+ key='[Interface]'
+ value='[Interface]'
+ value='[Interface]'
+ value='[Interface]'
+ [[ [Interface] == \[* ]]
+ process_peer
+ [[ 0 -ne 1 ]]
+ return 0
+ reset_peer_section
+ PEER_SECTION=0
+ PUBLIC_KEY=
+ ENDPOINT=
+ [[ [Interface] == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped='Address = 192.168.206.1/24'
+ key='Address '
+ key='Address '
+ key=Address
+ value=' 192.168.206.1/24'
+ value=192.168.206.1/24
+ value=192.168.206.1/24
+ [[ Address == \[* ]]
+ [[ Address == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped='SaveConfig = true'
+ key='SaveConfig '
+ key='SaveConfig '
+ key=SaveConfig
+ value=' true'
+ value=true
+ value=true
+ [[ SaveConfig == \[* ]]
+ [[ SaveConfig == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped='PostUp = iptables -A FORWARD -i VPN -j ACCEPT; iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; ip6tables -A FORWARD -i VPN -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; iptables -A FORWARD -o %i -j ACCEPT'
+ key='PostUp '
+ key='PostUp '
+ key=PostUp
+ value=' iptables -A FORWARD -i VPN -j ACCEPT; iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; ip6tables -A FORWARD -i VPN -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; iptables -A FORWARD -o %i -j ACCEPT'
+ value='iptables -A FORWARD -i VPN -j ACCEPT; iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; ip6tables -A FORWARD -i VPN -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; iptables -A FORWARD -o %i -j ACCEPT'
+ value='iptables -A FORWARD -i VPN -j ACCEPT; iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; ip6tables -A FORWARD -i VPN -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; iptables -A FORWARD -o %i -j ACCEPT'
+ [[ PostUp == \[* ]]
+ [[ PostUp == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped='PostDown = iptables -D FORWARD -i VPN -j ACCEPT; iptables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; ip6tables -D FORWARD -i VPN -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; iptables -D FORWARD -o %i -j ACCEPT'
+ key='PostDown '
+ key='PostDown '
+ key=PostDown
+ value=' iptables -D FORWARD -i VPN -j ACCEPT; iptables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; ip6tables -D FORWARD -i VPN -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; iptables -D FORWARD -o %i -j ACCEPT'
+ value='iptables -D FORWARD -i VPN -j ACCEPT; iptables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; ip6tables -D FORWARD -i VPN -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; iptables -D FORWARD -o %i -j ACCEPT'
+ value='iptables -D FORWARD -i VPN -j ACCEPT; iptables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; ip6tables -D FORWARD -i VPN -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; iptables -D FORWARD -o %i -j ACCEPT'
+ [[ PostDown == \[* ]]
+ [[ PostDown == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped='ListenPort = 51820'
+ key='ListenPort '
+ key='ListenPort '
+ key=ListenPort
+ value=' 51820'
+ value=51820
+ value=51820
+ [[ ListenPort == \[* ]]
+ [[ ListenPort == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped='PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxx='
+ key='PrivateKey '
+ key='PrivateKey '
+ key=PrivateKey
+ value=' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx='
+ value=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
+ value=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
+ [[ PrivateKey == \[* ]]
+ [[ PrivateKey == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped=
+ key=
+ key=
+ key=
+ value=
+ value=
+ value=
+ [[ '' == \[* ]]
+ [[ '' == \[\P\e\e\r\] ]]
+ [[ 0 -eq 1 ]]
+ read -r line
+ stripped='[Peer]'
+ key='[Peer]'
+ key='[Peer]'
+ key='[Peer]'
+ value='[Peer]'
+ value='[Peer]'
+ value='[Peer]'
+ [[ [Peer] == \[* ]]
+ process_peer
+ [[ 0 -ne 1 ]]
+ return 0
+ reset_peer_section
+ PEER_SECTION=0
+ PUBLIC_KEY=
+ ENDPOINT=
+ [[ [Peer] == \[\P\e\e\r\] ]]
+ PEER_SECTION=1
+ [[ 1 -eq 1 ]]
+ case "$key" in
+ read -r line
+ stripped='PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx='
+ key='PublicKey '
+ key='PublicKey '
+ key=PublicKey
+ value=' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx='
+ value=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
+ value=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
+ [[ PublicKey == \[* ]]
+ [[ PublicKey == \[\P\e\e\r\] ]]
+ [[ 1 -eq 1 ]]
+ case "$key" in
+ PUBLIC_KEY=vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv=
+ continue
+ read -r line
+ stripped='AllowedIPs = 192.168.206.2/32'
+ key='AllowedIPs '
+ key='AllowedIPs '
+ key=AllowedIPs
+ value=' 192.168.206.2/32'
+ value=192.168.206.2/32
+ value=192.168.206.2/32
+ [[ AllowedIPs == \[* ]]
+ [[ AllowedIPs == \[\P\e\e\r\] ]]
+ [[ 1 -eq 1 ]]
+ case "$key" in
+ read -r line
+ stripped='Endpoint = 46.114.149.51:9223'
+ key='Endpoint '
+ key='Endpoint '
+ key=Endpoint
+ value=' 46.114.149.51:9223'
+ value=46.114.149.51:9223
+ value=46.114.149.51:9223
+ [[ Endpoint == \[* ]]
+ [[ Endpoint == \[\P\e\e\r\] ]]
+ [[ 1 -eq 1 ]]
+ case "$key" in
+ ENDPOINT=46.114.149.51:9223
+ continue
+ read -r line
+ [[ -n '' ]]
+ process_peer
+ [[ 1 -ne 1 ]]
+ [[ -z xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= ]]
+ [[ -z 46.114.149.51:9223 ]]
++ wg show VPN latest-handshakes
+ [[ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= 1645090766 =~ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= ([0-9]+) ]]
++ date +%s
+ (( (1645090940 - 1645090766) > 135 ))
+ wg set VPN peer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= endpoint 46.114.149.51:9223
+ reset_peer_section
+ PEER_SECTION=0
+ PUBLIC_KEY=
+ ENDPOINT=
root@hp-server:/usr/share/doc/wireguard-tools/examples/reresolve-dns#
ls -la /etc/wireguard drwx------ 2 root root 4096 Feb 16 16:39 .
drwxr-xr-x 150 root root 12288 Feb 16 06:21 ..
-rw------- 1 root root 45 Feb 14 15:24 client.psk
-rw------- 1 root root 45 Feb 11 14:18 privatekey
-rw-r--r-- 1 root root 45 Feb 11 14:18 pubkey
-rw------- 1 root root 723 Feb 16 16:40 VPN.conf
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14314
|
dippes schrieb: Kannst du hier was erkennen? root@hp-server:/usr/share/doc/wireguard-tools/examples/reresolve-dns# bash -x reresolve-dns.sh VPN
ls -la /etc/wireguard -rw------- 1 root root 723 Feb 16 16:40 VPN.conf
Wie ist die Ausgabe von:
ip a
?
Das Interface wird doch nicht "VPN" sein, oder? Du musst die config so bezeichnen wie das Interface. Z. B. wg0.conf (wenn das Interface wg0 ist) und nicht VPN.conf.
|
dippes
(Themenstarter)
Anmeldungsdatum: 31. Dezember 2009
Beiträge: 553
|
Doch passt schon.Habe es VPN genannt was es auch ist. 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
26
27
28
29 | root@hp-server:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul t qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group defa ult qlen 1000
link/ether a0:1d:48:c7:cb:8c brd ff:ff:ff:ff:ff:ff
inet 192.168.1.48/24 brd 192.168.1.255 scope global eno1
valid_lft forever preferred_lft forever
inet6 fe80::a21d:48ff:fec7:cb8c/64 scope link
valid_lft forever preferred_lft forever
3: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether a0:1d:48:c7:cb:8d brd ff:ff:ff:ff:ff:ff
5: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP gr oup default
link/ether 02:42:ce:3c:68:8b brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:ceff:fe3c:688b/64 scope link
valid_lft forever preferred_lft forever
7: veth18df210@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue mas ter docker0 state UP group default
link/ether 66:c6:34:b4:a0:65 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::64c6:34ff:feb4:a065/64 scope link
valid_lft forever preferred_lft forever
13: VPN: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN gr oup default qlen 1000
link/none
inet 192.168.206.1/24 scope global VPN
valid_lft forever preferred_lft forever
|
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14314
|
dippes schrieb: Doch passt schon.Habe es VPN genannt was es auch ist.
OK. Die IP-Adresse des Endpoints (WG-Server?) ist aber gleich geblieben: Vor und nach dem Trennen 46.114.149.51 Oder geht es dir um die externe/öffentliche IPv4-Adresse beim Wireguard-Client?
|
dippes
(Themenstarter)
Anmeldungsdatum: 31. Dezember 2009
Beiträge: 553
|
Es geht darum wenn die ip wechselt vom Provider her oder von einem Routerneustart das wireguard mitbekommt. Ich benutze eine dyndns Adresse.wenn der DNS Eintrag sich ändert soll das script dafür sorgen das der neue Eintrag übergeben wird. | reresolve-dns
=============
Run this script from cron every thirty seconds or so, and it will ensure
that if, when using a dynamic DNS service, the DNS entry for a hosts
changes, the kernel will get the update to the DNS entry.
This works by parsing configuration files, and simply running:
$ wg set wg0 peer ... endpoint ...
|
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14314
|
dippes schrieb: Es geht darum wenn die ip wechselt vom Provider her oder von einem Routerneustart das wireguard mitbekommt. Ich benutze eine dyndns Adresse.wenn der DNS Eintrag sich ändert soll das script dafür sorgen das der neue Eintrag übergeben wird.
Ich weiß schon um was es geht, denn ich benutze dieses Script auch. Die Frage oder der Hinweis war, was sich bei dir geändert hat? ... denn die IP-Adresse ist gleich geblieben: 46.114.149.51 Beschreibe mal deine Konstellation ganz genau bzw. wo sich was ändert. EDIT: BTW: Starte mal auf WG-Server und auf WG-Client (oder auf den WG-peers), als root den debug-Modus mit:
echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control
und schau dir (mit dmesg oder im syslog) bei einer Änderung der externen/öffentlichen IP-Adresse(n), die handshakes bzw. das zerstören und neu erstellen der Keypairs an. Stoppen kannst den debug-Modus als root, mit:
echo module wireguard -p > /sys/kernel/debug/dynamic_debug/control
|
dippes
(Themenstarter)
Anmeldungsdatum: 31. Dezember 2009
Beiträge: 553
|
Diese Fehlermeldung habe ich gefunden. reresolve-dns.sh[1971974]: /usr/share/doc/wireguard-tools/examples/reresolve-dns/reresolve-dns.sh: line 43: /etc/wireguard/wg0.conf: No such file or directory Aber wg0 gibt es ja nicht mehr.lt Script wird ja eine .conf Datei gesucht und die nennt sich VPN.conf.
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14314
|
dippes schrieb: Diese Fehlermeldung habe ich gefunden. reresolve-dns.sh[1971974]: /usr/share/doc/wireguard-tools/examples/reresolve-dns/reresolve-dns.sh: line 43: /etc/wireguard/wg0.conf: No such file or directory
Wo bzw. wie hast Du diese Fehlermeldung gefunden bzw. bekommen? EDIT: Wie ist die richtig anonymisierte Ausgabe von:
sudo cat /etc/wireguard/VPN.conf
? EDIT 2: Trennen heißt bei dir ja nicht zwingend, dass der Router (als "border device") eine neue externe IPv4-Adresse bekommen hat, oder? ... und ein "wg set wg0 peer ... endpoint ..." (auf dem einen wg-peer) wird _richtigerweise_ auch dann ausgeführt, wenn der erkannte bzw. festgestellte Zeitabstand zwischen den letzten handshakes > 135 Sekunden ist.
|
dippes
(Themenstarter)
Anmeldungsdatum: 31. Dezember 2009
Beiträge: 553
|
Die Fehlermeldung hat sich erledigt.Neustart hat geholfen. Jetzt nach einem ip wechsel kommmen zuhauf diese Fehlermeldungen Das script bewirkt nichts. Immer noch die alte ip. Was kann ich noch tun? | Feb 17 14:47:13 hp-server kernel: [ 1945.112702] wireguard: VPN: Handshake for peer 1 (46.114.149.51:9223) did not complete after 5 seconds, retrying (try 16)
Feb 17 14:47:13 hp-server kernel: [ 1945.112724] wireguard: VPN: Sending handshake initiation to peer 1 (46.114.149.51:9223)
Feb 17 14:47:18 hp-server kernel: [ 1950.488699] wireguard: VPN: Handshake for peer 1 (46.114.149.51:9223) did not complete after 5 seconds, retrying (try 17)
Feb 17 14:47:18 hp-server kernel: [ 1950.488722] wireguard: VPN: Sending handshake initiation to peer 1 (46.114.149.51:9223)
Feb 17 14:47:23 hp-server kernel: [ 1955.864692] wireguard: VPN: Handshake for peer 1 (46.114.149.51:9223) did not complete after 5 seconds, retrying (try 18)
Feb 17 14:47:23 hp-server kernel: [ 1955.864718] wireguard: VPN: Sending handshake initiation to peer 1 (46.114.149.51:9223)
Feb 17 14:47:28 hp-server kernel: [ 1960.984684] wireguard: VPN: Handshake for peer 1 (46.114.149.51:9223) did not complete after 5 seconds, retrying (try 19)
Feb 17 14:47:28 hp-server kernel: [ 1960.984730] wireguard: VPN: Sending handshake initiation to peer 1 (46.114.149.51:9223)
Feb 17 14:47:33 hp-server kernel: [ 1966.104679] wireguard: VPN: Handshake for peer 1 (46.114.149.51:9223) did not complete after 5 seconds, retrying (try 20)
Feb 17 14:47:33 hp-server kernel: [ 1966.104746] wireguard: VPN: Sending handshake initiation to peer 1 (46.114.149.51:9223)
Feb 17 14:47:39 hp-server kernel: [ 1971.224678] wireguard: VPN: Handshake for peer 1 (46.114.149.51:9223) did not complete after 20 attempts, giving up
|
erst wenn ich mich bei meinem Smartphone client wireguar aus -einschalte zeigt der Server eine neue ip und der VPN Tunnel steht. Feb 17 14:54:00 hp-server kernel: [ 2352.571638] wireguard: VPN: Packet has unallowed src IP (192.168.1.160) from peer 1 (93.236.4.64:42307)
Feb 17 14:54:05 hp-server kernel: [ 2357.939725] net_ratelimit: 20 callbacks suppressed
Feb 17 14:54:05 hp-server kernel: [ 2357.939730] wireguard: VPN: Packet has unallowed src IP (192.168.1.160) from peer 1 (9x.xxx.4.64:33927)
Feb 17 14:54:05 hp-server kernel: [ 2357.939739] wireguard: VPN: Packet has unallowed src IP (192.168.1.160) from peer 1 (9x.xxx.4.64:33927)
Feb 17 14:54:07 hp-server kernel: [ 2359.931498] wireguard: VPN: Packet has unallowed src IP (192.168.1.160) from peer 1 (9x.xxx.4.64:33927)
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14314
|
dippes schrieb: Die Fehlermeldung hat sich erledigt.Neustart hat geholfen. Jetzt nach einem ip wechsel kommmen zuhauf diese Fehlermeldungen Das script bewirkt nichts. Immer noch die alte ip. Was kann ich noch tun?
Du solltest die Fragen die man dir stellt beantworten und das tun, was man dir sagt. Denn nur so wirst Du verstehen um was es bei dir geht bzw. wie das Script seine Wirkung (in welchem Zeitraum) entfalten kann. Führe das Script mal manuell aus und schau nach, ob dann die Fehlermeldungen weg sind. EDIT: BTW: Nach einer Trennung bzw. nach einem IP-Adresse-Wechsel, ist der "neue" handshake, schneller wieder erfolgreich, wenn Du (auch) auf WG-Client-Seite einen festen Port (... den der WG-Server dann logischerweise aus vorherigen erfolgreichen handshakes schon immer kennt) benutzt.
|
dippes
(Themenstarter)
Anmeldungsdatum: 31. Dezember 2009
Beiträge: 553
|
trennen heißt bei dir ja nicht zwingend, dass der Router (als "border device") eine neue externe IPv4-Adresse bekommen hat, oder?
Doch,bekomme immer bei einer Trennung eine neue IP.
Wie ist die richtig anonymisierte Ausgabe von:
1
2
3
4
5
6
7
8
9
10
11
12 | [Interface]
Address = 192.168.206.1/24
SaveConfig = true
PostUp = iptables -A FORWARD -i VPN -j ACCEPT; iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; ip6tables -A FORWARD -i VPN -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eno1 -j MASQUERADE; iptables -A FORWARD -o %i -j ACCEPT
PostDown = iptables -D FORWARD -i VPN -j ACCEPT; iptables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; ip6tables -D FORWARD -i VPN -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eno1 -j MASQUERADE; iptables -D FORWARD -o %i -j ACCEPT
ListenPort = 51820
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
AllowedIPs = 192.168.206.2/32
Endpoint = 46.114.149.51:9223
|
Direkt nach der Trennung Feb 17 17:05:56 hp-server kernel: [10268.162052] wireguard: VPN: Receiving handshake response from peer 1 (93.236.4.64:45927)
Feb 17 17:05:56 hp-server kernel: [10268.162060] wireguard: VPN: Keypair 86 destroyed for peer 1
Feb 17 17:05:56 hp-server kernel: [10268.162062] wireguard: VPN: Keypair 88 created for peer 1
nach dem der Router neue IP bekommen hat habe das script gestartet
10 Minuten später immer noch keine Verbindung zum client. Feb 17 17:15:06 hp-server kernel: [10818.599593] wireguard: VPN: Zeroing out all keys for peer 1 (93.236.4.64:45927), since we haven't re ceived a new one in 540 seconds
Feb 17 17:15:06 hp-server kernel: [10818.599598] wireguard: VPN: Keypair 87 destroyed for peer 1
Feb 17 17:15:06 hp-server kernel: [10818.599600] wireguard: VPN: Keypair 88 destroyed for peer 1
|