Wireguard-Netzwerk-Peers ermöglichen Zugriff auf LAN

Wireguard-Netzwerk-Peers ermöglichen Zugriff auf LAN

Ich hoffe, Sie können mir bei meinem Problem helfen. Ich baue ein Netzwerk für den persönlichen Gebrauch auf und habe einige Probleme festgestellt. Ich habe keine Erfahrung mit Netzwerken. Ich werde es anhand des beigefügten Bildes erklären:

Netzwerkinfrastrukturdiagramm

Problem: Ich kann Geräte in einem lokalen Netzwerk nicht mit Wireguard und einem Raspberry-basierten VPN-Router erreichen, der Dienste innerhalb des lokalen Netzwerks umfasst (Kameras, persönlicher Webserver, Datenbanken).

Ziel:

Erreichen Sie die Geräte und ihre Dienste vom Remote-Server und den Clients aus. Ich habe gesucht und Konfigurationen geändert, aber keine funktioniert. Manchmal kann ich von 10.6.0.1 aus die IP 172.16.0.1 erreichen und das ist alles.

Beschreibung der Infrastruktur:

  1. Der Wireguard-Server (a) befindet sich über einer Oracle-Instanz, wie im Bild gezeigt, und verfügt über die folgenden Funktionen:

    • Öffentliche IP 158.43.56.3 (IP-Beispiel)

    • Interne IP 10.0.0.183 über die ens3-Schnittstelle

    • Wireguard-Server-IP 10.6.0.1 über die wg0-Schnittstelle

    • Wireguard-Anschluss 51820

    • Wireward über PVPN installiert

  2. Im lokalen Netzwerk stellt das Modem das Netzwerk 192.168.100.XX bereit (WLAN oder Ethernet)

  3. Im Netzwerk, das das Modem bereitstellt, befindet sich ein Raspberry Pi 4 (b) mit Ubuntu 20.04, der als kabelgebundener Router mit den folgenden Funktionen arbeitet:

    • Lokale IP 192.168.100.182 über eth0-Schnittstelle
    • IP Wireguard als Peer 10.6.0.5 über die wg0-Schnittstelle
    • Lokale Subnetz-IP 172.16.0.1 über Schnittstelle eth1 (USB-Ethernet-Adapter)
    • DHCP-Server auf Schnittstelle eth1
  4. Ein Switch ist an die Schnittstelle eth1 angeschlossen

  5. Verschiedene Geräte (Server, IP-Kameras, DVR) werden mit dem Switch verbunden und DHCP stellt ihnen IP im Format 172.16.0.XX mit Bereichen zwischen 172.16.0.10 und 172.16.0.200 (z. B. ba, bb, bc) bereit.

  6. Geräte in anderen Netzwerken, die mit dem VPN verbunden sind (z. B. 10.6.0.3)

Mein aktuelles Setup ist wie folgt (wie Sie sehen, habe ich es versucht):

Wireguard-Server:

[Interface]
PrivateKey = yL743NyU0M1z7guWxA9kekW7DAOXzO8EDfkAaG+jSGQ=
Address = 10.6.0.1/24
MTU = 1420
ListenPort = 51820

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT;
PostUp = iptables -A FORWARD -o wg0 -j ACCEPT;
PostUp = iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostUp = sysctl -q -w net.ipv4.ip_forward=1

#PostUp = route del -net 172.16.0.0/24 dev wg0
#iptables -t nat -A PREROUTING -d 172.16.0.0/24 -j DNAT --to-destination 10.6.0.1
#PostUp = iptables -t nat -A PREROUTING -d 172.16.0.0/24 -j DNAT --to-destination 10.6.0.1 
#PostUp = iptables -t filter -A FORWARD -s 10.6.0.0/24 -d 172.16.0.0/24 -j ACCEPT              
#PostUp = iptables -t nat -A POSTROUTING -s 10.6.0.0/24 -d 172.16.0.0/24 -j MASQUERADE         

PostDown = sysctl -q -w net.ipv4.ip_forward=0
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT;
PostDown = iptables -D FORWARD -o wg0 -j ACCEPT;
PostDown = iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE

##PostUp = iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o ens3 -j TCPMSS --clamp-mss-to-pmtu
##PostUp = iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
##PostUp = iptables -A FORWARD -i ens3 -j ACCEPT
##PostUp = sysctl -q -w net.ipv4.ip_forward=1

