Kaks sisemist tulemüüri, üks privaatne transiidisegment ja palve lasta mõnel hostil kummaski LAN-is teise omadega suhelda. Refleks on püsti panna VPN või lisada teine NAT-kiht, ja mõlemad refleksid maksavad rohkem, kui probleem väärib. Tavaline marsruutimine on piisav, kui kehtivad kolm tingimust: aadressivahemikud ei kattu, mõlemad pooled saavad liiklust teise LAN-i tagasi saata ja transiidisegment on andmete jaoks juba piisavalt usaldusväärne. Kontrollige neid kolme enne, kui midagi kavandate, sest igaüks neist muudab vastust.

Kolm tingimust, mis määravad kavandi

Esimene tingimus on aadressiruum. Kui mõlemad LAN-id kasutavad sama RFC 1918 plokki, ei suuda marsruutimine neid eristada ja tõlkimine muutub vältimatuks, mitte valikuliseks. Teine on tagasitee: marsruut punktist A punkti B on kasutu, kui B ei tea ka, kuidas jõuda A LAN-i, ja asümmeetriline teadmine on kõige tavalisem põhjus, miks marsruuditud kavand vastuseid vaikselt kaotab.

Kolmas on usaldus. Marsruutimine liigutab pakette; see ei kaitse neid. Privaatne transiidisegment ühe hoone sees on hoopis teine asi kui teenusepakkujale üleandmine või link, mis läbib ühist ülikoolilinnaku magistraali. Kui segment ei ole usaldusväärne, on vastuseks tunnel kahe tulemüüri vahel, ja allolev marsruudiplaan kehtib endiselt selle sees.

Ainult siis, kui kõik kolm osutavad samas suunas, võidab lihtne kavand. Kui üks neist ebaõnnestub, parandage see tingimus selgesõnaliselt, selle asemel et seda tõlkimisega katta, sest NAT peidab vea, mitte ei lahenda seda.

Ehitage marsruudiplaan transiidivõrgule

Andke igale tulemüürile aadress ühises segmendis ja lisage igale kaugemale LAN-ile üks konkreetne marsruut. Midagi muud olemasolevas konfiguratsioonis ei pea liikuma, ja eriti peab interneti vaikemarsruut jääma täpselt sinna, kus see on. Vaikemarsruudi asendamine partner-tulemüüriga saadaks iga mitteseotud sihtkoha üle transiidi, mis on palju suurem muudatus kui küsitud. pfSense'i staatilise marsruutimise dokumentatsioon kirjeldab sama marsruudi-pluss-lüüsi mudelit selle platvormi jaoks, ja samaväärne juhtelement on olemas igal tulemüüril, mida te tegelikult kasutate.

FirewallRemote LANNext hop on the transit
A10.40.0.0/24192.0.2.20
B10.30.0.0/24192.0.2.10

Tulemüür A teenindab 10.30.0.0/24 ja tulemüür B teenindab 10.40.0.0/24, kusjuures kaks transiidiaadressi on 192.0.2.0/24-s. Iga LAN-i host hoiab oma kohalikku tulemüüri lüüsina, nii et ainus uus olek on üks marsruut kummalgi poolel. Linuxil põhineval tulemüüril näeb sama plaan välja selline, ja edasisaatmine peab olema lubatud, muidu marsruut laheneb, samal ajal kui pakett jäetakse kõrvale.

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

Hoidke filtreerimine tõlkimisest eraldi

Marsruutimine ja poliitika on erinevad juhtelemendid, ja just teises ebaõnnestuvad enamik marsruuditud kavandeid tegelikult. Lubage konkreetsed allikad, sihtkohad ja teenused sissepääsu piiril, mida paketid tegelikult ületavad, ja pidage meeles, et liidese silt nagu WAN on nimi, mitte väide usalduse kohta. Privaatset liiklust kandev transiidiport võib endiselt olla privaatsete aadresside blokeerimisega vaikimisi lubatud.

Seejärel vaadake väljuvat tõlkimist, enne kui järeldate, et NAT-i ei toimu. Automaatsed väljuvad reeglid võivad ümber kirjutada liiklust, mida kunagi ei olnud mõeldud tõlkida, ja see hävitab lähteaadressid, mida teine pool vajab oma poliitika ja logide jaoks. Kinnitage, et valitud vood säilitavad algseid aadresse, ja jätke interneti tõlkereeglid rahule liikluse jaoks, mis neid veel vajab.

iptables -t nat -S POSTROUTING
iptables -t nat -L POSTROUTING -n -v
tcpdump -ni eth1 -c 5 host 10.40.0.15

Kui NAT on aus vastus

Tõlkimine teenib oma kohta siis, kui aadressivahemikud tõesti kattuvad ja ümbernummerdamine pole saadaval, või kui poliitika nõuab, et üks pool näeb üht aadressi, mitte alavõrku. Sellistel juhtudel on teadlik üks-ühele või portidega piiratud vastendamine teadaolevate tagajärgedega kavandamisotsus, mitte möödarääkimisvõte.

Tagajärg, mida tuleb valjusti öelda, on see, et teine pool ei näe ega saa enam filtreerida üksikuid allikaid. Logid varisevad tõlkivale aadressile, hostipõhine poliitika lakkab töötamast ja tõrkeotsing muutub jahiks selle järele, milline sisemine host omas voogu antud hetkel. Kui miski sellest ei loe kõnealuse liikluse jaoks, on NAT korras.

Kui transiit ise on vale eeldus

Kui ühine segment läbib teenusepakkujat, ühist lülituskiipi või mis tahes teed, kus teine osapool võiks liiklust lugeda, ei ole ainult marsruutimine täielik vastus. Tunnel kahe tulemüüri vahel annab konfidentsiaalsuse ja partneri autentimise, ja selle sees olev marsruuditabel on sama tabel, mille oleksite transiidile kirjutanud.

Otsustage see esimese jaotise usaldusküsimuse põhjal, mitte harjumusest, et VPN-id on turvalisemad. Tunnel juba privaatse segmendi kohal lisab töökulusid ja veel ühe rikkerežiimi ilma kasuta, samas kui marsruutimine ebausaldusväärsel segmendil vahetab konfidentsiaalsuse lihtsuse vastu, mida te ei saa endale lubada. Kirjutage üles, milline kolmest tingimusest valiku ajendas, ja järgmisel inseneril ei tule seda uuesti arutada.

Seotud artiklid