169.254 kroz VPN: adresa nikad nije bila rutabilna
Link-local odredište odbacuje se prije nego stigne do tunela, pa dodavanje ruta samo širi kvar. Odaberite između popravka podmreže i mosta.
Dodate rutu, tunel se digne, a ping na drugu stranu ipak umire s potpunim gubitkom umjesto «network unreachable». Ta je razlika važna jer skreće pogled s tablice usmjeravanja na samu adresu. Odredište 169.254 je link-local, a njegov doseg završava na prvom skoku po dizajnu, ne zbog pogrešne konfiguracije.
Odluka koja slijedi uska je i vrijedi je donijeti izričito: popraviti podmrežu na strani poslužitelja ili proširiti segment sloja 2 da adresa ponovno dobije lokalni smisao. Sve ostalo, uključujući širu rutu, samo čini da isti kvar vrijedi za više odredišta.
Adresa nije bez rute, ona je nerutabilna
IPv4 link-local adrese dodjeljuju se same kad ništa bolje ne odgovori; odatle dolazi automatsko privatno adresiranje na Windowsima i odgovarajući pričuvni način na drugim sustavima. Raspon se koristi na svakoj vezi istodobno, i upravo zato radi: dva hosta u istom segmentu razgovaraju bez ikakve koordinacije.
Zbog istog tog svojstva usmjerivač ne smije prosljeđivati te pakete između mreža. Primiti paket upućen link-local odredištu i poslati ga kroz drugo sučelje stvorilo bi nejasnoću, jer su «lokalno» pošiljatelja i «lokalno» primatelja različita mjesta. Nijedno pretraživanje ne može odlučiti koje je od toga pošiljatelj mislio. Prosljeđivanje ovdje nije politička opcija koju administrator može uključiti; klasa adresa to isključuje.
Zato gateway koji 169.254.1.10 postavi kao dostupan kroz tunel traži od kernela nešto što format adrese zabranjuje. Paket se odbacuje mnogo prije nego stigne do udaljenog hosta, i nikakva preciznost rute to ne mijenja.
Zašto tunel čini problem dosega vidljivim
TUN sučelje prenosi IP pakete između dva partnera i nema zajednički segment iza sebe. Nema broadcasta, nema ARP-a za drugu stranu, ni otkrivanja susjeda koje bi link-local odredište pretvorilo u adresu sloja veze.
Simptomi se lijepo poklapaju kad znate što tražiti. Ruta postoji u tablici, ping prijavljuje potpuni gubitak umjesto nedostupne mreže, a tablica susjeda pokazuje nepotpun ili neuspješan zapis. Snimka na tunelu pokazuje da paket izlazi, što ljude usmjerava na udaljeni kraj umjesto na klasu adrese.
Na Windowsima postoji drugi, naizgled nepovezan simptom s istim korijenom: adapter kojem je ostala samo link-local adresa nema upotrebljiv gateway, pa identifikacija mreže ne može klasificirati vezu i profil vatrozida završi na javnom. Tunel nije uzrok; adresa jest.
Odlučite s tri pitanja
Izbor između popravka podmreže i premošćivanja veze ovisi o tri uvjeta, i bilo koji od njih može ga riješiti prije nego otvorite datoteku konfiguracije.
| Question | If yes | If no |
|---|---|---|
| Can the far-side host be given a routable address? | Change the host or fix DHCP and route normally | Continue to the next question |
| Does the device accept a static address at all? | Assign one from the site's real prefix | Bridging is the only remaining option |
| Can you accept broadcast crossing the tunnel? | A bridge is viable for a small segment | Replace the device or accept no remote access |
Većina slučajeva stane na prvom pitanju. Host s link-local adresom obično znači da DHCP nije odgovorio, da su kabel ili VLAN pogrešni ili da je netko adresu upisao ručno. Popraviti to jeftinije je od bilo kojeg rada na tunelu i uklanja problem za svakog budućeg klijenta, a ne samo za ovaj.
Provjerite stranu poslužitelja prije nego bilo što pretpostavite. Pokrenite ip addr show i ip route na hostu te arp -n ili route print -4 na klijentu, da vidite postoji li prefiks uopće ili samo zastario zapis tvrdi da postoji.
Koliko most stoji kad je pravi odgovor
Premošćivanje fizičkog adaptera s TAP adapterom čini udaljenog klijenta dijelom lokalne broadcast domene. Tada broadcast i otkrivanje susjeda rade, a link-local adresa ponovno ima smisla jer je klijent doista lokalno na toj vezi.
Troškovi su stvarni i valja ih navesti prije nego se itko složi. Broadcast promet prelazi tunel, klijent je izložen lokalnom segmentu za svaku svrhu, ne samo za usluge koje treba, a poslužitelj sada mora prosljeđivati okvire umjesto usmjeravati pakete. To je razumna zamjena za laboratorijsku klupu ili uređaj bez rutabilnog puta konfiguracije, a loš zadani izbor za udaljeni pristup.
Kad gradite most, potrebne su obje polovice: most na poslužitelju i ruta u profilu klijenta koja kaže koja su odredišta na drugoj strani. Sam most ostavlja klijenta da nagađa, a sama ruta ne može popraviti klasu adrese.