Klijenti na LAN-u razrješavaju kroz tunel, a ruterova vlastita pretraga to tiho ne čini. Ažuriranja paketa, sinhronizacija vremena i dinamički DNS izlaze običnim uplinkom, dok svaki proslijeđeni upit ide kroz VPN, i ništa u sučelju ne ukazuje da postoje dva različita puta. Objašnjenje nije greška u politici, nego pitanje koja kuka vidi paket. Dva toka, jedna adresa razrješivača, i samo jedan od njih prelazi ruter. Razdvajanje njih je cijela popravka.

Dva toka, jedna adresa razrješivača

Prvi tok je onaj koji ljudi zamišljaju. Klijent pita ruterov razrješivač, razrješivač prosljeđuje dalje, i taj proslijeđeni paket prolazi kroz ruter na izlazu. Taj paket je vidljiv svemu što posmatra proslijeđeni saobraćaj.

Drugi tok nikada ne dolazi niotkuda. Ruter ga stvara, pa nema dolaznog paketa ni koraka prosljeđivanja za upoređivanje.

Oba mogu ciljati istu adresu razrješivača, i upravo zato je razliku lako propustiti. Ista destinacija, različito porijeklo, različit lanac. Kad ugledate porijeklo, ostatak dijagnoze slijedi.

Proslijeđeni i lokalno generisani paketi ulaze drugačije

Proslijeđeni saobraćaj se procjenjuje kada stigne s drugog interfejsa. Paketi političkog usmjeravanja to izlažu kao prerouting lanac, a pravilo postavljeno tamo vidi svaki paket koji prelazi ruter. Zato se klijentski upiti ponašaju tačno kako politika opisuje, i zato ih ruter ignoriše. Pravilo nije pogrešno, samo je prikačeno na kuku do koje ruter nikada ne stigne. Pomjerite ga, i isto podudaranje počinje raditi.

Lokalno generisani saobraćaj stvara proces na ruteru i umjesto toga ulazi u izlazni put. Usmjerava ga ruterova vlastita odluka i susreće politiku samo ako politika pokriva taj lanac. Nema dolaznog interfejsa za podudaranje ni odluke o prosljeđivanju za posmatranje.

To je svojstvo mjesta gdje se paketi rađaju, a ne bilo kojeg konkretnog paketa. Pravilo napisano za jedan lanac jednostavno nema mišljenje o drugom. Nikakvo podešavanje pravila to ne mijenja.

Odaberite izlazni lanac, pa suzite podudaranje

Popravka je da istu namjeru prikačite i na izlazni lanac, ili da premjestite pravilo tamo kada su vam ruterovi vlastiti upiti ono što vas zanima. U OpenWrt postavci izgrađenoj na paketu političkog usmjeravanja, to znači odabrati output umjesto prerouting u postavci lanca pravila. Zadržite oba pravila ako obje populacije trebaju pokrivenost.

Zatim suzite šta pravilo podudara. Odredišne adrese razrješivača na portu koji razrješivač stvarno koristi mnogo je manja odluka od slanja svega što ruter stvori u tunel.

Držite dva pravila eksplicitnim umjesto da pokušavate napisati jedno koje pokriva oba lanca. Odvojena pravila su lakša za čitanje i omogućavaju vam da onemogućite ruterov put bez ometanja klijentskog saobraćaja dok otklanjate greške. Ona također čine brojače smislenim jedan po jedan.

Držite vlastiti transport tunela izvan pravila

Vanjsku vezu tunela također stvara ruter. Pravilo koje sav lokalno generisani saobraćaj šalje u tunel usmjerit će tunel kroz samog sebe i on se uopće neće podići.

Upravljački pristup je druga žrtva. Administrativne sesije nastale s rutera, ili odgovori na njih, mogu biti uvučene u tunel preširokim lokalnim pravilom i postati nedostupne s LAN-a.

Izuzmite krajnju tačku tunela iz podudaranja i držite pravilo ograničeno na adrese razrješivača. To je dovoljno za DNS zahtjev i dovoljno malo da se o tome razmišlja.

Testirajte obje populacije, ne jednu

Posmatrajte ruter kako pravi vlastiti upit i zabilježite koji interfejs ga je nosio. Ponovite pretragu s LAN hosta i zabilježite put kojim je krenuo. Brojači na pravilima politike čine oba odgovora vidljivim bez nagađanja.

Tretirajte rezultate kao dva nalaza. Klijent koji razrješava kroz tunel ne govori ništa o ruteru, a ruter koji ispravno razrješava ne govori ništa o klijentu na drugom slušaču. Zapišite ih kao odvojene redove u zapisu promjene.

Provjerite i port: pravilo koje podudara odredišni port 53 promašuje razrješivač do kojeg se stiže preko DNS over TLS na 853 ili HTTPS krajnje tačke. Podudarite transport koji konfigurirani upstream stvarno koristi, i curenje se zatvara iz pravog razloga.

Povezani članci