Nu puteți folosi aceeași adresă în cea a clientului Punct final
și IP-uri permise
setări*. Punct final
ar trebui să fie adresa serverului in afara tunelul și IP-uri permise
ar trebui să includă toate adresele la care doriți să aveți acces interior tunelul.
Pentru a o repara, scăpați de src
setarea pe ruta pe care ați adăugat-o la server, astfel încât ruta să folosească doar adresa serverului docker0
interfata:
ruta ip adăugați 10.254.99.0/24 prin 172.17.0.2 dev docker0
Apoi schimbați clientul WireGuard IP-uri permise
setarea pentru a include adresa serverului docker0
interfata (172.17.0.1
):
AllowedIps = 10.254.99.1/32, 172.17.0.1/32
Serverul dvs. îl va folosi acum docker0
adresa interfeței (172.17.0.1
) ca sursă a pachetelor pe care le trimite prin rețeaua WireGuard.
Cu toate acestea, în loc să adăugați acel strat suplimentar de rutare pe serverul dvs., cel mai simplu lucru de făcut ar fi să rulați containerul WireGuard în modul de rețea „gazdă” (folosind --network=gazdă
steag cu docker run
, sau network_mode: gazdă
aşezare cu docker-compune
).Asta ar expune containerul WireGuard wg0
interfață direct la gazdă, astfel încât să nu aveți nevoie de reguli suplimentare de rutare pe server și nu ar trebui să adăugați IP-uri permise
către client.
În acest caz, serverul ar folosi doar interfața WireGuard proprie 10.254.99.1
adresa ca sursă a pachetelor pe care le trimite prin rețeaua WireGuard.
* cu excepția cazului în care ați configurat niște reguli de rutare/filtrare a pachetelor de lux pe clientul dvs. în loc să utilizați valorile implicite pe care clientul WireGuard le setează pentru dvs.