Tsjinnerhelpers konfigurearje in subnet en folje it dan mei in dynamyske poel fan har eigen kar. Dat standertwearde is handich oant guon adressen bûten de tawizing bliuwe moatte, itsij reservearre foar fêste tawizings, itsij efterholden foar in takomstich segmint. De automatyske poel underdrukke en it berik sels ferklearje kostet twa rigels en ien bewuste beslissing oer hokker adressen net foar tawizing binne. De rest is operasjonele dissipline: ynventarisaasje, tapasse, ferifiearje, weromdraaie.

Dit is in feroaring oan in tsjinst dy’t draait, behannelje it dêrom as in operasjonele taak: earst ynventarisaasje, tapasse fia de normale libbenssyklus, ferifiearje mei in nije klient en hâld in weromdraai klear.

Begjin by it subnet dat jo al hawwe

Lês de hjoeddeiske tsjinnerkonfiguraasje en de adressen dy’t klanten echt hâlde. De poelferoaring hat allinnich sin tsjin dy basisline, en de basisline is net altyd wat it bestân suggerearret, om’t in beheard produkt of in konfiguraasjegenerator eigner wêze kin fan it bestân dat jo lêze.

grep -nE '^(topology|server|ifconfig-pool|max-clients|client-config-dir)' /etc/openvpn/server/lab.conf
ip -4 addr show tun0

Befêstigje de topology dy’t jildt. By subnet-topology nimt elke klient ien adres út de poel; âldere net30-indielings tawize in lyts blok per klient en de rekkenkunde is hiel oars. As de tsjinner noch op net30 is, is dizze side de ferkearde migraasjegids en sille de poelnûmers net betsjutte wat jo ferwachtsje. Kontrolearje dy rigel foardat jo adresrekkenkunde earne oars wei kopiearje.

Skriuw it eigen adres fan de tsjinner op, elke fêste tawizing yn de map mei klantkonfiguraasjes, en elk adres dêr’t in rûte of in tagongsregel fan ôfhinklik is. Dat binne de adressen dy’t bûten it dynamyske berik bliuwe moatte. Se earst opskriuwe is wat it berik in beslissing meitsje lit yn plak fan in gissing. It jout in weromdraai ek eat konkreets om werom te setten.

Foegje nopool ta en ferklearje it berik

It helperkaaiwurd akseptearret nopool, dat de subnetkonfiguraasje hâldt en de automatyske dynamyske poel underdrukt, sa’t de OpenVPN 2.6-hantlieding beskriuwt. De eksplisite rigel ifconfig-pool jout dan it ynklusive berik dat jo bedoele, en syn netmasker komt oerien mei it subnet. Beide rigels hearre by itselde tsjinnerblok, om’t in poel sûnder syn subnet gjin betsjutting hat. De folchoarder tusken harren is allinnich foar lêsberens fan belang, om’t de helper it pear útwreidet as de tsjinst begjint.

topology subnet
server 10.70.0.0 255.255.255.0 nopool
ifconfig-pool 10.70.0.50 10.70.0.120 255.255.255.0

Beide grinzen binne ynklusyf, dus it foarbyld biedt ienensantich adressen. Hâld it tsjinneradres en elke fêste tawizing bûten dat berik; in fêste tawizing dy’t binnen it dynamyske berik falt, makket in botsing dy’t fan ferbiningsfolchoarder ôfhinklik is, en dat is it minste soarte om te debuggen. Hâld in marzje tusken de reservearre set en it berik as fêste tawizings wierskynlik groeie sille.

Grutte fan it berik en tagelykheid binne aparte grinzen. Hûndert adressen betsjutte net hûndert tagelyk klanten as max-clients oars seit, en in poel grutter as de tagelykheidsgrins is normaal yn plak fan fergriemd. Wat fan belang is, is dat de twa grinzen bewust keazen wurde yn plak fan fan in standert erfd te wurden.

Hâld fêste tawizings bûten it dynamyske berik

In klientspesifike ifconfig-push is in oar meganisme as tawizing út ’e poel, en it moat parameters brûke dy’t by de aktive topology passe. Yn subnetmodus is dat ien adres en netmasker; in net30-pear oernimme om’t it yn in âld foarbyld stie, is in gongbere flater.

Tawizingsskiednis is in oanwizing, gjin gesach. In persist-bestân ûnthâldt hokker klient hokker adres hie, sadat klanten dy’t wer ferbine meastentiids deselde krije, en it reservearret gjin adressen, makket se net frij en ferfangt gjin fêste tawizing. As in beskaat apparaat altyd in beskaat adres hâlde moat, brûk dan in fêste tawizing yn plak fan op it persist-bestân te fertrouwen.

Kontrolearje dan de paden dy’t fan adressen ôfhinklik binne. In rûte dy’t nei klanten ta skood wurdt, in firewallregel dy’t in subnet talit, of in monitoarringskontrôle dy’t in beskaat host ferwachtet, kinne allegear it âlde berik oannimme. De poel feroarje sûnder se te lêzen ferpleatst de flater nei in plak dat net besibbe liket.

Tapasse fia de libbenssyklus, ferifiearje dan

Tapasse de feroaring sa’t de tsjinst normaal konfiguraasje krijt — itsij in direkte bestân plus in werstart, itsij in behearlaach dy’t it bestân wer generearret. In hânmjittige bewurking yn in generearre bestân oerlibbet oant de folgjende generaasje, en net langer. Notearje hokker meganisme it bestân besit, om’t de folgjende operator witte moat wêr’t deselde feroaring makke wurde moat. Werstart dan ien kear en lês it log foardat jo in klient útnoegje.

systemctl restart openvpn-server@lab
journalctl -u openvpn-server@lab -n 30 --no-pager
# on a fresh client
ip -4 addr show tun0

Ferbine in klient dy’t earder net ferbûn wie en befêstigje dat it adres binnen it ferklearre berik en bûten de reservearre set falt. Befêstigje dan it werompaad: de klient moat berikke wat it belied tastiet en net mear. In adres dat by it plan past mar gjin wurkjende rûte hat, is gjin slagge feroaring.

Ferbine wer in klient dy’t in adres út it âlde berik hie. Hy moat in adres út it nije berik krije, en elke tastân op sesjenivo dy’t oan it âlde adres bûn is, moat fuort wêze. As er it âlde adres hâldt, tawizet eat oars it en is de poel net de eigner dy’t jo tinke.

In berikferoaring weromdraaie

Hâld de foarige trije rigels yn jo feroaringsrecord, net allinnich it foarige bestân. Se weromsette en werstarte bringt tawizing werom nei it âlde gedrach, en klanten dy’t dêrnei wer ferbine, krije adressen dêrút.

Twa warskôgings hearre yn it record. Klanten dy’t al ferbûn binne as jo weromdraaie, hâlde har hjoeddeiske adressen oant se wer ferbine, dus in weromdraai is net daliks oer de hiele float. En as it âlde berik in fêste tawizing oerlaap, set it weromsetten dêrfan ek de botsing werom; krekt dy oerlaap wie de reden foar de feroaring, en it freget in oare oplossing as in weromdraai.

In poelferoaring is klear as in nije klient in adres binnen it berik krijt, in reservearre adres nea útjûn wurdt, en de rûtes en regels dy’t dy adressen brûke har noch altyd gedrage sa’t bedoeld is. Alles minder lit de folgjende persoan ûntdekke hokker fan de trije net wier is.

Relatearre artikelen