Usmerjajte med zasebnimi LAN, preden dodate še en NAT
Prekrivajoč se naslovni prostor, manjkajoča povratna pot ali nezaupljiv tranzit odločajo med usmerjanjem, NAT in tunelom. Preverite te tri stvari, preden uredite požarni zid.
Dva notranja požarna zidova, en zasebni tranzitni segment in zahteva, da lahko nekaj gostiteljev v vsaki LAN komunicira s tistimi v drugi. Refleks je postaviti VPN ali dodati drugo plast NAT, oba refleksa pa staneta več, kot si problem zasluži. Običajno usmerjanje zadostuje, ko veljajo trije pogoji: naslovna območja se ne prekrivajo, obe strani lahko vračata promet v drugo LAN in tranzitni segment je za podatke že dovolj zaupanja vreden. Preverite te tri, preden karkoli načrtujete, ker vsak od njih spremeni odgovor.
Trije pogoji, ki določajo zasnovo
Prvi pogoj je naslovni prostor. Če obe LAN uporabljata isti blok RFC 1918, jih usmerjanje ne more ločiti in prevajanje postane neizogibno, ne izbirno. Drugi je povratna pot: pot od A do B je neuporabna, če B tudi ne ve, kako priti do LAN gostitelja A, in asimetrično znanje je najpogostejši razlog, da usmerjena zasnova tiho odvrže odgovore.
Tretji je zaupanje. Usmerjanje premika pakete; ne ščiti jih. Zasebni tranzitni segment v eni stavbi je nekaj drugega kot predaja ponudniku ali povezava, ki prečka skupno univerzitetno hrbtenico. Če segmentu ne zaupate, je odgovor tunel med obema požarnima zidovoma, in spodnji načrt usmerjanja še vedno velja znotraj njega.
Samo ko vse tri kažejo v isto smer, preprosta zasnova zmaga. Ko ena od njih odpove, odpravite prav ta pogoj izrecno, namesto da ga prekrijete s prevajanjem, ker NAT napako skriva, ne rešuje.
Zgradite načrt poti na tranzitnem omrežju
Vsakemu požarnemu zidu dajte naslov v skupnem segmentu in dodajte po eno določeno pot za vsako oddaljeno LAN. Nič drugega v obstoječi konfiguraciji se ne bi smelo premakniti, še posebej privzeta pot v internet mora ostati točno tam, kjer je. Zamenjava privzete poti s partnerskim požarnim zidom bi poslala vsak nepovezan cilj čez tranzit, kar je veliko večja sprememba od zahtevane. Dokumentacija pfSense o statičnem usmerjanju opisuje isti model poti plus prehoda za to platformo, enakovredna nastavitev pa obstaja na vsakem požarnem zidu, ki ga dejansko poganjate.
| Firewall | Remote LAN | Next hop on the transit |
|---|---|---|
| A | 10.40.0.0/24 | 192.0.2.20 |
| B | 10.30.0.0/24 | 192.0.2.10 |
Požarni zid A služi 10.30.0.0/24, požarni zid B pa 10.40.0.0/24, pri čemer sta oba tranzitna naslova v 192.0.2.0/24. Vsak gostitelj LAN obdrži svoj lokalni požarni zid kot prehod, zato je edino novo stanje po ena pot na vsaki strani. Na požarnem zidu, ki temelji na Linuxu, je isti načrt videti tako, posredovanje pa mora biti omogočeno, sicer se pot razreši, paket pa se zavrže.
sysctl -w net.ipv4.ip_forward=1 ip route add 10.40.0.0/24 via 192.0.2.20 dev eth1 ip route get 10.40.0.15 traceroute -n 10.40.0.15
Filtriranje naj bo ločeno od prevajanja
Usmerjanje in politika sta različna nadzora, in prav pri drugem večina usmerjenih zasnov v resnici odpove. Dovolite konkretne vire, cilje in storitve na vstopni meji, ki jo paketi resnično prečkajo, in ne pozabite, da je oznaka vmesnika, kot je WAN, ime in ne izjava o zaupanju. Tranzitna vrata, ki prenašajo zasebni promet, imajo lahko še vedno privzeto omogočeno blokiranje zasebnih naslovov.
Nato poglejte odhodno prevajanje, preden sklepate, da se NAT ne dogaja. Samodejna odhodna pravila lahko prepišejo promet, ki ni bil nikoli namenjen prevajanju, in to uniči izvorne naslove, ki jih druga stran potrebuje za svojo politiko in dnevnike. Potrdite, da izbrani tokovi ohranijo prvotne naslove, internetna pravila prevajanja pa pustite pri miru za promet, ki jih še potrebuje.
iptables -t nat -S POSTROUTING iptables -t nat -L POSTROUTING -n -v tcpdump -ni eth1 -c 5 host 10.40.0.15
Ko je NAT pošten odgovor
Prevajanje si zasluži svoje mesto, ko se naslovna območja resnično prekrivajo in preštevilčenje ni na voljo, ali ko politika zahteva, da ena stran vidi en naslov namesto podomrežja. V takih primerih je namerno preslikavanje ena na eno ali omejeno na vrata oblikovalska odločitev z znanimi posledicami, ne obvoz.
Posledica, ki jo je treba povedati na glas, je, da druga stran ne more več videti ali filtrirati posameznih virov. Dnevniki se zlijejo v naslov, ki prevaja, politika na gostitelja preneha delovati, in odpravljanje težav postane lov na to, kateri notranji gostitelj je imel tok v določenem trenutku. Če nič od tega ni pomembno za obravnavani promet, je NAT v redu.
Ko je tranzit sam napačna predpostavka
Če skupni segment prečka ponudnika, skupno stikalno tkanino ali katero koli pot, kjer bi druga stran lahko brala promet, samo usmerjanje ni popoln odgovor. Tunel med obema požarnima zidovoma vam da zaupnost in preverjanje partnerja, usmerjevalna tabela v njem pa je ista tabela, ki bi jo napisali na tranzitu.
Odločite se o tem na podlagi vprašanja zaupanja v prvem razdelku, ne na podlagi navade, da so VPN varnejše. Tunel čez segment, ki je že zaseben, doda obratovalne stroške in še en način odpovedi brez koristi, medtem ko usmerjanje čez nezaupljiv segment zamenja zaupnost za preprostost, ki si je ne morete privoščiti. Zapišite, kateri od treh pogojev je vodil izbiro, in naslednjemu inženirju tega ne bo treba znova pretresati.