Să presupunem că avem o configurație Wireguard ca în diagrama de mai jos (vezi linkul imgur, nu am putut posta imaginea fără reputație) cu următoarele PostUp & PostDown:
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
https://i.stack.imgur.com/nXEmF.png
Unde clienții pot accesa rețeaua noastră privată prin Wireguard (serverele nu sunt clienți Wireguard, ci au doar o a doua interfață de rețea care este conectată la rețeaua noastră privată. În acest caz, dacă ne uităm la jurnalele de acces în serviciile care rulează pe serverele noastre, vedem că IP-ul clientului este adresa IP a serverului Wireguard (172.16.2.1). Acest lucru este corect deoarece se folosește MASQUERADE care înlocuiește IP-ul sursă în timpul redirecționării. Rezultatul nostru preferat ar fi să vedem IP-urile clientului în serviciile care rulează pe serverele noastre (adică 172.16.2.2 sau 172.16.2.3). Există o modalitate de a seta rutarea pe serverul Wireguard în așa fel încât IP-ul sursă să fie păstrat atunci când redirecționăm cererile prin Wireguard? Așa că am putea bloca și permite clienții pe baza lor IP-ul clientului în serverele în sine și au jurnalele de acces care pot fi urmărite la clienții specifici?
P.S.Știu cum să configurez iptable-urile în așa fel încât controlul accesului să fie aranjat de acolo, dar nu este soluția cea mai preferată, deoarece nu există nicio modalitate de a retrage cine a făcut ce în rețea.