##PostDown = sysctl -q -w net.ipv4.ip_forward=0
##PostDown = iptables -D FORWARD -i ens3 -j ACCEPT
##PostDown = iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
##PostDown = iptables -t mangle -D POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o ens3 -j TCPMSS --clamp-mss-to-pmtu

### begin huawei-device ###
[Peer]
PublicKey = WaP0UPdQWKE0uy3F750cOEeLmLkikdtw0XAw/eGcrFI=
PresharedKey = fMqhe7jxsC9ukEhymPOXCogWMWo82TzIx6Veg+8lslc=
AllowedIPs = 10.6.0.2/24
### end huawei-device ###
### begin mac ###
[Peer]
PublicKey = ZCAV6xDLswBuqYWs38JYwvx2fwvmR1uEFRIAD760pxI=
PresharedKey = JdtJFaWUG2ECAfLX05WCyz/rrcs6VWFkVgnvEqnqhHo=
AllowedIPs = 10.6.0.3/32
AllowedIPs = 172.16.0.10/32
PersistentKeepalive = 15
### end mac ###
### begin rasprouter ###
[Peer]
PublicKey = r56sl4HNKHFkz8/r+aGqOHClMuXUt9lGE34gpktP5Q4=
PresharedKey = ukAcmfZUaMuVq53ruIYWmADwDYq0W+0KNjgAQ/ojqH4=
AllowedIPs = 10.6.0.5/32
AllowedIPs = 172.16.0.10/32
PersistentKeepalive = 15
### end rasprouter ###

Kabelgebundener Raspberry-Router

[Interface]
PrivateKey = SJXlysVGPfvodzG98EbwrZNvuPqo4sATLKaTB3Kqe20=
Address = 10.6.0.5/24
DNS = 1.1.1.1

###PostUp = sysctl -w net.ipv4.ip_forward=1
###PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
###PostUp = iptables -A FORWARD -o wg0 -j ACCEPT
###PostUp = iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
###PostUp = iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

###PostDown = sysctl -w net.ipv4.ip_forward=0
###PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
###PostDown = iptables -D FORWARD -o wg0 -j ACCEPT
###PostDown = iptables -t nat -D POSTROUTING -o wg0 -j MASQUERADE
###PostDown = iptables -t nat -D POSTROUTING -o eth1 -j MASQUERADE

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE; iptables -A FORWARD -o wg0 -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth1 -j MASQUERADE; iptables -D FORWARD -o wg0 -j ACCEPT



[Peer]
PublicKey = mCK/FAHGtXFBNLS5WpHhSPEBvZRwY09HohD1YkNCNSI=
PresharedKey = ukAcmfZUaMuVq53ruIYWmADwDYq0W+0KNjgAQ/ojqH4=
Endpoint = 158.43.56.3:51820
#AllowedIPs = 0.0.0.0/0, ::/1
AllowedIPs = 172.16.0.10/32 
AllowedIPs = 10.6.0.0/24
PersistentKeepalive = 25

Zusätzlicher Client (Mac im Bild) in einem anderen LAN, weit entfernt

[Interface]
PrivateKey = YH+51/x6MoErmogdOs0UUzIF6W6Oz56t7BhhW9dFvXM=
Address = 10.6.0.3/24
DNS = 1.1.1.1

[Peer]
PublicKey = mCK/FAHGtXFBNLS5WpHhSPEBvZRwY09HohD1YkNCNSI=
PresharedKey = JdtJFaWUG2ECAfLX05WCyz/rrcs6VWFkVgnvEqnqhHo=
Endpoint = 158.43.56.3:51820
### AllowedIPs = 0.0.0.0/0, ::0/0
AllowedIPs = 172.16.0.10/32
AllowedIPs = 10.6.0.0/24
PersistentKeepalive = 25

Als nächstes teile ich den Zustand der Infrastruktur

Vom ServerPastebin-Serverstatus

Vom kabelgebundenen Raspberry-RouterPastebin Raspberry-Status

Tests

Von A nach B funktioniert

ubuntu@instance-20210915-wireguard:~$ ping 10.6.0.5
PING 10.6.0.5 (10.6.0.5) 56(84) bytes of data.
64 bytes from 10.6.0.5: icmp_seq=1 ttl=64 time=75.1 ms
64 bytes from 10.6.0.5: icmp_seq=2 ttl=64 time=74.8 ms
^C
--- 10.6.0.5 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 74.772/74.920/75.069/0.148 ms

