Du internaj fajroŝirmiloj, unu privata transita segmento, kaj peto lasi kelkajn gastigantojn en ĉiu LAN paroli kun tiuj en la alia. La reflekso estas starigi VPN aŭ aldoni duan NAT-tavolon, kaj ambaŭ refleksoj kostas pli ol la problemo meritulas. Ordinara enkursigo sufiĉas kiam tri kondiĉoj validas: la adresaj intervaloj ne sinoverlapas, ambaŭ flankoj povas resendi trafikon al la alia LAN, kaj la transita segmento jam estas sufiĉe fidinda por la datumoj. Kontrolu tiujn tri antaŭ ol projekteti ion ajn, ĉar ĉiu el ili ŝanĝas la respondon.

Tri kondiĉoj, kiuj decidas la dezajnon

La unua kondiĉo estas adresspaco. Se ambaŭ LAN-oj uzas la saman RFC 1918-blokon, enkursigo ne povas distingi ilin kaj tradukado fariĝas neevitebla anstataŭ laŭvola. La dua estas revena vojo: vojo de A al B estas senutila se B ankaŭ ne scias kiel atingi la LAN de A, kaj nesimetria scio estas la plej ofta kialo, ke enkursigita dezajno silente forĵetas respondojn.

La tria estas fido. Enkursigo movas pakaĵojn; ĝi ne protektas ilin. Privata transita segmento ene de unu konstruaĵo estas alia afero ol transdono al provizanto aŭ ligilo, kiu transiras komunan kampusan spinon. Se la segmento ne estas fidinda, la respondo estas tunelo inter la du fajroŝirmiloj, kaj la enkursiga plano sube ankoraŭ validas ene de ĝi.

Nur kiam ĉiuj tri montras la saman direkton, la simpla dezajno venkas. Kiam unu el ili malsukcesas, riparu tiun kondiĉon eksplicite anstataŭ kovri ĝin per tradukado, ĉar NAT kaŝas la malsukceson anstataŭ solvi ĝin.

Konstruu la vojplanon sur la transita reto

Donu al ĉiu fajroŝirmilo adreson en la komuna segmento kaj aldonu unu specifan vojon por ĉiu fora LAN. Nenio alia en la ekzistanta agordo devas moviĝi, kaj precipe la interreta defaŭlta vojo devas resti ĝuste tie, kie ĝi estas. Anstataŭigi defaŭltan vojon per la partnera fajroŝirmilo sendus ĉiun nerilatan celon tra la transito, kio estas multe pli granda ŝanĝo ol tiu petita. La dokumentaro de pfSense pri statika enkursigo priskribas la saman modelon de vojo plus enirejo por tiu platformo, kaj la ekvivalenta agordo ekzistas en ajna fajroŝirmilo, kiun vi efektive uzas.

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

Fajroŝirmilo A priservas 10.30.0.0/24 kaj fajroŝirmilo B priservas 10.40.0.0/24, kun la du transitaj adresoj en 192.0.2.0/24. Ĉiu LAN-gastiganto konservas sian lokan fajroŝirmilon kiel enirejon, do la sola nova stato estas unu vojo ĉe ĉiu flanko. Sur Linux-baza fajroŝirmilo la sama plano aspektas tiel, kaj plusendo devas esti ŝaltita, alie la vojo solviĝos dum la pakaĵo estos forĵetata.

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

Tenu filtradon aparte de tradukado

Enkursigo kaj politiko estas malsamaj regiloj, kaj ĝuste ĉe la dua la plej multaj enkursigitaj dezajnoj reale fiaskas. Permesu la specifajn fontojn, celojn kaj servojn ĉe la enira limo, kiun la pakaĵoj vere transiras, kaj memoru, ke interfaca etikedo kiel WAN estas nomo, ne deklaro pri fido. Transita pordo portanta privatan trafikon povas ankoraŭ havi blokadon de privataj adresoj ŝaltita defaŭlte.

Poste rigardu eliran tradukadon antaŭ ol konkludi, ke neniom da NAT okazas. Aŭtomataj eliraj reguloj povas reskribi trafikon, kiu neniam estis celita por tradukado, kaj tio detruas la fontajn adresojn, kiujn la alia flanko bezonas por sia propra politiko kaj protokoloj. Konfirmu, ke la elektitaj fluoj konservas la originalajn adresojn, kaj lasu la interretajn tradukajn regulojn trankvilaj por la trafiko, kiu ankoraŭ bezonas ilin.

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

Kiam NAT estas la honesta respondo

Tradukado meritas sian lokon kiam la adresaj intervaloj vere sinoverlapas kaj renumerigo ne disponeblas, aŭ kiam politiko postulas, ke unu flanko vidu unu adreson anstataŭ subreto. En tiuj kazoj intenca unu-al-unu aŭ porde limigita mapado estas dezajna decido kun konataj sekvoj, ne provizora solvo.

La sekvo, kiun oni devas diri laŭte, estas ke la alia flanko ne plu povas vidi aŭ filtri individuajn fontojn. Protokoloj kunfandiĝas al la tradukanta adreso, politiko por gastiganto ĉesas funkcii, kaj problemtrovo fariĝas ĉasado de tio, kiu interna gastiganto posedis fluon en difinita momento. Se nenio el tio gravas por la koncerna trafiko, NAT estas en ordo.

Kiam la transito mem estas la malĝusta supozo

Se la komuna segmento transiras provizanton, komunan komutadan fabrikon aŭ ajnan vojon, kie alia partio povus legi la trafikon, enkursigo sola ne estas kompleta respondo. Tunelo inter la du fajroŝirmiloj donas al vi konfidencon kaj identigan kontroladon de la partnero, kaj la enkursiga tabelo ene estas la sama tabelo, kiun vi skribus sur la transito.

Decidu tion el la fida demando en la unua sekcio, ne el kutimo, ke VPN-oj estas pli sekuraj. Tunelo super segmento, kiu jam estas privata, aldonas funkcian koston kaj ankoraŭ unu fiaskan manieron sen gajno, dum enkursigo super nefidinda segmento interŝanĝas konfidencon kontraŭ simpleco, kiun vi ne povas permesi al vi. Notu, kiu el la tri kondiĉoj gvidis la elekton, kaj la sekva inĝeniero ne devos relegi ĝin.

Rilataj artikoloj