Paketo por 10.77.20.0/24 prenas du apartajn decidojn sur OpenVPN-servilo: la operaciumo devas transdoni ĝin al la VPN-interfaco, kaj OpenVPN devas scii, kiu konektita kliento posedas tiun prefikson. Manka kerna itinero faligas ĝin antaŭ la tunelo, manka kunula itinero faligas ĝin poste. La du fiaskoj aspektas identaj de la malproksima LAN, kaj diagnozi kiun vi havas postulas unu komandon ĉe ĉiu flanko.

En la klasika datumvojo en uzantspeco, la kerna itinero venigas la paketon en la tunelan procezon, kaj iroute diras al tiu procezo, kiu kunulo devas ricevi ĝin. Neniu anstataŭas la alian, kaj konfiguraĵo portanta nur unu el ili aspektos racia ĝis la unua ping.

Du decidoj, ne unu itinero

Imagu ligilon de ejo al ejo, kie 10.77.20.0/24 kuŝas malantaŭ unu kliento. La kerna itinero de la servilo, ekzemple ip route add 10.77.20.0/24 dev tun0, sendas kongruajn paketojn al la tunela aparato. Poste OpenVPN konsultas sian propran internan tabelon, konstruita el iroute-eroj en la klienta konfigura dosierujo, por decidi, kiu kunula konekto ricevas ilin. Sen la kerna itinero la paketo neniam atingas la procezon, kaj sen la kunula itinero ĝi atingas la procezon kaj iras nenien.

Tiu divido facile forgesiĝas, ĉar unu itinera linio en klienta profilo povas aspekti, kvazaŭ ĝi faras ambaŭ taskojn. Ĝi ne faras: puŝi itineron diras al klientoj, kion sendi tra la tunelo, dum iroute diras al la servilo, kiu posedas adresaron malantaŭ kliento. Ili loĝas en malsamaj dosieroj, estas legataj de malsamaj flankoj, kaj fiaskas en kontraŭaj direktoj.

Kie iroute apartenas kaj kion ĝi diras

La ero iras en dosieron por unuopa kliento nomitan laŭ la common_name de la kliento, sub client-config-dir, kiel iroute 10.77.20.0/24. La dosiernoma kongruo ne estas kosmetika: OpenVPN serĉas la aŭtentikigitan identecon kaj legas la dosieron kun ĝuste tiu nomo, do dosiero nomita site-a efikas nur por kliento, kies komuna nomo estas site-a. Aldonu ccd-exclusive, se klientoj sen tia dosiero estu tute rifuzataj, kio estas la ĝusta agordo, kiam ĉiu kliento estas eja enirejo. Tenu unu dosieron por enirejo kaj nomu ĝin laŭ la atestila subjekto, kiun vi efektive eldonas.

Testu la eron de la servilo antaŭ ol kulpigi la malproksiman LAN. La statuta dosiero listigas konektitajn klientojn kun iliaj komunaj nomoj, kaj servilo funkcianta kun --verb 4 registras la instaladon de iroute en la momento, kiam la kunulo konektiĝas. Se nenio aperas ĉe konekto, la dosiero estas en la malĝusta dosierujo aŭ nomas la malĝustan identecon.

La kaptilo: dosiero ĉeestas, identeco malĝustas

Ĝuste aspektanta iroute ligita al la malĝusta kunulo perdas pli da tempo ol manka dosiero, ĉar ĉio surdiske aspektas ĝuste. Atestila renomado, duobligitaj komunaj nomoj kaj username-as-common-name ŝanĝanta la efektivan identecon ĉiuj produktas tion. Kontrolu, kiun identecon la servilo aŭtentikigis, anstataŭ kiun vi atendis: la statuta eligo estas aŭtoritata, dum la dosiernomo estas nur serĉŝlosilo.

Itinero povas postvivi sian posedanton. Statikaj itineroj kaj iroute-eroj priskribas prefikson, ne garantion de havebleco, do trafiko povas daŭre esti itinerigata al kunulo, kiu nun estas malkonektita.

Finu la vojon preter la kunulo

Kunula posedo estas la mezo de la vojo, ne la fino. La kliento devas plusendi paketojn de la tunelo en sian LAN, kio signifas ŝaltitan IP-plusendon sur tiu gastiganto kaj fajroŝirma regulo permesanta la trapason. Gastigantoj en la malproksima LAN bezonas revenan vojon por la tunela adreso: aŭ itineron montrantan reen al la enirejo, aŭ intencan NAT-dezajnon ĉe la klienta flanko. Konfirmu la plusendan agordon sur la kliento per sysctl net.ipv4.ip_forward anstataŭ supozi distribuan pardonvaloron.

Se aliaj VPN-klientoj devas atingi tiun subreton, la aranĝo denove kreskas: la servilo bezonas client-to-client, kaj tiuj klientoj devas itinerigi la prefikson tra la tunelo. Nenio el tio impliciĝas per la propra itinera tabelo de la servilo.

Kontrolu unu celon el reala fonto anstataŭ el la servilo mem. Ping de nerilata LAN-gastiganto al gastiganto malantaŭ la kliento ekzercas la revenan vojon, la plusendan regulon kaj la kunulan posedon en unu movo, dum sukcesa manpremo pruvas nur identecon. Poste malkonektu la posedantan kunulon kaj notu, kion faras la itinero, ĉar tiu respondo estas via fiaskmaniero.

Rilataj artikoloj