OpenVPN server helper: mreža plus netmask, nikad CIDR
IPv4 server helper prima poravnatu mrežu i tačkastu masku, a ne CIDR sufiks. Provjerite raspon, potvrdite pool u logu, pa sigurno promijenite veličinu.
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.0Ovo 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.0Drž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 1195Potraž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 tun0Ako 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.