Puncte:0

Accesul colegilor din rețeaua Wireguard la lan

drapel ng

Sper ca ma puteti ajuta cu problema mea. Construiesc o rețea pentru uz personal și am găsit unele probleme, nu am experiență în rețele. Voi explica folosind imaginea atașată:

Diagrama infrastructurii rețelei

Problemă: Nu pot ajunge la dispozitive dintr-o rețea locală folosind Wireguard și un router VPN bazat pe Raspberry, care include servicii din rețeaua locală (camere, server web personal, baze de date).

Poartă:

Ajungeți la dispozitive și la serviciile acestora de la serverul și clienții la distanță. Am căutat și am schimbat configurații, dar niciuna nu funcționează. Uneori de la 10.6.0.1, pot ajunge la IP 172.16.0.1 și atât.

Descrierea infrastructurii:

  1. Serverul Wireguard (a) este situat peste o instanță Oracle, așa cum se arată în imagine și are următoarele caracteristici:

    • IP public 158.43.56.3 (exemplu IP)

    • IP intern 10.0.0.183 prin interfața ens3

    • IP-ul serverului Wireguard 10.6.0.1 prin interfața wg0

    • Port Wireguard 51820

    • Wireward instalat prin pivpn

  2. În rețeaua locală, modemul furnizează rețeaua 192.168.100.XX (wifi sau ethernet)

  3. În rețeaua care furnizează modemul există un Raspberry Pi 4 (b) cu Ubuntu 20.04 care funcționează ca router cu fir cu următoarele caracteristici:

    • IP local 192.168.100.182 prin interfața eth0
    • IP Wireguard ca Peer 10.6.0.5 peste interfața wg0
    • IP subrețea locală 172.16.0.1 prin interfața eth1 (adaptor usb-ethernet)
    • Server DHCP pe interfața eth1
  4. Un comutator este conectat la interfața eth1

  5. Diferite dispozitive (Server, Camere IP, DVR) se conectează la comutator și DHCP le oferă IP cu formatul 172.16.0.XX cu intervale între 172.16.0.10 și 172.16.0.200 (b.a, b.b, b.c de exemplu)

  6. Dispozitive din alte rețele conectate la VPN (de exemplu 10.6.0.3)

Configurația mea actuală este următoarea (După cum puteți vedea, am încercat):

Server Wireguard:

[Interfață]
PrivateKey = yL743NyU0M1z7guWxA9kekW7DAOXzO8EDfkAaG+jSGQ=
Adresa = 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

### începe dispozitivul huawei ###
[Peer]
PublicKey = WaP0UPdQWKE0uy3F750cOEeLmLkikdtw0XAw/eGcrFI=
PresharedKey = fMqhe7jxsC9ukEhymPOXCogWMWo82TzIx6Veg+8lslc=
AllowedIPs = 10.6.0.2/24
### terminați dispozitivul huawei ###
### începe mac ###
[Peer]
PublicKey = ZCAV6xDLswBuqYWs38JYwvx2fwvmR1uEFRIAD760pxI=
PresharedKey = JdtJFaWUG2ECAfLX05WCyz/rrcs6VWFkVgnvEqnqhHo=
AllowedIPs = 10.6.0.3/32
AllowedIPs = 172.16.0.10/32
PersistentKeepalive = 15
### termina mac ###
### începe rasprouter ###
[Peer]
PublicKey = r56sl4HNKHFkz8/r+aGqOHClMuXUt9lGE34gpktP5Q4=
PresharedKey = ukAcmfZUaMuVq53ruIYWmADwDYq0W+0KNjgAQ/ojqH4=
AllowedIPs = 10.6.0.5/32
AllowedIPs = 172.16.0.10/32
PersistentKeepalive = 15
### sfârșitul mașinii de tăiat ###

Router cu fir Raspberry

[Interfață]
PrivateKey = SJXlysVGPfvodzG98EbwrZNvuPqo4sATLKaTB3Kqe20=
Adresa = 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=
Punct final = 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

Client suplimentar (Mac în imagine) pe un alt LAN, departe

[Interfață]
PrivateKey = YH+51/x6MoErmogdOs0UUzIF6W6Oz56t7BhhW9dFvXM=
Adresa = 10.6.0.3/24
DNS = 1.1.1.1

[Peer]
PublicKey = mCK/FAHGtXFBNLS5WpHhSPEBvZRwY09HohD1YkNCNSI=
PresharedKey = JdtJFaWUG2ECAfLX05WCyz/rrcs6VWFkVgnvEqnqhHo=
Punct final = 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

În continuare, împărtășesc starea infrastructurii

De pe server Starea serverului Pastebin

De la Raspberry Wired Router Stare Pastebin Zmeura

Teste

De la a la b funcționează

