Ajudant del servidor OpenVPN: xarxa més màscara, mai CIDR
L’ajudant del servidor IPv4 pren una xarxa alineada i una màscara amb punts, no un sufix CIDR. Comproveu l’abast, confirmeu el pool al registre i després canvieu la mida amb seguretat.
Una línia de servidor que barreja un sufix CIDR amb una màscara amb punts atura el dimoni abans que obri cap port. L’ajudant server per a IPv4 vol dos arguments separats: una adreça de xarxa alineada i, després, la màscara de xarxa en forma amb punts. Tota la resta d’aquesta línia és inferència, i la inferència és on fallen les mides del pool i les màscares dels clients.
Els dos arguments que accepta l’ajudant
Escriviu primer la xarxa i després la màscara, sense res enganxat a l’adreça:
server 10.72.16.0 255.255.240.0Aquesta és la forma per a un /20. La línia de sota és l’error, i falla en l’anàlisi d’opcions, no en temps d’execució:
server 10.72.16.0/20 255.255.240.0Manteniu les dues idees separades quan depureu això. La longitud de prefix i una màscara amb punts descriuen el mateix abast, però l’ajudant no accepta totes dues alhora, i una línia rebutjada produeix un error d’opcions que anomena la directiva, no l’aritmètica.
Alineeu la xarxa abans d’escriure la màscara
La primera adreça és l’adreça de xarxa del rang, no una adreça de client convenient dins seu. Per a un /20 l’abast va de 10.72.16.0 a 10.72.31.255, i només la primera és un argument de xarxa vàlid. Un /21 fa servir 255.255.248.0 i abasta de 10.72.16.0 fins a 10.72.23.255, així que la seva línia és server 10.72.16.0 255.255.248.0.
Canviar el prefix canvia l’abast i res més. No canvia quantes adreces rep un sol client, perquè això és una propietat de la topologia, no de la màscara d’aquesta línia.
Confirmeu el pool des del costat del servidor
Inicieu la instància en primer pla amb registre detallat i llegiu les línies que emet l’ajudant. El pool que ha construït s’imprimeix a l’inici, cosa més fiable que calcular l’aritmètica a mà:
openvpn --config /etc/openvpn/server.conf --verb 4 --dev tun9 --port 1195Busqueu el resum del pool a prop de la part superior de la sortida. Llista el rang que l’ajudant ha reservat, i si aquest rang no coincideix amb la vostra intenció, els arguments de la línia són incorrectes digui el que digui l’aritmètica de la màscara.
A continuació connecteu un client i trobeu la línia que registra l’adreça que se li ha lliurat. Aquesta única adreça, al costat del rang del pool, us diu si el client ha caigut dins del bloc reservat o en algun lloc que no esperàveu. Si les dues no coincideixen, corregiu els arguments i no el client. Si coincideixen i el client encara no pot arribar enlloc, el pool mai no va ser el problema.
Llegiu la màscara del client tenint en compte la topologia
Un client que mostra un /30 a la seva interfície de túnel no és prova d’un pool trencat. Amb adreçament punt a punt cada client rep un bloc petit i la màscara de la seva interfície descriu aquest bloc, mentre que el pool del servidor cobreix el conjunt. Amb una topologia de subxarxa, en canvi, la màscara del client coincideix amb la màscara del pool. La màscara sola, doncs, us diu quina topologia hi ha en joc, no si el pool s’ha escrit correctament.
Comproveu la topologia configurada i l’adreça assignada alhora abans de treure’n una conclusió:
ip -4 addr show tun0Si l’adreça és dins del pool i la màscara és més estreta que el pool, és la topologia fent la seva feina. Si l’adreça és fora del pool, el pool és incorrecte, i cap inspecció des del costat del client ho arreglarà.
Canviar un pool en funcionament
Trieu un rang que no se solapi amb el pool actual, la LAN ni cap ruta ja enviada als clients. El solapament és la fallada que sobreviu a un reinici i després, dies més tard, es manifesta com un lloc inabastable des d’una direcció.
Canvieu la línia, reinicieu i torneu a llegir el pool d’inici abans de deixar tornar els usuaris. Si el nou rang xoca amb alguna cosa, la mateixa sortida d’inici ho mostra de seguida, i tornar enrere és una edició d’una línia més un altre reinici.
Manteniu el rang antic reservat un temps després del canvi. Els clients que es reconnecten tard encara poden tenir una adreça del pool anterior, i un rang nou que reutilitzi aquestes adreces produeix assignacions duplicades que semblen una fallada d’encaminament. El manual d’OpenVPN 2.6 documenta els arguments de l’ajudant i la seva expansió, cosa que val la pena llegir abans de suposar que una directiva pren la mateixa notació que la seva veïna.