Dinaminiai klientai prisijungia ir maršrutizavimas veikia gerai, tačiau vienintelis klientas su fiksuotu adresu visiškai nepasiekia serverio. Užkardoje niekas nepasikeitė, o CCD eilutė atrodo įtikinamai. Įprasta priežastis yra antrasis argumentas, parašytas kitai TUN topologijai nei ta, kurią vykdo serveris. Gedimas tylus: klientas pakyla su adresu ir serveris priima ryšį, bet srautas nepereina.

net30 atveju tas laukas yra partnerio adresas; subnet atveju tai tinklo kaukė. Abi formos yra alternatyvos, niekada ne seka.

Abi formos, greta

Tradiciniame net30 diegime kiekvienas klientas turi /30 bloką: tinklo adresą, du naudojamus adresus ir transliavimo adresą. ifconfig-push ima kliento adresą ir partnerio adresą, o partneris yra kitas naudojamas adresas tame pačiame bloke, kurį naudoja taško-tašką ryšio serverio pusė.

# net30: client address and its peer
ifconfig-push 10.99.0.6 10.99.0.5
# topology subnet: client address and the pool netmask
ifconfig-push 10.99.0.20 255.255.255.0

Pagal topology subnet klientas dalijasi vienu subnet su serveriu, ir ta pati direktyva ima adresą ir tinklo kaukę. Serverio adresas ateina iš server direktyvos, o ne iš antrojo lauko. Formų maišymas sukuria klientą, kuris mano esąs taško-tašką ryšyje, o serveris maršrutizuoja jį kaip subnet mazgą, arba atvirkščiai. Štai kodėl tinklo kaukės niekada negalima poruoti su net30.

Abi bloko eilutės yra atskiros CCD failo eilutės. Kiekvienas klientas gauna tiksliai vieną iš jų.

Perskaitykite topologiją, kurią serveris iš tikrųjų vykdo

Skaitėkite veikiančią konfigūraciją, o ne paketo numatytąją, nes topologija galėjo būti nustatyta prieš metus ir nukopijuota į priekį. Ieškokite topology subnet arba jo nebuvimo, tada patikrinkite, kaip server eilutė paskirsto adresus. Konfigūracija, kuri niekada nemini topologijos, nėra tokia pati kaip ta, kuri nustato subnet.

Tada perskaitykite kliento gautus nustatymus. Jo nurodomas adresas, kaukė ir partneris pasako, kokį aiškinimą serveris pritaikė.

Laikykite fiksuotą adresą už dinaminio telkinio ribų

Fiksuotas adresas turi būti už dinaminio telkinio ribų, kitaip dviems klientams gali būti duotas tas pats adresas. Su subnet topologija nopool server eilutėje slopina automatinį telkinį, o aiškus ifconfig-pool diapazonas nustato, ką gauna dinaminiai klientai.

dev tun
topology subnet
server 10.99.0.0 255.255.255.0 nopool
ifconfig-pool 10.99.0.100 10.99.0.210 255.255.255.0
client-config-dir /etc/openvpn/ccd

Serveris pasiima 10.99.0.1 sau, o fiksuotas kliento adresas yra už telkinio diapazono. CCD failas pavadinamas pagal efektyvią kliento tapatybę, o ne pagal profilio failo pavadinimą, ir neturi papildomo plėtinio. Jei username-as-common-name aktyvus, autentifikuotas vartotojo vardas yra tapatybė, kurią reikia suderinti. Du įrenginiai, kurie dalijasi viena tapatybe, dalinsis ir fiksuotu adresu, o tai yra politikos, o ne maršrutizavimo problema.

Patikrinkite priskyrimą, kurį klientas iš tikrųjų gavo

Prijunkite numatytą klientą iš naujo ir patvirtinkite, kuris CCD failas buvo pasirinktas, prieš tikrindami ką nors kita. Tada patikrinkite adresą, kaukę ar partnerį ir maršrutą atgal į serverį. Klientas, rodantis partnerio adresą subnet diegime, vis dar naudoja neteisingą formą.

Topologijos keitimas paveikia kiekvieną klientą ir kiekvieną perrašymą, todėl traktuokite tai kaip migraciją, o ne vieno kliento taisymą. Statinės eilutės pataisymas, kad atitiktų jau naudojamą topologiją, paprastai yra mažesnis pakeitimas. server-options nuoroda dokumentuoja pagalbinę priemonę ir klientui būdingus perrašymus.

Susiję straipsniai