OpenVPN-servila helpilo: reto plus retmasko, neniam CIDR
La IPv4-servila helpilo prenas ĝustigitan reton kaj punktan maskon, ne CIDR-sufikson. Kontrolu la amplekson, konfirmu la rezervujon en la protokolo, poste ŝanĝu la grandecon sekure.
Servila linio, kiu miksas CIDR-sufikson kun punkta masko, haltigas la demonon antaŭ ol ĝi eĉ malfermas pordon. La IPv4-helpilo server volas du apartajn argumentojn: ĝustigitan retadreson, poste la retmaskon en punkta formo. Ĉio alia sur tiu linio estas konkludo, kaj en konkludo misfunkcias rezervujaj grandecoj kaj klientaj maskoj.
La du argumentoj, kiujn la helpilo akceptas
Skribu unue la reton kaj poste la maskon, kun nenio alkroĉita al la adreso:
server 10.72.16.0 255.255.240.0Tio estas la formo por /20. La linio sube estas la eraro, kaj ĝi malsukcesas ĉe analizo de opcioj, ne dum rulado:
server 10.72.16.0/20 255.255.240.0Tenu la du ideojn aparte kiam vi sencimigas tion. Prefiksa longo kaj punkta masko priskribas la saman amplekson, sed la helpilo ne akceptas ambaŭ samtempe, kaj rifuzita linio produktas opci-eraron, kiu nomas la direktivon anstataŭ la aritmetikon.
Ĝustigu la reton antaŭ ol tajpi la maskon
La unua adreso estas la retadreso de la intervalo, ne oportuna klienta adreso ene de ĝi. Por /20 la amplekso iras de 10.72.16.0 ĝis 10.72.31.255, kaj nur la unua el ili estas valida retargumento. /21 uzas 255.255.248.0 kaj etendiĝas de 10.72.16.0 ĝis 10.72.23.255, do ĝia linio estas server 10.72.16.0 255.255.248.0.
Ŝanĝi la prefikson ŝanĝas la amplekson kaj nenion alian. Ĝi ne ŝanĝas kiom da adresoj unu kliento ricevas, ĉar tio estas eco de la topologio, ne de la masko sur ĉi tiu linio.
Konfirmu la rezervujon de la servila flanko
Startigu la instancon en la antaŭplano kun detala protokolado kaj legu la liniojn, kiujn la helpilo eligas. La rezervujo, kiun ĝi konstruis, estas presata ĉe starto, kio estas pli fidinda ol kalkuli la aritmetikon mane:
openvpn --config /etc/openvpn/server.conf --verb 4 --dev tun9 --port 1195Serĉu la resumon de la rezervujo proksime al la supro de la eligo. Ĝi listigas la intervalon, kiun la helpilo rezervis, kaj se tiu intervalo ne kongruas kun via intenco, la argumentoj sur la linio estas malĝustaj, kion ajn diras la maska aritmetiko.
Poste konektu unu klienton kaj trovu la linion, kiu registras la adreson donitan al ĝi. Tiu sola adreso, apud la rezervuja intervalo, diras al vi, ĉu la kliento alteriĝis ene de la rezervita bloko aŭ ie, kie vi ne atendis. Se la du malkongruas, ripari la argumentojn anstataŭ la klienton. Se ili kongruas kaj la kliento ankoraŭ atingas nenion, la rezervujo neniam estis la problemo.
Legu la maskon de la kliento kun la topologio en la kapo
Kliento, kiu montras /30 sur sia tunela interfaco, ne estas pruvo de rompita rezervujo. Ĉe punkt-al-punkta adresado ĉiu kliento ricevas malgrandan blokon kaj ĝia interfaca masko priskribas tiun blokon, dum la servila rezervujo kovras la tuton. Ĉe subreta topologio la masko de la kliento anstataŭe kongruas kun la masko de la rezervujo. La masko sola do diras, kiu topologio estas en ludo, ne ĉu la rezervujo estas skribita ĝuste.
Kontrolu la agorditan topologion kaj la asignitan adreson kune antaŭ ol fari konkludon:
ip -4 addr show tun0Se la adreso estas ene de la rezervujo kaj la masko estas pli mallarĝa ol la rezervujo, tio estas la topologio faranta sian taskon. Se la adreso estas ekster la rezervujo, la rezervujo estas malĝusta, kaj nenia klientflanka inspektado riparos tion.
Ŝanĝi vivan rezervujon
Elektu intervalon, kiu ne interkovras la nunan rezervujon, la LAN-on aŭ ajn itineron jam puŝitan al klientoj. Interkovro estas la fiasko, kiu postvivas restartigon kaj poste, tagojn poste, aperas kiel unu ejo neatingebla el unu direkto.
Ŝanĝu la linion, restartigu kaj relegu la startan rezervujon antaŭ ol lasi uzantojn reen. Se la nova intervalo kolizias kun io, la sama starta eligo montras tion tuj, kaj retroigo estas redakto de unu linio plus ankoraŭ unu restartigo.
Konservu la malnovan intervalon rezervita dum iom da tempo post la ŝanĝo. Klientoj, kiuj rekonektiĝas malfrue, ankoraŭ povas teni adreson el la antaŭa rezervujo, kaj nova intervalo, kiu reuzas tiujn adresojn, produktas duoblajn asignojn, kiuj aspektas kiel enkursiga fuŝo. La OpenVPN 2.6-manlibro dokumentas la argumentojn de la helpilo kaj ĝian vastiĝon, kio indas legi antaŭ ol supozi, ke direktivo prenas la saman notacion kiel sia najbaro.