OpenVPN-palvelimen apuri: verkko plus verkkomaski, ei koskaan CIDR
IPv4-palvelimen apuri ottaa kohdistetun verkon ja pisteillä erotetun maskin, ei CIDR-liitteen. Tarkista alue, vahvista pooli lokista ja muuta sitten kokoa turvallisesti.
Palvelinrivi, joka sekoittaa CIDR-liitteen pisteillä erotettuun maskiin, pysäyttää daemonin ennen kuin se edes avaa portin. IPv4:n apuri server haluaa kaksi erillistä argumenttia: kohdistetun verkko-osoitteen ja sitten verkkomaskin pisteellisessä muodossa. Kaikki muu sillä rivillä on päättelyä, ja päättelyssä poolien koot ja asiakkaiden maskit menevät pieleen.
Kaksi argumenttia, jotka apuri hyväksyy
Kirjoita ensin verkko ja sitten maski, ilman että osoitteeseen liitetään mitään:
server 10.72.16.0 255.255.240.0Tämä on /20:n muoto. Alla oleva rivi on virhe, ja se epäonnistuu valintojen jäsentämisessä, ei ajonaikaisesti:
server 10.72.16.0/20 255.255.240.0Pidä kaksi ajatusta erillään tätä vianetsiessäsi. Etuliitteen pituus ja pisteellinen maski kuvaavat samaa aluetta, mutta apuri ei hyväksy molempia kerralla, ja hylätty rivi tuottaa valintavirheen, joka nimeää direktiivin eikä aritmetiikkaa.
Kohdista verkko ennen kuin kirjoitat maskin
Ensimmäinen osoite on alueen verkko-osoite, ei kätevä asiakasosoite sen sisällä. /20:n alue kulkee 10.72.16.0-osoitteesta 10.72.31.255-osoitteeseen, ja vain ensimmäinen niistä on kelvollinen verkkoargumentti. /21 käyttää maskia 255.255.248.0 ja kattaa 10.72.16.0-osoitteesta 10.72.23.255-osoitteeseen, joten sen rivi on server 10.72.16.0 255.255.248.0.
Etuliitteen muuttaminen muuttaa aluetta eikä mitään muuta. Se ei muuta, kuinka monta osoitetta yksittäinen asiakas saa, koska se on topologian ominaisuus, ei tämän rivin maskin.
Vahvista pooli palvelimen puolelta
Käynnistä instanssi etualalla yksityiskohtaisella lokituksella ja lue rivit, jotka apuri tulostaa. Rakennettu pooli tulostetaan käynnistyksessä, mikä on luotettavampaa kuin aritmetiikan laskeminen käsin:
openvpn --config /etc/openvpn/server.conf --verb 4 --dev tun9 --port 1195Etsi poolin yhteenveto tulosteen yläosasta. Siinä luetellaan alue, jonka apuri varasi, ja jos se alue ei vastaa aikomustasi, rivin argumentit ovat väärin riippumatta siitä, mitä maskin aritmetiikka sanoo.
Yhdistä sitten yksi asiakas ja etsi rivi, joka kirjaa sille annetun osoitteen. Se yksi osoite poolin alueen vieressä kertoo, laskeutuiko asiakas varatun lohkon sisään vai jonnekin, jota et odottanut. Jos ne kaksi eivät täsmää, korjaa argumentit äläkä asiakasta. Jos ne täsmäävät eikä asiakas silti tavoita mitään, pooli ei koskaan ollut ongelma.
Lue asiakkaan maski topologia mielessä
Asiakas, joka näyttää tunnelirajapinnallaan /30:tä, ei ole todiste rikkinäisestä poolista. Pisteestä pisteeseen -osoitteistuksessa jokainen asiakas saa pienen lohkon ja sen rajapinnan maski kuvaa tuon lohkon, kun taas palvelimen pooli kattaa kokonaisuuden. Aliverkkotopologiassa asiakkaan maski sen sijaan vastaa poolin maskia. Pelkkä maski kertoo siis, mikä topologia on pelissä, ei sitä, onko pooli kirjoitettu oikein.
Tarkista määritetty topologia ja jaettu osoite yhdessä ennen johtopäätöksen tekemistä:
ip -4 addr show tun0Jos osoite on poolin sisällä ja maski on poolia kapeampi, topologia tekee tehtävänsä. Jos osoite on poolin ulkopuolella, pooli on väärin, eikä mikään asiakaspään tarkastus korjaa sitä.
Käytössä olevan poolin muuttaminen
Valitse alue, joka ei mene päällekkäin nykyisen poolin, LANin tai minkään asiakkaille jo työnnetyn reitin kanssa. Päällekkäisyys on vika, joka selviää uudelleenkäynnistyksestä ja ilmestyy päiviä myöhemmin yhtenä sivustona, joka on saavuttamaton yhdestä suunnasta.
Muuta rivi, käynnistä uudelleen ja lue käynnistyspooli uudelleen ennen kuin päästät käyttäjät takaisin. Jos uusi alue törmää johonkin, sama käynnistystuloste näyttää sen heti, ja palautus on yhden rivin muokkaus plus vielä yksi uudelleenkäynnistys.
Pidä vanha alue varattuna jonkin aikaa muutoksen jälkeen. Myöhään yhdistyvät asiakkaat voivat yhä pitää edellisen poolin osoitetta, ja uusi alue, joka käyttää näitä osoitteita uudelleen, tuottaa kaksoismäärityksiä, jotka näyttävät reititysvialta. OpenVPN 2.6 -käsikirja dokumentoi apurin argumentit ja sen laajennuksen, ja se kannattaa lukea ennen kuin olettaa, että direktiivi käyttää samaa merkintätapaa kuin naapurinsa.