Dy klientë VPN mund të dalin përmes dy adresave publike IPv4 të ndryshme, dhe rregulli që e bën këtë është më i shkurtër nga sa presin shumica. Nuk e bën funksional sintaksa e iptables, por gjendja e paketës kur arrin zinxhirin e daljes: adresa burimore atje duhet ende t'i dallojë klientët. Nëse një masquerade i mëparshëm i ka bashkuar tashmë të dy në një adresë, asnjë rregull për klient nuk mund ta rikuperojë dallimin. Zgjidhni së pari këtë çështje, pastaj shkruani përkthimin.

Cili identitet mbijeton deri në portë

Rregulli përputhet me adresën burimore të paketës, jo me një emër përdoruesi VPN dhe jo me emrin që shfaq një aplikacion klienti. Gjithçka që e përkthen paketën më herët në rrugë përcakton çfarë rregulli juaj mund të shohë ende. Ekzekutoni tabelën nat sipas radhës dhe gjeni pikën ku burimi është ende veçmas për çdo klient.

iptables -t nat -S POSTROUTING

Lexojeni atë listë nga lart. Një rregull masquerade pranë majës rishkruan burimin për çdo rrjedhë që përputhet, dhe zërat për klient të vendosur pas tij përputhen me një adresë që nuk ekziston më. Kur dy pajisje LAN ndajnë një tunel dhe vijnë si një adresë e vetme e brendshme, dizajni duhet të ndryshojë përpara firewall-it: mbani intervalet e tyre burimore të ndara ose jepini secilit adresën e vet të brendshme.

Lidhni caktimin e adresës së brendshme me klientin e autentikuar. Dhënia e asaj adrese një pajisjeje tjetër jep edhe politikën e daljes, dhe përkthimi i burimit nuk është në vetvete provë identiteti.

Përkthimi nuk mund të shpikë një adresë

Çdo adresë publike duhet t'i caktohet ose t'i rrugëzohet këtij pike daljeje, dhe përgjigjet duhet të gjejnë rrugën përsëri. Një rregull që dërgon trafik nga një adresë ku askush nuk rrugëzon përsëri hidhet në skajin e largët ose i përgjigjet një hosti që nuk e kërkoi kurrë. Një instancë e ofruesit të cloud zakonisht e ka adresën publike të përkthyer në një adresë ndërfaqeje private përpara se paketa të dalë, kështu që burimi SNAT duhet të jetë adresa që ofruesi do të pranojë, jo vlera që shfaq konsola. Lexoni modelin e adresave të ofruesit dhe ndiqni atë në vend që të kopjoni vlerën publike në çdo paketë.

Në praktikë kjo do të thotë të kontrolloni prefiksin e rrugëzuar në konsolën e ofruesit përpara se të prekni firewall-in, dhe të përdorni adresën e ndërfaqes private si burim përkthimi kur hartëzimi është një me një. Adresat në shembujt më poshtë vijnë nga intervalet e dokumentacionit, kështu që gjëja e parë për të zëvendësuar është vetë teksti i adresës.

Futni përpara masquerade-it të përgjithshëm

Konfirmoni ndërfaqen e daljes dhe zinxhirin aktual përpara se të shtoni diçka. E para përcakton cilat paketa mund të përputhë rregulli, dhe e dyta tregon çfarë qëndron tashmë përpara tij.

ip -4 route show default
iptables -t nat -L POSTROUTING -n -v --line-numbers

Komanda e parë emërton ndërfaqen përmes së cilës një paketë drejt internetit në të vërtetë del. E dyta printon zinxhirin me numra rreshtash. Zëri i përgjithshëm masquerade është rreshti mbi të cilin duhet të qëndroni.

iptables -t nat -I POSTROUTING 1 -s 10.88.4.20/32 -o ens3 -j SNAT --to-source 198.51.100.77
iptables -t nat -I POSTROUTING 1 -s 10.88.4.21/32 -o ens3 -j SNAT --to-source 198.51.100.78

Dy rregullat më sipër përputhen secili me një adresë të brendshme, e kufizojnë përputhjen në ndërfaqen e daljes dhe e vendosin burimin në mënyrë të qartë. Futni dhe mos shtoni: në pozicionin 1 ato vlerësohen përpara rreshtit masquerade. Radha mes tyre nuk ka rëndësi sepse burimet e tyre ndryshojnë. Zëvendësoni ens3 me atë që raportoi komanda e rrugës, dhe mbani menaxherët e tjerë të firewall-it larg të njëjtave grepa, sepse dy mjete që shkruajnë një tabelë është arsyeja e zakonshme që një rregull i saktë nuk ka efekt.

Provoni burimin me një rrjedhë të re

Stateful NAT lidh një përkthim kur fillon një rrjedhë dhe e ripërdor për paketat e mëvonshme, kështu që një sesion i hapur përpara ndryshimit mban burimin e tij të vjetër pas ndryshimit. Vetëm një lidhje e sapo nisur e provon rregullin.

conntrack -L -s 10.88.4.20 -p tcp --dport 443

Lexoni drejtimin e përgjigjes së atij zëri: destinacioni i tij është adresa që skaji i largët e sheh si burim. Krahasoni atë me adresën publike që kishit ndërmend, dhe trajtojeni një zë që mbart adresën e vjetër si provë të një rrjedhe që nisi shumë herët, jo si rregull i prishur. Kërkojini klientit të hapë një lidhje të re, pastaj përsëriteni pyetjen. Zbrazja e të gjithë tabelës së gjurmimit për të detyruar testin ndërpret çdo sesion tjetër në portë.

Përkthimi ende nuk zgjedh rrugën, nuk e lejon rrjedhën përmes filtrit dhe nuk publikon një shërbim hyrës. Një rrugë e gabuar dhe një rregull lejimi që mungon vazhdojnë të dështojnë pas një rregulli SNAT të përsosur. Kontrolloni edhe IPv6 dhe çdo shteg daljeje dytësor, pastaj shënoni çiftet e brendshme-në-publike në dokumentacionin e firewall-it, që ndryshimi i ardhshëm të nisë nga hartëzimi dhe jo nga teksti i rregullit.

Artikuj të ngjashëm