Von A nach B funktioniert nicht

ubuntu@instance-20210915-wireguard:~$ ping 172.16.0.1
PING 172.16.0.1 (172.16.0.1) 56(84) bytes of data.
^C
--- 172.16.0.1 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3075ms

Von A bis C funktioniert

ubuntu@instance-20210915-wireguard:~$ ping 10.6.0.3
PING 10.6.0.3 (10.6.0.3) 56(84) bytes of data.
64 bytes from 10.6.0.3: icmp_seq=1 ttl=64 time=78.5 ms
64 bytes from 10.6.0.3: icmp_seq=2 ttl=64 time=119 ms
64 bytes from 10.6.0.3: icmp_seq=3 ttl=64 time=77.9 ms
^C
--- 10.6.0.3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 77.888/91.816/119.047/19.256 ms

Von B nach A funktioniert

ubuntu@ubuntu:~$ ping 10.6.0.1
PING 10.6.0.1 (10.6.0.1) 56(84) bytes of data.
64 bytes from 10.6.0.1: icmp_seq=1 ttl=64 time=74.3 ms
64 bytes from 10.6.0.1: icmp_seq=2 ttl=64 time=74.5 ms
^C
--- 10.6.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 74.334/74.396/74.459/0.062 ms

Von C bis A funktioniert

user@MacBook-Pro-user Downloads % ping 10.6.0.1
PING 10.6.0.1 (10.6.0.1): 56 data bytes
64 bytes from 10.6.0.1: icmp_seq=0 ttl=64 time=80.921 ms
64 bytes from 10.6.0.1: icmp_seq=1 ttl=64 time=78.086 ms
64 bytes from 10.6.0.1: icmp_seq=2 ttl=64 time=91.625 ms
^C
--- 10.6.0.1 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 78.086/83.544/91.625/5.830 ms

Von b nach c geht nicht

ubuntu@ubuntu:~$ ping 10.6.0.3
PING 10.6.0.3 (10.6.0.3) 56(84) bytes of data.
From 10.6.0.1 icmp_seq=1 Destination Host Prohibited
From 10.6.0.1 icmp_seq=2 Destination Host Prohibited
^C
--- 10.6.0.3 ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 1002ms

Von c nach b geht nicht

user@MacBook-Pro-user Downloads % ping 10.6.0.5
PING 10.6.0.5 (10.6.0.5): 56 data bytes
92 bytes from 10.6.0.1: Dest Unreachable, Bad Code: 10
Vr HL TOS  Len   ID Flg  off TTL Pro  cks      Src      Dst
 4  5  00 5400 25f3   0 0000  3f  01 41a3 10.6.0.3  10.6.0.5

Request timeout for icmp_seq 0
92 bytes from 10.6.0.1: Dest Unreachable, Bad Code: 10
Vr HL TOS  Len   ID Flg  off TTL Pro  cks      Src      Dst
 4  5  00 5400 a5cc   0 0000  3f  01 c1c9 10.6.0.3  10.6.0.5

Request timeout for icmp_seq 1
^C
--- 10.6.0.5 ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss

Von b nach ba funktioniert!!

ubuntu@ubuntu:~$ ping 172.16.0.10
PING 172.16.0.10 (172.16.0.10) 56(84) bytes of data.
64 bytes from 172.16.0.10: icmp_seq=1 ttl=64 time=74.6 ms
64 bytes from 172.16.0.10: icmp_seq=2 ttl=64 time=74.5 ms
^C
--- 172.16.0.10 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 74.455/74.541/74.627/0.086 ms

Nun, das Ziel besteht darin, zumindest von IP 10.6.0.1 bis 172.16.0.XX erreichbar zu sein.

Mittels OpenVPN kann ich zwar problemlos auf die Infrastruktur zugreifen, allerdings ist die Bandbreite katastrophal.

Ich bin so schlecht im Umgang mit Netzwerkinfrastrukturen, tut mir leid.

Was kommt als nächstes?

Verwenden Sie Nginx, um Dienste zu nutzen, und stellen Sie Apache Airflow bereit, um die Informationen zu verarbeiten, die ich in meinem LAN generiere.

Dank im Voraus

Edit: Ich habe es vorher auf der falschen Seite gepostet

verwandte Informationen