Dúas preguntas confúndense en toda conversación sobre facturación de VPN: se se lle permitiu conectarse a este usuario e que fixo en realidade. A primeira respóndea a autenticación. A segunda require rexistros de contabilidade que comezan, actualízanse e rematan. Un inicio de sesión correcto demostra a primeira e non di nada da segunda, por iso unha configuración de autenticación RADIUS que funciona pode producir igualmente un informe de uso baleiro.

Dúas preguntas diferentes

A autenticación decide se unha conexión pode comezar, e devolve un veredicto xunto con atributos como un conxunto de enderezos ou un grupo. A contabilidade rexistra o servizo que seguiu, como unha secuencia de eventos ligados a unha sesión.

Viaxan polo mesmo protocolo e normalmente ao mesmo servidor, e exactamente por iso a xente supón que un implica o outro.

Nada nunha solicitude de acceso leva a duración da sesión, e nada nun rexistro Stop volve decidir se o usuario debería ter sido admitido. Tratalos como contratos separados fai visible o traballo de integración: un camiño necesita unha decisión, o outro necesita un ciclo de vida cun comezo, un medio e un final.

Que achegan os tres tipos de rexistro

Un rexistro Start abre unha sesión, un Interim-Update informa de actividade mentres está aberta e un Stop péchaa. Os tres levan un identificador de sesión para que o receptor poida relacionatos cun único evento de servizo.

Ese identificador é o único vínculo fiable entre eles, porque o mesmo nome de usuario pode ter varias sesións en secuencia ou en paralelo. Deseña o almacenamento arredor del e non do nome da conta.

Acusar recibo dun rexistro é algo distinto de gardalo ben. A especificación de contabilidade prohibe o acuse cando o rexistro non se puido escribir, así que unha resposta si che di que o receptor asumiu a responsabilidade. Non che di que o traballo posterior de informes, o panel ou a exportación de facturación o consumisen correctamente.

Por que o nome de usuario non é a sesión

Unha persoa conéctase desde un portátil pola mañá e desde un teléfono pola tarde, e ambas as sesións levan o mesmo nome de conta. Un Start que chega sen o seu Stop correspondente non se pode pechar buscando o nome e escollendo a fila aberta máis antiga.

Ese atallo é como os informes de uso adquiren duracións imposibles.

Manteña a identidade do servidor de acceso á rede xunto ao identificador de sesión, porque dous servidores poden asignar o mesmo valor en contextos distintos e unha fusión só polo identificador pode unir sesións non relacionadas. Cando unha sesión remata de forma brusca, a política de reconciliación ten que decidir como pechala, e esa decisión pertence ao deseño e non a unha edición manual da base de datos feita unha vez ao mes.

Onde encaixa PAM e onde non

O complemento de autenticación de OpenVPN chama ás etapas de autenticación e xestión de contas de PAM. A etapa de conta comproba a elixibilidade; o seu nome non significa contabilidade de uso, e o complemento non controla os ganchos de apertura e peche de sesión de PAM.

Algúns módulos PAM RADIUS poden enviar rexistros de contabilidade a través deses ganchos de sesión, e iso só funciona cando a aplicación os invoca realmente.

Engadir un módulo así a unha pila de autenticación non crea, por tanto, eventos de desconexión. Se necesitas o ciclo de vida completo, escolle unha integración que o posúa: un complemento ou unha compilación compatible que emita Start, Interim-Update e Stop a medida que a conexión cambia de estado. Comproba o seu estado de mantemento e o seu comportamento documentado cando o receptor non está dispoñible, porque un complemento que descarta rexistros en silencio parece idéntico a un que nunca os enviou. A especificación de contabilidade define a semántica dos rexistros que a integración debe respectar.

Unha proba de aceptación que demostra o contrato

Proba unha conexión e desconexión normais, despois unha reconexión coa mesma conta, despois un cliente que desaparece sen desconectarse.

Segue un identificador de sesión desde a súa xeración pasando polo acuse ata o almacenamento, e comproba a dirección, as unidades e a interface dos contadores. Un reconto de bytes sen etiqueta é imposible de auditar despois.

Por último, confirma que unha sesión que o servidor tivo que pechar por tempo de espera se representa dun xeito que o informe entende. Un contrato que só cobre desconexións ordenadas é un contrato que falla os días en que máis o necesitas.

Artigos relacionados