Statične adrese OpenVPN klijenata iza OPNsense
Datoteka pool čini adresu ljepljivom, ne trajnom. Prikvačite adrese klijenata override postavkama, proširite raspon tunela za aritmetiku /30, zatim ih objavite.
Imena trebaju adrese koje se ne pomiču, a datoteka pool OpenVPN-a samo čini adresu ljepljivom. Izgubite tu datoteku ili ponovno izdajte certifikat pod drugim zajedničkim imenom, i klijent koji se vraća sletjet će negdje drugdje u poolu, dok njegov DNS zapis još uvijek pokazuje na staru adresu. Trajan odgovor je override specifičan za klijenta koji prikvačuje adresu, uz širu mrežu tunela kako bi prikvačene adrese stajale izvan dinamičkog raspona. Aritmetika iza tog proširenja je mjesto gdje živi većina zabune.
OPNsense drži te override postavke u postavkama poslužitelja specifičnima za klijenta, s ključem zajedničkog imena certifikata, što zajedničko ime čini dijelom plana adresa.
Ljepljiv najam nije statična adresa
Datoteka pool zapisuje preslikavanja adrese na klijenta i vraća ih kada se poznati klijent ponovno poveže. To je pogodnost, a ne ugovor: datoteka se može ponovno generirati, preslikavanje nestaje kada se identitet klijenta promijeni, a dva poslužitelja koja dijele pool neće se složiti o tome. Override specifičan za klijenta radi drukčije, jer adresa dolazi iz konfiguracije, a ne iz povijesti. Također preživljava ponovno pokretanje i ponovnu instalaciju uređaja, pod uvjetom da je override sigurnosno kopiran s ostatkom konfiguracije.
Dinamička alternativa, spajanje VPN-a s DNS-om pomoću client-connect skripte i dinamičkih ažuriranja, radi i zahtijeva resolver koji prihvaća ažuriranja, plus skriptu pri svakom spajanju. Na uređaju ste ograničeni na pakete koje isporučuje dobavljač, i obično se tu taj plan zaustavlja.
Aritmetika /30 u kojoj nitko ne uživa
U zadanoj topologiji net30 svaki klijent dobiva svoj /30: prva iskoristiva adresa ide na stranu poslužitelja, druga klijentu. Override postavke stoga moraju stajati izvan dinamičke mreže tunela poslužitelja, što znači prvo proširiti tu mrežu. Poslužitelj na 10.8.0.0/24 može prijeći na 10.8.0.0/23, ostavljajući pola starog raspona dinamičkim klijentima, a drugu polovicu override postavkama. Dodajte izvorni /24 kao dodatnu lokalnu mrežu IPv4 kako bi promet prema objema polovicama išao u tunel.
Svaka override adresa mora pasti na granicu /30, pa je zadnji oktet višekratnik četiri. /30 na 10.8.1.0 daje klijentu 10.8.1.2, i to je adresa koju nosi DNS zapis. Odabir 10.8.1.3 umjesto toga daje klijenta koji se povezuje i ne može propuštati promet, jer adresa pripada podmreži koju mu topologija nikada nije dodijelila.
Plan je lakše održavati ako se override adrese dodjeljuju od vrha proširenog raspona prema dolje, tako da se dinamički pool širi u slobodan prostor, a ne oko fiksnih otoka.
Lokalne mreže i zona koju klijenti pitaju
Promet između klijenata treba vlastito dopuštenje. Popis lokalnih mreža IPv4 poslužitelja mora uključivati obje polovice raspona, dinamičku i statičku; bez toga poslužitelj prima paket od jednog klijenta i nema pravilo koje dopušta prijenos prema drugome. Simptom izgleda kao kvar DNS-a, jer se ime razrješava, a veza ipak ne uspijeva. Istodobno provjerite i postavku komunikacije među klijentima, jer sam zapis lokalne mreže ne uključuje prosljeđivanje između ravnopravnih čvorova.
Objavite zapise u zoni koju udaljeni klijenti stvarno pitaju. Zapis u zoni koju poslužuje samo resolver na LAN-u nevidljiv je klijentu čiji gurnuti resolver pokazuje negdje drugdje, a dodavanje više zapisa u pogrešnu zonu to nikada ne popravlja. Prije nego išta dodate, potvrdite gurnutu DNS opciju i domenu pretraživanja.
Što provjeriti na novoj vezi
Ponovno povežite klijenta i potvrdite da se dodijeljena adresa slaže s njegovim overrideom prije nego isprobate bilo što drugo. Zatim razriješite ime s drugog klijenta i spojite se na uslugu po imenu, što zajedno ispituje DNS zapis, rutu i vatrozid. Potvrdite povratni put na strani poslužitelja, jer ime koje se razrješava dok usluga ostaje nedostupna problem je usmjeravanja ili pravila, a ne imenovanja. Držite tablicu override adresa uz popis certifikata kako bi se oboje pregledavalo zajedno.
Certifikat ponovno izdan pod drugim zajedničkim imenom prestaje se slagati sa svojim overrideom i vraća klijenta u dinamički pool. Očekujte to nakon svake promjene identiteta.