Puncte:0

Tunel VPN de trecere cu iptables

drapel ng

VPS-ul meu de e-mail ajunge la limită, dar IP-ul său dedicat este bine îngrijit și pur și simplu nu mă pot despărți de el. Încerc să configurez un mediu de testare în care stabilesc un server VPN pe VPS doar pentru a trece prin traficul de intrare și de ieșire înapoi la o VM, cu scopul de a folosi IP-ul extern pe VPS pentru toate comunicațiile pe internet, în timp ce traficul respectiv înapoi la un tunel. un VM. Problemele mele sunt cu iptables. Nu-l pot da seama și sunt sigur că este doar lipsa mea de cunoștințe despre utilizarea iptables în această măsură. Atât VPS-ul meu, cât și VM rulează Debian 10.

Am încercat câteva variante diferite de reguli pe care le-am găsit din diferite postări de aici.

Varianta (am schimbat numele adaptorului și porturile când folosesc aceste reguli)

iptables -A FORWARD -m conntrack --ctstate NEW -s $PRIVATE_SUBNET -m policy --pol none --dir in -j ACCEPT
iptables -t nat -A POSTROUTING -s $PRIVATE_SUBNET -m policy --pol none --dir out -j MASQUERADE
iptables -A INTRARE -p udp --dport $SERVER_PORT -j ACCEPT
iptables -A FORWARD -i eth0 -o wg0 -p tcp --syn --dport 80 -m conntrack --ctstate NOU -j ACCEPT
iptables -A FORWARD -i eth0 -o wg0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i wg0 -o eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o wg0 -p tcp --syn --dport 443 -m conntrack --ctstate NOU -j ACCEPT
iptables -A FORWARD -i eth0 -o wg0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i wg0 -o eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --la-destinație $WIREGUARD_CLIENT_ADDRESS
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to-destination $WIREGUARD_CLIENT_ADDRESS

De asemenea, am încercat să-mi scriu propriile reguli, dar chiar și după ce am vizionat niște videoclipuri excelente de tutorial care acoperă lucruri mai mult decât doar tabelul de filtrare. Se pare că nu am imaginea mentală corectă a modului în care circulă traficul.

De asemenea, pentru că vreau să primesc trafic NOU de la serverul VPN, știu că trebuie să fac modificări la iptables pe VM-ul „client” și ar putea foarte bine să fie și problema mea. Speram că cineva ar putea arunca puțină lumină asupra unor concepte de bază care s-ar putea să îmi lipsească pentru a rezolva acest puzzle.

Puncte:0
drapel cn

Dacă îmi amintesc corect, „fluxul” pentru un pachet care vine ar fi:

diagrama rescrierilor antetului

Am testat acest lucru pe unele instanțe EC2: una publică și una privată. Ambele rulează apache cu o pagină web simplă, unul spunând „gateway” și unul spunând „nod”.

Înainte de a adăuga reguli pentru tabele IP, pot curba o pagină web simplă și arată corect că este de la instanța mea de „gateway”. Apoi fac următoarele pe gateway:

echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/10-forwarding.conf
sudo sysctl -w net.ipv4.ip_forward=1

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.0.100.154
sudo iptables -A FORWARD -i eth0 -p tcp --dport 80 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -p tcp --dport 80 -j SNAT --la 10.0.0.160

Acest lucru îmi permite să curl IP-ul public, unde este NAT la VM-ul intern țintă și redirecționat/NAT corect pentru răspuns. Am configurat subrețeaua privată fără nicio rutare externă, așa că, dacă nu este direcționată către intervalul intern, nu merge nicăieri. Funcționează așa cum s-a sperat!

Dacă aveți mai multe interfețe, atunci ar trebui să puteți bloca REDIRECŢIONA regula un pic mai bine cu adaosuri de -i eth0 -o wg0 la unele reguli, iar POSTOUTARE regula cu a -o wg0.

Deci, cred că regulile tale ar trebui să fie:

#Â dnat pentru a viza VM VPN
iptables -t nat -A PREROUTING -i eth0 -p tcp -m multiport --dports 80,443 -j DNAT --to-destination $WIREGUARD_CLIENT_ADDRESS

# înainte între interfețe pentru conexiuni noi
iptables -A FORWARD -i eth0 -o wg0 -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NOU -j ACCEPT
#Â permite redirecționarea traficului asociat - nu este nevoie de ambele seturi de -i/-o, deoarece putem permite doar conex
iptables -A FORWARD -m stare ESTABLISHED,RELATED -j ACCEPT

#Â postrouting pentru VPN
iptables -t nat -A POSTROUTING -o wg0 -p tcp -m multiport --dports 80,443 -j MASQUERADE
drapel ng
Exact ceea ce cautam! A funcționat ca un farmec, iar explicația mă va ajuta să îmi dau seama de aceste tipuri de situații în viitor. Mulțumesc!

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.