ubuntu@instance-20210915-wireguard:~$ ping 10.6.0.5
PING 10.6.0.5 (10.6.0.5) 56(84) octeți de date.
64 de octeți din 10.6.0.5: icmp_seq=1 ttl=64 time=75,1 ms
64 de octeți din 10.6.0.5: icmp_seq=2 ttl=64 time=74,8 ms
^C
--- 10.6.0.5 statistici ping ---
2 pachete transmise, 2 primite, 0% pierdere de pachete, timp 1001 ms
rtt min/avg/max/mdev = 74,772/74,920/75,069/0,148 ms

De la a la b.a nu merge

ubuntu@instance-20210915-wireguard:~$ ping 172.16.0.1
PING 172.16.0.1 (172.16.0.1) 56(84) octeți de date.
^C
--- 172.16.0.1 statistici ping ---
4 pachete transmise, 0 primite, 100% pierdere de pachete, timp 3075 ms

De la a la c funcționează

ubuntu@instance-20210915-wireguard:~$ ping 10.6.0.3
PING 10.6.0.3 (10.6.0.3) 56(84) octeți de date.
64 de octeți din 10.6.0.3: icmp_seq=1 ttl=64 timp=78,5 ms
64 de octeți din 10.6.0.3: icmp_seq=2 ttl=64 time=119 ms
64 de octeți din 10.6.0.3: icmp_seq=3 ttl=64 time=77,9 ms
^C
--- 10.6.0.3 statistici ping ---
3 pachete transmise, 3 primite, 0% pierdere de pachete, timp 2003 ms
rtt min/avg/max/mdev = 77,888/91,816/119,047/19,256 ms

De la b la a funcționează

ubuntu@ubuntu:~$ ping 10.6.0.1
PING 10.6.0.1 (10.6.0.1) 56(84) octeți de date.
64 de octeți din 10.6.0.1: icmp_seq=1 ttl=64 time=74,3 ms
64 de octeți din 10.6.0.1: icmp_seq=2 ttl=64 time=74,5 ms
^C
--- 10.6.0.1 statistici ping ---
2 pachete transmise, 2 primite, 0% pierdere de pachete, timp 1002 ms
rtt min/avg/max/mdev = 74,334/74,396/74,459/0,062 ms

De la c la a funcționează

user@MacBook-Pro-user Descărcări % ping 10.6.0.1
PING 10.6.0.1 (10.6.0.1): 56 de octeți de date
64 de octeți din 10.6.0.1: icmp_seq=0 ttl=64 time=80.921 ms
64 de octeți din 10.6.0.1: icmp_seq=1 ttl=64 time=78.086 ms
64 de octeți din 10.6.0.1: icmp_seq=2 ttl=64 time=91.625 ms
^C
--- 10.6.0.1 statistici ping ---
3 pachete transmise, 3 pachete primite, 0,0% pierdere de pachete
dus-întors min/avg/max/stddev = 78,086/83,544/91,625/5,830 ms

De la b la c nu merge

ubuntu@ubuntu:~$ ping 10.6.0.3
PING 10.6.0.3 (10.6.0.3) 56(84) octeți de date.
Din 10.6.0.1 icmp_seq=1 Gazdă de destinație interzisă
Din 10.6.0.1 icmp_seq=2 Gazdă de destinație interzisă
^C
--- 10.6.0.3 statistici ping ---
2 pachete transmise, 0 primite, +2 erori, 100% pierdere de pachete, timp 1002 ms

De la c la b nu merge

user@MacBook-Pro-user Descărcări % ping 10.6.0.5
PING 10.6.0.5 (10.6.0.5): 56 de octeți de date
92 de octeți de la 10.6.0.1: Dest inaccesibil, cod greșit: 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

Solicitare timeout pentru icmp_seq 0
92 de octeți de la 10.6.0.1: Dest inaccesibil, cod greșit: 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

Solicitați timeout pentru icmp_seq 1
^C
--- 10.6.0.5 statistici ping ---
3 pachete transmise, 0 pachete primite, 100,0% pierdere de pachete

De la b la b.a functioneaza!!

ubuntu@ubuntu:~$ ping 172.16.0.10
PING 172.16.0.10 (172.16.0.10) 56(84) octeți de date.
64 de octeți din 172.16.0.10: icmp_seq=1 ttl=64 time=74,6 ms
64 de octeți din 172.16.0.10: icmp_seq=2 ttl=64 time=74,5 ms
^C
--- 172.16.0.10 statistici ping ---
2 pachete transmise, 2 primite, 0% pierdere de pachete, timp 1002 ms
rtt min/avg/max/mdev = 74,455/74,541/74,627/0,086 ms

Ei bine, scopul este să poți ajunge cel puțin de la IP 10.6.0.1 la 172.16.0.XX.

Folosind OpenVPN pot defini infrastructura fără probleme, dar lățimea de bandă este groaznică.

Sunt atât de prost să lucrez cu infrastructurile de rețea, îmi pare rău.

Ce urmeaza?

Utilizați Nginx pentru a consuma servicii și pentru a implementa Apache Airflow pentru a procesa informațiile pe care le generez în LAN-ul meu.

Mulțumesc anticipat

Edit: am mai postat-o ​​pe site greșit

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.