Instalação do servidor radius com autenticação via ldap e entrega de vlan dinâmica por grupo de usuário do Ldap. Ambiente do laboratório Servidor radius CentOS Linux release 7.3.1611 (Core) Pacotes: Freeradius-3.0.4-7.el7_3.x86_64 Freeradius-ldap-3.0.4-7.el7_3.x86_64 Freeradius-utils-3.0.4-7.el7_3.x86_64 Cisco_EAP_Supplicant_Installer_v1.zip Access Point Aruba instant IAP 205 Switch 3Com Switch 5500G-EI 24-Port Software Clientes Samsung 4s mini Debian 8 Windows 7 home premium Instalação e configuração do radius yum install freeradius freeradius-utils freeradius-ldap Verificar se o módulo do LDAP já está ativo: [root@radius ~]# cd /etc/raddb/mods-enabled/ [root@radius mods-enabled]# ls -l ldap lrwxrwxrwx. 1 root root 22 Mar 29 09:19 ldap ->../mods-available/ldap Caso não esteja basta fazer um link simbólico. No arquivo LDAP preencha com as configurações do servidor, no meu caso ldap { server = "meuldap.unochapeco.edu.br"
port = 389 identity = "cn=manager,o=unochapeco" password = *********** base_dn = "o=unochapeco" User { base_dn = "ou=people,${..base_dn}" filter = "(uid=%{%{stripped-user-name}:-%{user-name}})" access_attribute = "uid" access_positive = yes } Group { base_dn = "${..base_dn}" filter = "(objectclass=posixgroup)" scope = 'sub' name_attribute = cn membership_filter = "( (member=%{control:ldap-userdn})(memberuid=%{%{stripped-user-name}:-%{user-name}} ))" membership_attribute = "memberof" } } No arquivo EAP modifiquei as seguintes linhas: [root@radius mods-enabled]# vi eap eap { default_eap_type = peap ttls { peap { default_eap_type = mschapv2 copy_request_to_tunnel = yes use_tunneled_reply = yes copy_request_to_tunnel = yes use_tunneled_reply = yes [root@radius mods-enabled]# vi /etc/raddb/users # entrada que faz a autenticação no ldap e compara se o grupo do usuário pertence a DTI para aplicar a vlan id 1 DEFAULT Ldap-Group == dti Reply-Message := "Hello, %{User-Name}",
Tunnel-Type = 13, Tunnel-Medium-Type = 6, Tunnel-Private-Group-Id = "1" #entrada de testes sem o LDAP para o teste do radius noc Cleartext-Password := "hello" Reply-Message := "Hello, %{User-Name}", Tunnel-Type = 13, Tunnel-Medium-Type = 6, Tunnel-Private-Group-Id = "20" Cadastrar a rede que vai ter acesso a consultar o radius [root@radius raddb]# vi /etc/raddb/clients.conf client private-network-1 { ipaddr = ip_da_rede/maskara secret = secret-do-radius } Sobre o serviço em modo de depuração [root@radius ~]# radiusd -X Se estiver tudo ok o resultado é similar a isso após as configurações Listening on auth address * port 1812 as server default Listening on acct address * port 1813 as server default Listening on auth address :: port 1812 as server default Listening on acct address :: port 1813 as server default Listening on auth address 127.0.0.1 port 18120 as server inner-tunnel Opening new proxy socket 'proxy address * port 0' Listening on proxy address * port 33985 Ready to process requests Teste de acesso do radius via linha de comando jhony@meuhost:~$ radtest usuarioteste ******* ip_do_radius 1812 secret-do-radius Vai sair algo do tipo Sending Access-Request of id 215 to 179.124.152.104 port 1812
User-Name = "usuarioteste" User-Password = "********" NAS-IP-Address = 179.124.152.15 NAS-Port = 1812 Message-Authenticator = 0x00000000000000000000000000000000 rad_recv: Access-Accept packet from host 179.124.152.104 port 1812, id=215, length=20 jhony@meuhost:~$ radtest jhony ******* ip_do_radius 1812 secret-do-radius Sending Access-Request of id 23 to 179.124.152.104 port 1812 User-Name = "jhony" User-Password = "***********" NAS-IP-Address = 179.124.152.15 NAS-Port = 1812 Message-Authenticator = 0x00000000000000000000000000000000 rad_recv: Access-Accept packet from host 179.124.152.104 port 1812, id=23, length=49 Reply-Message = "Hello, jhony" Tunnel-Type:0 = VLAN Tunnel-Medium-Type:0 = IEEE-802 Tunnel-Private-Group-Id:0 = "1" Configuração do switch Colocar a porta em modo trunk -> Link Type Taggear ela para todas as vlans -> Trunk
Configuração da instant aruba No painel principal criar um novo SSID Em vlan é necessário criar um if tunnel como o acima para cada VLAN que vai ser entregue, onde o group id corresponde a vlan.
Em Autentication server é necessário editar e cadastrar o servidor radius
Configuração dos clientes Clientes windows Para os clientes windows o drive compatível com o tipo de autenticação que o LDAP prove não é nativo mas pode ser baixado do site da microsoft. O nome do pacote é cisco eap supplicant installer https://technet.microsoft.com/pt-br/itpro/surface/enable-peap-eap-fast-and-cisco-leap-on-surface -devices https://www.microsoft.com/en-us/download/details.aspx?id=46703 Fiz o teste com a seguinte versão, Cisco_EAP_Supplicant_Installer_v1.zip Dentro do Zip estão 3 pastas, utilizei apenas a pasta CiscoEapPeap_all_components
Após a instalação é necessário configurar a conexão wifi que será utilizada.
Terminado a configuração é só conectar a rede wifi, ela deverá abrir um caixa solicitando o usuário e senha.
Clientes Debian Apenas ajustar a configuração da rede
Clientes android Basta configurar as opções avançadas da rede como a figura abaixo
Referencias https://github.com/rharmonson/richtech/wiki/centos-7-minimal-&-two-factor-authentication-usi ng-freeradius-3,-sssd-1.12,-&-google-authenticator https://commonworkspace.ru/article.php?id=38 http://www.cisco.com/c/en/us/support/docs/wireless-mobility/wireless-vlan/71683-dynamicvlan-c onfig.html E outros que não lembrei de anotar