Server linija koja miješa CIDR sufiks s tačkastom maskom zaustavlja daemon prije nego što uopće otvori port. IPv4 helper server traži dva odvojena argumenta: poravnatu mrežnu adresu, a zatim netmask u tačkastom obliku. Sve ostalo na toj liniji je nagađanje, a nagađanje je mjesto gdje veličine poolova i maske klijenata odlaze naopako.

Dva argumenta koja helper prihvata

Prvo napišite mrežu, a zatim masku, bez ičega spojenog s adresom:

server 10.72.16.0 255.255.240.0

Ovo je oblik za /20. Linija ispod je greška i pada pri parsiranju opcija, a ne u toku rada:

server 10.72.16.0/20 255.255.240.0

Držite te dvije ideje odvojeno kada ovo otklanjate. Dužina prefiksa i tačkasta maska opisuju isti raspon, ali helper ne prihvata oboje odjednom, a odbijena linija proizvodi grešku opcija koja imenuje direktivu, a ne aritmetiku.

Poravnajte mrežu prije nego što upišete masku

Prva adresa je mrežna adresa raspona, a ne zgodna adresa klijenta unutar njega. Za /20 raspon ide od 10.72.16.0 do 10.72.31.255, i samo je prva od njih valjan mrežni argument. /21 koristi 255.255.248.0 i pokriva 10.72.16.0 sve do 10.72.23.255, pa je njegova linija server 10.72.16.0 255.255.248.0.

Promjena prefiksa mijenja raspon i ništa drugo. Ne mijenja koliko adresa dobija jedan klijent, jer je to svojstvo topologije, a ne maske na ovoj liniji.

Potvrdite pool sa serverske strane

Pokrenite instancu u prvom planu s detaljnim logovanjem i pročitajte linije koje helper ispisuje. Pool koji je izgradio ispisuje se pri pokretanju, što je pouzdanije od ručnog računanja aritmetike:

openvpn --config /etc/openvpn/server.conf --verb 4 --dev tun9 --port 1195

Potražite sažetak poola pri vrhu izlaza. On navodi raspon koji je helper rezervisao, a ako se taj raspon ne poklapa s vašom namjerom, argumenti na liniji su pogrešni bez obzira šta kaže aritmetika maske.

Zatim povežite jednog klijenta i pronađite liniju koja bilježi adresu koja mu je dodijeljena. Ta jedna adresa, uz raspon poola, govori vam je li klijent sletio unutar rezervisanog bloka ili negdje gdje niste očekivali. Ako se njih dvoje ne slažu, popravite argumente, a ne klijenta. Ako se slažu i klijent još uvijek ne može ništa dosegnuti, pool nikada nije bio problem.

Čitajte masku klijenta s topologijom na umu

Klijent koji pokazuje /30 na svom tunelskom interfejsu nije dokaz pokvarenog poola. U adresiranju od tačke do tačke svaki klijent dobija mali blok i njegova maska interfejsa opisuje taj blok, dok pool servera pokriva zbir. U podmrežnoj topologiji maska klijenta umjesto toga odgovara maski poola. Sama maska dakle govori koja je topologija u igri, a ne da li je pool ispravno napisan.

Provjerite konfigurisanu topologiju i dodijeljenu adresu zajedno prije nego što donesete zaključak:

ip -4 addr show tun0

Ako je adresa unutar poola i maska je uža od poola, to topologija radi svoj posao. Ako je adresa izvan poola, pool je pogrešan i nikakav pregled na strani klijenta to neće popraviti.

Promjena poola u radu

Odaberite raspon koji se ne preklapa s trenutnim poolom, LAN-om ili bilo kojom rutom koja je već poslana klijentima. Preklapanje je kvar koji preživi restart i onda se danima kasnije pojavi kao jedno mjesto nedostupno iz jednog smjera.

Promijenite liniju, restartujte i ponovo pročitajte startup pool prije nego što pustite korisnike unutra. Ako se novi raspon sudari s nečim, isti startup izlaz to odmah pokazuje, a vraćanje je izmjena jedne linije plus još jedan restart.

Držite stari raspon rezervisan neko vrijeme nakon promjene. Klijenti koji se povežu kasno još mogu držati adresu iz prethodnog poola, a novi raspon koji te adrese ponovo koristi stvara duple dodjele koje izgledaju kao kvar rutiranja. OpenVPN 2.6 priručnik dokumentuje argumente helpera i njegovo širenje, što vrijedi pročitati prije nego što pretpostavite da neka direktiva uzima istu notaciju kao njen susjed.

Povezani članci