FreeRadius 3 + iODBC + Base de Dados em MS SQL Server 2008 no Ubuntu Server - Guia definitivo
Após muitas pesquisas e horas e mais horas de trabalho, consegui realizar esta junção de forma simples e funcional. São praticamente nulas as fontes de informações do FreeRadius com Microsoft, desta forma, este artigo passa a ser o guia definitivo para quem busca configurar o FreeRadius 3 com uma base de dados Microsoft SQL.
[ Hits: 19.812 ]
Por: Eduardo em 25/07/2016
/****** Object: Table [radacct] Script Date: 26.03.02 16:55:17 ******/ CREATE TABLE [radacct] ( [RadAcctId] [numeric](21, 0) IDENTITY (1, 1) NOT NULL , [AcctSessionId] [varchar] (64) DEFAULT (''), [AcctUniqueId] [varchar] (32) DEFAULT (''), [UserName] [varchar] (64) DEFAULT (''), [GroupName] [varchar] (64) DEFAULT (''), [Realm] [varchar] (64) DEFAULT (''), [NASIPAddress] [varchar] (15) DEFAULT (''), [NASPortId] [varchar] (15) NULL , [NASPortType] [varchar] (32) NULL , [AcctStartTime] [datetime] NOT NULL , [AcctStopTime] [datetime] NOT NULL , [AcctSessionTime] [bigint] NULL , [AcctAuthentic] [varchar] (32) NULL , [ConnectInfo_start] [varchar] (32) DEFAULT (null), [ConnectInfo_stop] [varchar] (32) DEFAULT (null), [AcctInputOctets] [bigint] NULL , [AcctOutputOctets] [bigint] NULL , [CalledStationId] [varchar] (30) DEFAULT (''), [CallingStationId] [varchar] (30) DEFAULT (''), [AcctTerminateCause] [varchar] (32) DEFAULT (''), [ServiceType] [varchar] (32) NULL , [FramedProtocol] [varchar] (32) NULL , [FramedIPAddress] [varchar] (15) DEFAULT (''), [XAscendSessionSvrKey] [varchar] (10) DEFAULT (null), [AcctStartDelay] [int] NULL , [AcctStopDelay] [int] NULL ) ON [PRIMARY] GO /****** Object: Table [radcheck] Script Date: 26.03.02 16:55:17 ******/ CREATE TABLE [radcheck] ( [id] [int] IDENTITY (1, 1) NOT NULL , [UserName] [varchar] (64) NOT NULL , [Attribute] [varchar] (32) NOT NULL , [Value] [varchar] (253) NOT NULL , [op] [char] (2) NULL ) ON [PRIMARY] GO /****** Object: Table [radgroupcheck] Script Date: 26.03.02 16:55:17 ******/ CREATE TABLE [radgroupcheck] ( [id] [int] IDENTITY (1, 1) NOT NULL , [GroupName] [varchar] (64) NOT NULL , [Attribute] [varchar] (32) NOT NULL , [Value] [varchar] (253) NOT NULL , [op] [char] (2) NULL ) ON [PRIMARY] GO /****** Object: Table [radgroupreply] Script Date: 26.03.02 16:55:17 ******/ CREATE TABLE [radgroupreply] ( [id] [int] IDENTITY (1, 1) NOT NULL , [GroupName] [varchar] (64) NOT NULL , [Attribute] [varchar] (32) NOT NULL , [Value] [varchar] (253) NOT NULL , [op] [char] (2) NULL , [prio] [int] NOT NULL ) ON [PRIMARY] GO /****** Object: Table [radreply] Script Date: 26.03.02 16:55:18 ******/ CREATE TABLE [radreply] ( [id] [int] IDENTITY (1, 1) NOT NULL , [UserName] [varchar] (64) NOT NULL , [Attribute] [varchar] (32) NOT NULL , [Value] [varchar] (253) NOT NULL , [op] [char] (2) NULL ) ON [PRIMARY] GO /****** Object: Table [radusergroup] Script Date: 26.03.02 16:55:18 ******/ CREATE TABLE [radusergroup] ( [id] [int] IDENTITY (1, 1) NOT NULL , [UserName] [varchar] (64) NOT NULL , [GroupName] [varchar] (64) NOT NULL, [Priority] [int] NOT NULL ) ON [PRIMARY] GO /****** Object: Table [radusergroup] Script Date: 16.04.08 19:44:11 ******/ CREATE TABLE [radpostauth] ( [id] [int] IDENTITY (1, 1) NOT NULL , [userName] [varchar] (64) NOT NULL , [pass] [varchar] (64) NOT NULL , [reply] [varchar] (32) NOT NULL , [authdate] [datetime] NOT NULL ) GO ALTER TABLE [radacct] WITH NOCHECK ADD CONSTRAINT [DF_radacct_GroupName] DEFAULT ('') FOR [GroupName], CONSTRAINT [DF_radacct_AcctSessionId] DEFAULT ('') FOR [AcctSessionId], CONSTRAINT [DF_radacct_AcctUniqueId] DEFAULT ('') FOR [AcctUniqueId], CONSTRAINT [DF_radacct_UserName] DEFAULT ('') FOR [UserName], CONSTRAINT [DF_radacct_Realm] DEFAULT ('') FOR [Realm], CONSTRAINT [DF_radacct_NASIPAddress] DEFAULT ('') FOR [NASIPAddress], CONSTRAINT [DF_radacct_NASPortId] DEFAULT (null) FOR [NASPortId], CONSTRAINT [DF_radacct_NASPortType] DEFAULT (null) FOR [NASPortType], CONSTRAINT [DF_radacct_AcctStartTime] DEFAULT ('1900-01-01 00:00:00') FOR [AcctStartTime], CONSTRAINT [DF_radacct_AcctStopTime] DEFAULT ('1900-01-01 00:00:00') FOR [AcctStopTime], CONSTRAINT [DF_radacct_AcctSessionTime] DEFAULT (null) FOR [AcctSessionTime], CONSTRAINT [DF_radacct_AcctAuthentic] DEFAULT (null) FOR [AcctAuthentic], CONSTRAINT [DF_radacct_ConnectInfo_start] DEFAULT (null) FOR [ConnectInfo_start], CONSTRAINT [DF_radacct_ConnectInfo_stop] DEFAULT (null) FOR [ConnectInfo_stop], CONSTRAINT [DF_radacct_AcctInputOctets] DEFAULT (null) FOR [AcctInputOctets], CONSTRAINT [DF_radacct_AcctOutputOctets] DEFAULT (null) FOR [AcctOutputOctets], CONSTRAINT [DF_radacct_CalledStationId] DEFAULT ('') FOR [CalledStationId], CONSTRAINT [DF_radacct_CallingStationId] DEFAULT ('') FOR [CallingStationId], CONSTRAINT [DF_radacct_AcctTerminateCause] DEFAULT ('') FOR [AcctTerminateCause], CONSTRAINT [DF_radacct_ServiceType] DEFAULT (null) FOR [ServiceType], CONSTRAINT [DF_radacct_FramedProtocol] DEFAULT (null) FOR [FramedProtocol], CONSTRAINT [DF_radacct_FramedIPAddress] DEFAULT ('') FOR [FramedIPAddress], CONSTRAINT [DF_radacct_AcctStartDelay] DEFAULT (null) FOR [AcctStartDelay], CONSTRAINT [DF_radacct_AcctStopDelay] DEFAULT (null) FOR [AcctStopDelay], CONSTRAINT [PK_radacct] PRIMARY KEY NONCLUSTERED ( [RadAcctId] ) ON [PRIMARY] GO ALTER TABLE [radcheck] WITH NOCHECK ADD CONSTRAINT [DF_radcheck_UserName] DEFAULT ('') FOR [UserName], CONSTRAINT [DF_radcheck_Attribute] DEFAULT ('') FOR [Attribute], CONSTRAINT [DF_radcheck_Value] DEFAULT ('') FOR [Value], CONSTRAINT [DF_radcheck_op] DEFAULT (null) FOR [op], CONSTRAINT [PK_radcheck] PRIMARY KEY NONCLUSTERED ( [id] ) ON [PRIMARY] GO ALTER TABLE [radgroupcheck] WITH NOCHECK ADD CONSTRAINT [DF_radgroupcheck_GroupName] DEFAULT ('') FOR [GroupName], CONSTRAINT [DF_radgroupcheck_Attribute] DEFAULT ('') FOR [Attribute], CONSTRAINT [DF_radgroupcheck_Value] DEFAULT ('') FOR [Value], CONSTRAINT [DF_radgroupcheck_op] DEFAULT (null) FOR [op], CONSTRAINT [PK_radgroupcheck] PRIMARY KEY NONCLUSTERED ( [id] ) ON [PRIMARY] GO ALTER TABLE [radgroupreply] WITH NOCHECK ADD CONSTRAINT [DF_radgroupreply_GroupName] DEFAULT ('') FOR [GroupName], CONSTRAINT [DF_radgroupreply_Attribute] DEFAULT ('') FOR [Attribute], CONSTRAINT [DF_radgroupreply_Value] DEFAULT ('') FOR [Value], CONSTRAINT [DF_radgroupreply_op] DEFAULT (null) FOR [op], CONSTRAINT [DF_radgroupreply_prio] DEFAULT (0) FOR [prio], CONSTRAINT [PK_radgroupreply] PRIMARY KEY NONCLUSTERED ( [id] ) ON [PRIMARY] GO ALTER TABLE [radreply] WITH NOCHECK ADD CONSTRAINT [DF_radreply_UserName] DEFAULT ('') FOR [UserName], CONSTRAINT [DF_radreply_Attribute] DEFAULT ('') FOR [Attribute], CONSTRAINT [DF_radreply_Value] DEFAULT ('') FOR [Value], CONSTRAINT [DF_radreply_op] DEFAULT (null) FOR [op], CONSTRAINT [PK_radreply] PRIMARY KEY NONCLUSTERED ( [id] ) ON [PRIMARY] GO ALTER TABLE [radusergroup] WITH NOCHECK ADD CONSTRAINT [DF_radusergroup_UserName] DEFAULT ('') FOR [UserName], CONSTRAINT [DF_radusergroup_GroupName] DEFAULT ('') FOR [GroupName], CONSTRAINT [DF_radusergroup_Priority] DEFAULT (0) FOR [Priority], CONSTRAINT [PK_radusergroup] PRIMARY KEY NONCLUSTERED ( [id] ) ON [PRIMARY] GO ALTER TABLE [radpostauth] WITH NOCHECK ADD CONSTRAINT [DF_radpostauth_userName] DEFAULT ('') FOR [userName], CONSTRAINT [DF_radpostauth_pass] DEFAULT ('') FOR [pass], CONSTRAINT [DF_radpostauth_reply] DEFAULT ('') FOR [reply], CONSTRAINT [DF_radpostauth_authdate] DEFAULT (getdate()) FOR [authdate], CONSTRAINT [PK_radpostauth] PRIMARY KEY NONCLUSTERED ( [id] ) ON [PRIMARY] GO CREATE INDEX [UserName] ON [radacct]([UserName]) ON [PRIMARY] GO CREATE INDEX [FramedIPAddress] ON [radacct]([FramedIPAddress]) ON [PRIMARY] GO CREATE INDEX [AcctSessionId] ON [radacct]([AcctSessionId]) ON [PRIMARY] GO CREATE UNIQUE INDEX [AcctUniqueId] ON [radacct]([AcctUniqueId]) ON [PRIMARY] GO CREATE INDEX [AcctStartTime] ON [radacct]([AcctStartTime]) ON [PRIMARY] GO CREATE INDEX [AcctStopTime] ON [radacct]([AcctStopTime]) ON [PRIMARY] GO CREATE INDEX [NASIPAddress] ON [radacct]([NASIPAddress]) ON [PRIMARY] GO CREATE INDEX [UserName] ON [radcheck]([UserName]) ON [PRIMARY] GO CREATE INDEX [GroupName] ON [radgroupcheck]([GroupName]) ON [PRIMARY] GO CREATE INDEX [GroupName] ON [radgroupreply]([GroupName]) ON [PRIMARY] GO CREATE INDEX [UserName] ON [radreply]([UserName]) ON [PRIMARY] GO CREATE INDEX [UserName] ON [radusergroup]([UserName]) ON [PRIMARY] GO INSERT INTO radcheck (UserName, Attribute, Value, op) VALUES ('sqltest','Cleartext-Password','testpwd',':=');
Criando um template customizado para o CACTI
Como configurar o NGinx em 3 passos
Nagios Core 4.0.8 com Debian 7 e Client Windows Server
Alterando o forward do SSH após conexão
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (1)
O que você está ouvindo agora? [2] (180)