Izgleda kao da se dva VPN klijenta bore za isti socket, a očito rješenje mora biti deinstalirati jedan. U praksi rijetko diraju isti socket. Svako povezivanje prepisuje tablicu rutiranja operativnog sistema, a profil punog tunela prisvaja zadanu rutu. Obično pobjeđuje onaj koji se posljednji povezao, zato se čini da se simptom seli između klijenata.

Sukob živi u tablici rutiranja

Virtuelni adapter plus zadana ruta tako puni tunel hvata saobraćaj. Kada drugi klijent instalira svoju zadanu rutu, stariji zapis se zamjenjuje ili degradira metrikom, pa svako odredište sada ide kroz noviji tunel. Prvi klijent ostaje povezan i još pokazuje zelenu ikonu, dakle interfejs je aktivan dok je putanja nestala. Upravo to razdvajanje stanja veze i stanja rutiranja čini ponašanje zbunjujućim.

Klijenti su urednici jedne zajedničke tablice. Znati koja je izmjena bila posljednja objašnjava gotovo svaki simptom.

Pročitajte koji tunel posjeduje trenutnu putanju

Provjerite stvarnu odluku umjesto da vjerujete klijentu koji javlja da je povezan. Pitajte sistem koji bi interfejs nosio određeno odredište.

ip route get 10.20.0.5
route print -4

Prva naredba imenuje interfejs i izvornu adresu za jedno odredište, a to je tačno pitanje koje vas zanima. Ispis ruta pokazuje konkurentske zadane zapise i njihove metrike na Windowsu, pa vidite koji trenutno pobjeđuje. Pokrenite pretragu za hostom u svakoj udaljenoj mreži, jer jedno odredište može biti ispravno dok je druga mreža nedostupna. Ako odgovor imenuje pogrešan tunel, ponovno povezivanje neće pomoći; politika rutiranja mora se promijeniti.

Zaustavite drugi klijent da prisvaja sve

Jedan klijent treba posjedovati zadanu rutu, a drugi nositi samo svoje prefikse. OpenVPN klijenti mogu odbiti ono što server gura.

pull-filter ignore "redirect-gateway"
ip route get 10.30.4.10

route-nopull ignoriše svaku gurnutu rutu, dok pull-filter ignore "redirect-gateway" odbacuje samo direktivu zadane rute i zadržava gurnuti DNS i druge opcije. Birajte između njih prema tome koliko serverove konfiguracije još želite, pa dodajte konkretne prefikse koje druga mreža treba. Imajte na umu DNS, jer resolver gurnut kroz tunel koji ne nosi upite ne vraća ništa. Testirajte jedan poznati host u svakoj mreži i potvrdite izvornu adresu koju vidi udaljena strana.

Mreže koje se preklapaju ne mogu se zaobići

Kada obje mreže objave isti prefiks, kernel drži jedan zapis za dva različita mjesta i mora birati. Ruta hosta ne može izmisliti razliku koja nedostaje, a ni izmjena metrike. Prenumerišite jednu stranu ili neka njen administrator prevede udaljeni raspon da se prefiksi razlikuju. Provjerite stvarne podmreže prije nego okrivite klijente, jer zadana vrijednost kućnog rutera 192.168.1.0/24 sudara se sa uredskim rasponom češće nego što iko očekuje. Zabilježite oba raspona u tiketu da sljedeća izmjena ne ponovo stvori preklapanje.

Razdvojite i dva cilja: dostizanje obje mreže je problem rutiranja, dok je ulančavanje tunela radi privatnosti drugačiji dizajn s dodatnim operaterom na putu. Ne koristite jedno da riješite drugo.

Povezani članci