View
4.596
Download
1
Category
Preview:
Citation preview
Instalação
A instalação do Freeradius (Software Livre que contém tecnologia Radius) é relativamente fácil. Junto com ele vamos instalar o banco de dados MySQL caso não esteja instalado. Para tal o servidor no qual instalaremos o Freeradius deve estar acessando a internet.
Como usuário root execute o seguinte comando:
# apt-get install freeradius-mysql mysql-server -y
OBS: Se já estiver instalado o MySQL no Debian, execute o seguinte comando:
# apt-get install freeradius-mysql
Executados os comandos, será efetuado o download dos softwares necessários e a instalação dos mesmos.
Ao finalizar esta parte, execute o seguinte comando para verificar se o Freeradius teve sua instalação bem sucedida:
# freeradius -X
Se a instalação foi bem sucedida, aparecerá mensagem semelhante à essa:
read_config_files: reading clientsread_config_files: reading realmsThere appears to be another RADIUS server running on the authentication port 1812
Aqui finalizamos o passo de instalação. Vamos para o de configuração, que é essencial.
Configuração
A configuração é a parte essencial para o funcionamento do Freeradius, pois qualquer configuração errada fará com que ele não funcione.
Vamos começar a configuração editando o arquivo responsável pelo daemon, o radius.conf. Na instalação padrão do Debian ele fica em /etc/freeradius/.
# vi /etc/freeradius/radius.conf
Dentro de "authorize", tirar o "#" da linha sql.
Dentro do "accounting", tirar o "#" da linha sql.
Feitas as alterações, salve o arquivo e saia. Agora edite o arquivo sql.conf:
# vi /etc/freeradius/sql.conf
Nas linhas:
server = "localhost"login = "root"password = "rootpass"
coloque os dados correspondentes do banco de dados. No nosso caso ficará assim:
server = "localhost"login = "root"password = ""
Efetuadas as alterações, salve o arquivo e saia.
Precisamos agora configurar o arquivo clients.conf, que pode e será o nosso "NAS" imaginário. Na vida real pode ser qualquer aparelho que pode enviar o pedido de autenticação ao Radius.
Para editar:
# vi /etc/freeradius/clients.conf
Vamos ao final do arquivo, nele poderemos verificar vários exemplos de configuração. Colocaremos assim:
client 10.1.1.200 { secret = senhateste shortname = testesomente nastype = other}
Efetuadas as alterações, salve o arquivo e saia para o console.
Aqui termina a parte de configuração dos ".confs" do Freeradius. Agora vamos configurar o MySQL para receber as informações do Freeradius.
No console, execute os seguintes comandos:
Criar banco de dados:
# mysql -u rootmysql> CREATE DATABASE radius;mysql> quit;
Criar a estrutura do banco de dados radius:
# gunzip /usr/share/doc/freeradius/examples/db_mysql.sql.gz# mysql -u root radius < /usr/share/doc/freeradius/examples/db_mysql.sql
Se tudo correr conforme esperado, a base de dados está criada. Agora vamos adicionar alguns dados nestas tabelas de base teste. Execute as seguintes instruções:
Criar 2 usuários no grupo discado e 1 usuário no grupo bandalarga:
# mysql radius mysql> INSERT INTO usergroup(UserName, GroupName) mysql> VALUES ('usuário01', 'discado');mysql> INSERT INTO usergroup(UserName, GroupName) mysql> VALUES ('usuário02', 'discado');mysql> INSERT INTO usergroup(UserName, GroupName) mysql> VALUES ('usuário02', 'bandalarga');
Agora vamos colocar senha para eles:
mysql> INSERT INTO radcheck(UserName, Attribute, op, Value) mysql> VALUES('usuário01', 'Password', '==', 'user01');
mysql> INSERT INTO radcheck(UserName, Attribute, op, Value) mysql> VALUES('usuário02', 'Password', '==', 'user02');
mysql> INSERT INTO radcheck(UserName, Attribute, op, Value) mysql> VALUES('usuário03', 'Password', '==', 'user03');
Agora vamos criar os tipos de autenticação:
mysql> INSERT INTO radgroupcheckmysql> (GroupName,Attribute,Op, Value) mysql> VALUES('discado', 'Auth-Type', ':=', 'Local');
mysql> INSERT INTO radgroupcheckmysql> (GroupName,Attribute,Op, Value) mysql> VALUES('bandalarga', 'Auth-Type', ':=2', 'Local');
Vamos criar agora as propriedades de conexões:
mysql> INSERT INTO radgroupreplymysql> (GroupName, Attribute, Op, Value, Prio) mysql> VALUES('discado', 'Framed-Compression', mysql> ':=', 'Van-Jacobsen-TCP-IP', '');
mysql> INSERT INTO radgroupreply
mysql> (GroupName, Attribute, Op, Value, Prio) mysql> VALUES('discado', 'Framed-Protocol', ':=', mysql> 'PPP', '');
mysql> INSERT INTO radgroupreplymysql> (GroupName, Attribute, Op, Value, Prio) mysql> VALUES('discado', 'Service-Type', ':=', mysql> 'Framed-User', '');
mysql> INSERT INTO radgroupreplymysql> (GroupName, Attribute, Op, Value, Prio) mysql> VALUES('discado', 'Framed-MTU', ':=', '1500', '');
mysql> INSERT INTO radgroupreplymysql> (GroupName, Attribute, Op, Value, Prio) mysql> VALUES('bandalarga', 'Framed-Compression', mysql> ':=', 'bl-Van-Jacobsen-TCP-IP', '');
mysql> INSERT INTO radgroupreplymysql> (GroupName, Attribute, Op, Value, Prio) mysql> VALUES('bandalarga', 'Framed-Protocol', ':=', mysql> 'bl-PPP', '');
mysql> INSERT INTO radgroupreplymysql> (GroupName, Attribute, Op, Value, Prio) mysql> VALUES('bandalarga', 'Service-Type', ':=', mysql> 'bl-Framed-User', '');
mysql> INSERT INTO radgroupreplymysql> (GroupName, Attribute, Op, Value, Prio) mysql> VALUES('bandalarga', 'Framed-MTU', ':=', 'bl-1500', '');mysql> quit;
Finalizamos aqui a configuração básica do Freeradius. Agora vamos ver se tudo que foi feito acima está funcionando.
Testes
Primeiramente podemos testar se tudo está funcionando executando o comando:
# freeradius -X
Se estiver, aparecerá mensagem semelhante a essa:
read_config_files: reading clients
read_config_files: reading realmsThere appears to be another RADIUS server running on the authentication port 1812
Agora vamos efetuar o teste de autenticação. Para isso vamos usar o programa radtest, que vem junto com o Freeradius:
# radtest usuário03 user03 10.1.1.200:1812 0 senhateste
Se estiver configurado corretamente, aparecerá a seguinte resposta:
Sending Access-Request of id 74 to 10.1.1.200:1812 User-Name = "usuário03" User-Password = "user03" NAS-IP-Address = tdebian NAS-Port = 0rad_recv: Access-Accept packet from host 10.1.1.200:1812, id=74, length=20
Aqui finalizamos os testes.
Conclusão
Este manual tem instruções básicas, procurando mostrar as configurações mínimas para um funcionamento.
Pode-se encontrar informações adicionais sobre o Freeradius em: http://www.freeradius.org
http://www.vivaolinux.com.br
Recommended