Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    [Resolvido] Captive Portal com FreeRadius Autenticando em Openldap

    Scheduled Pinned Locked Moved Portuguese
    36 Posts 4 Posters 10.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      gilmarcabral
      last edited by

      Bom dia.
      Talvez alguem possa me dar uma luz do que possa ser.
      Tenho que fazer o captive portal utilizar a base de usuarios do freeradius que esta autenticando em base openldap.
      O problema que quando uma maquina estação clica no navegador vejo a tela de autenicação do captive portal pedindo usuário. Informo o usuario e senha ai aparece uma outra tela de autenticação do captive portal informando que o servidor Radiuns não responde.
      A mensagem é esta abaixo.
      Error sending request: No valid RADIUS responses received.
      radiuns2.png
      radiuns2.png_thumb
      radiuns1.png
      radiuns1.png_thumb

      1 Reply Last reply Reply Quote 0
      • G
        gilmarcabral
        last edited by

        Completando.
        Rodei o comando radiusd -X no modo terminal e notei que ele traz a seguinte mensagem de falha

        listen {
        type = "auth"
        ipaddr = 10.9.9.5
        port = 1812
        Failed binding to authentication address 10.9.9.5 port 1812: Address already in use
        /usr/local/etc/raddb/radiusd.conf[36]: Error binding to port for 10.9.9.5 port 1812

        1 Reply Last reply Reply Quote 0
        • N
          Nachtfalke
          last edited by

          @gilmarcabral:

          Completando.
          Rodei o comando radiusd -X no modo terminal e notei que ele traz a seguinte mensagem de falha

          listen {
          type = "auth"
          ipaddr = 10.9.9.5
          port = 1812
          Failed binding to authentication address 10.9.9.5 port 1812: Address already in use
          /usr/local/etc/raddb/radiusd.conf[36]: Error binding to port for 10.9.9.5 port 1812

          First stop freeradius service on GUI
          or

          kilall -9 radiusd
          

          Second

          radiusd -X
          
          1 Reply Last reply Reply Quote 0
          • G
            gilmarcabral
            last edited by

            Fiz conforme você me informou.

            radiusd: #### Opening IP addresses and Ports ####
            listen {
            type = "auth"
            ipaddr = 10.9.9.5
            port = 1812
            }
            Listening on authentication address 10.9.9.5 port 1812
            Listening on proxy address 10.9.9.5 port 1814
            Ready to process requests.

            1 Reply Last reply Reply Quote 0
            • G
              gilmarcabral
              last edited by

              Ready to process requests.
              Ignoring request to authentication address 10.9.9.5 port 1812 from unknown client 10.9.9.5 port 12874
              Ready to process requests.
              Ignoring request to authentication address 10.9.9.5 port 1812 from unknown client 10.9.9.5 port 12874
              Ready to process requests.
              Ignoring request to authentication address 10.9.9.5 port 1812 from unknown client 10.9.9.5 port 61689
              Ready to process requests.
              Ignoring request to authentication address 10.9.9.5 port 1812 from unknown client 10.9.9.5 port 61689
              Ready to process requests.

              Quando tento logar apresenta esta mensagem no terminal

              1 Reply Last reply Reply Quote 0
              • N
                Nachtfalke
                last edited by

                The IP 10.9.9.5 is not in your "NAS/Clients" on freeradius.
                Add IP 10.9.9.5 in "NAS/Clients" with correct password.

                1 Reply Last reply Reply Quote 0
                • G
                  gilmarcabral
                  last edited by

                  Agora estou recebendo esta mensagem abaixo.
                  rad_recv: Access-Request packet from host 10.9.9.5 port 33478, id=34, length=135
                  NAS-IP-Address = 10.9.9.5
                  NAS-Identifier = "murici.agrovale.com.br"
                  User-Name = "gilmar_20601"
                  User-Password = "\215:\177\024K\374\343\273\342\004\026\345F\021\351\245"
                  Service-Type = Login-User
                  NAS-Port-Type = Ethernet
                  NAS-Port = 10
                  Framed-IP-Address = 10.9.9.10
                  Called-Station-Id = "10.9.9.5"
                  Calling-Station-Id = "00:1b:24:fb:6c:d7"

                  Executing section authorize from file /usr/local/etc/raddb/sites-enabled/default

                  +- entering group authorize {…}
                  ++[preprocess] returns ok
                  ++[chap] returns noop
                  ++[mschap] returns noop
                  ++[digest] returns noop
                  [suffix] No '@' in User-Name = "gilmar_20601", skipping NULL due to config.
                  ++[suffix] returns noop
                  [ntdomain] No '' in User-Name = "gilmar_20601", skipping NULL due to config.
                  ++[ntdomain] returns noop
                  [eap] No EAP-Message, not doing EAP
                  ++[eap] returns noop
                  ++[files] returns noop
                  ++- entering policy redundant {…}
                  [ldap] performing user authorization for gilmar_20601
                  [ldap] expand: %{Stripped-User-Name} ->
                  [ldap] … expanding second conditional
                  [ldap] expand: %{User-Name} -> gilmar_20601
                  [ldap] expand: (uid=%{%{Stripped-User-Name}:-%{User-Name}}) -> (uid=gilmar_20601)
                  [ldap] expand: dc=agrovale,dc=com,dc=br -> dc=agrovale,dc=com,dc=br
                    [ldap] ldap_get_conn: Checking Id: 0
                    [ldap] ldap_get_conn: Got Id: 0
                    [ldap] performing search in dc=agrovale,dc=com,dc=br, with filter (uid=gilmar_20601)
                  [ldap] looking for check items in directory…
                    [ldap] userPassword -> Password-With-Header == "{SSHA}9/jyPvDceGSRIDfPgPJvujVp2AVIUTRN"
                    [ldap] sambaNtPassword -> NT-Password == 0x3731333730413042323636453441443241303139383836323034303139353944
                    [ldap] sambaLmPassword -> LM-Password == 0x3933363541454439384337303434443632354144334238334641363632374337
                  [ldap] looking for reply items in directory…
                  [ldap] Setting Auth-Type = LDAP
                  [ldap] user gilmar_20601 authorized to use remote access
                    [ldap] ldap_release_conn: Release Id: 0
                  +++[ldap] returns ok
                  ++- policy redundant returns ok
                  rlm_counter: Entering module authorize code
                  rlm_counter: Could not find Check item value pair
                  ++[daily] returns noop
                  rlm_counter: Entering module authorize code
                  rlm_counter: Could not find Check item value pair
                  ++[weekly] returns noop
                  rlm_counter: Entering module authorize code
                  rlm_counter: Could not find Check item value pair
                  ++[monthly] returns noop
                  rlm_counter: Entering module authorize code
                  rlm_counter: Could not find Check item value pair
                  ++[forever] returns noop
                  rlm_checkval: Item Name: Calling-Station-Id, Value: 00:1b:24:fb:6c:d7
                  rlm_checkval: Could not find attribute named Calling-Station-Id in check pairs
                  ++[checkval] returns notfound
                  ++[expiration] returns noop
                  ++[logintime] returns noop
                  [pap] Normalizing NT-Password from hex encoding
                  [pap] Normalizing LM-Password from hex encoding
                  [pap] Normalizing SSHA1-Password from base64 encoding
                  [pap] WARNING: Auth-Type already set.  Not setting to PAP
                  ++[pap] returns noop
                  Found Auth-Type = LDAP

                  Executing group from file /usr/local/etc/raddb/sites-enabled/default

                  +- entering group LDAP {…}
                  [ldap] login attempt by "gilmar_20601" with password "?:?K����??�F?��"
                  [ldap] user DN: uid=gilmar_20601,ou=Usuarios,dc=agrovale,dc=com,dc=br
                    [ldap] (re)connect to 192.168.1.39:389, authentication 1
                    [ldap] setting TLS CACert File to /usr/local/etc/raddb/certs/ca_ldap1_cert.pem
                    [ldap] setting TLS CACert Directory to /usr/local/etc/raddb/certs/
                    [ldap] setting TLS Require Cert to never
                    [ldap] setting TLS Cert File to /usr/local/etc/raddb/certs/radius_ldap1_cert.crt
                    [ldap] setting TLS Key File to /usr/local/etc/raddb/certs/radius_ldap1_cert.key
                    [ldap] setting TLS Key File to /usr/local/etc/raddb/certs/random
                    [ldap] bind as uid=gilmar_20601,ou=Usuarios,dc=agrovale,dc=com,dc=br/?:?K����??�F?�� to 192.168.1.39:389
                    [ldap] waiting for bind result …
                    [ldap] Bind failed with invalid credentials
                  ++[ldap] returns reject
                  Failed to authenticate the user.
                  expand:  ->
                  Login incorrect (  [ldap] Bind as user failed): [gilmar_20601] (from client pfsense port 10 cli 00:1b:24:fb:6c:d7)
                    WARNING: Unprintable characters in the password.  Double-check the shared secret on the server and the NAS!
                  Using Post-Auth-Type Reject

                  Executing group from file /usr/local/etc/raddb/sites-enabled/default

                  +- entering group REJECT {…}
                  [attr_filter.access_reject] expand: %{User-Name} -> gilmar_20601
                  attr_filter: Matched entry DEFAULT at line 11
                  ++[attr_filter.access_reject] returns updated
                  Delaying reject of request 2 for 1 seconds
                  Going to the next request
                  Waking up in 0.9 seconds.
                  Sending delayed reject for request 2
                  Sending Access-Reject of id 34 to 10.9.9.5 port 33478
                  Waking up in 4.9 seconds.
                  rad_recv: Access-Request packet from host 10.9.9.5 port 33478, id=34, length=135
                  Sending duplicate reply to client pfsense port 33478 - ID: 34
                  Sending Access-Reject of id 34 to 10.9.9.5 port 33478
                  Waking up in 4.9 seconds.
                  Cleaning up request 2 ID 34 with timestamp +113
                  Ready to process requests.

                  1 Reply Last reply Reply Quote 0
                  • G
                    gilmarcabral
                    last edited by

                    Descobri o motivo deste erro.
                    Era porque tava faltando a senha de autenticação do captive portal autenticar no freeradiuns.
                    Agora esta validando porem quando valida o usuario e grupo ai não ta navegando na internet.
                    Da pagina não pode ser exibida.

                    1 Reply Last reply Reply Quote 0
                    • N
                      Nachtfalke
                      last edited by

                      The hosts must use pfsense DNS Forwarder as DNS server or CP will not work/redirect.

                      1 Reply Last reply Reply Quote 0
                      • G
                        gilmarcabral
                        last edited by

                        Tenho um servidor bind interno como cache na rede lan.
                        O host atras da rede wireless esta setado para usar o servidor dns que esta na rede lan em ambiente debian com bind.
                        Este host atras da rede wireless pinga em todas maquinas da lan.
                        Penso que o problema não seja acesso ao dns.

                        1 Reply Last reply Reply Quote 0
                        • G
                          gilmarcabral
                          last edited by

                          Surgiu uma duvida comigo.
                          O Captive Portal com FreeRadius não deixa o acesso bloqueado ate que o usuário consiga fazer autenticação via navegador?
                          Testei aqui e notei que se eu não fizer autenticação e tentar acessar o ambiente de rede que esta na lan eu consigo.
                          Para mim o captive portal com freeradius só deixava isso ocorrer caso tive-se sucesso no login.
                          Agradeço novamente

                          1 Reply Last reply Reply Quote 0
                          • marcellocM
                            marcelloc
                            last edited by

                            @gilmarcabral:

                            Testei aqui e notei que se eu não fizer autenticação e tentar acessar o ambiente de rede que esta na lan eu consigo.

                            veja em que regras do ipfw o trafego está autorizado.

                            ipfw show e ipfw zero via console/ssh podem ajudar no diagnostico.

                            Treinamentos de Elite: http://sys-squad.com

                            Help a community developer! ;D

                            1 Reply Last reply Reply Quote 0
                            • G
                              gilmarcabral
                              last edited by

                              Descobri o motivo.
                              E devido que após a autenticação no captive portal ele fica disponivel ate 30 minutos de inativididade para depois expirar a conexão.
                              Ai como tavo logando e depois fechando o captive portal a conexão irá ficar valendo ate 30 minutos.
                              Então diminiu este tempo
                              Mas agora após a validadeção do captive portal ele passa mas não consigo navegar na web da como pagina não pode ser exibida.
                              Estou utilizando o captive portal + freeradiuns + Proxy autenticado squid (squidGuard) + bind em servidor debian.
                              Obs. na reda lan eu estou usando o squid + squidguard e a regra para a interface wireless esta any para tudo.
                              Agradeço

                              1 Reply Last reply Reply Quote 0
                              • G
                                gilmarcabral
                                last edited by

                                Eu utilizo proxy autenticado com o squidguard.
                                O problema que esta ocorrendo que quando abro o navegador ele não aparece a tela de login do captive portal, mas se eu for no navegador e digitar o IP + porta 8080 ele aparece a tela de login.
                                Estou com o ip do proxy setado nas configurações do navegador pois utilizo proxy autenticado.
                                Testei sem o proxy setado e acontece a mesma coisa.

                                1 Reply Last reply Reply Quote 0
                                • N
                                  nofault
                                  last edited by

                                  existe uma opção no squid para caso voce utilize captive portal junto , habilite essa opção

                                  1 Reply Last reply Reply Quote 0
                                  • G
                                    gilmarcabral
                                    last edited by

                                    Isso mesmo.
                                    Estava habilitado, então desabilitei novamente e habilitei e deu certo.
                                    Porem agora estou com um outro problema.
                                    Tenho um atalho para o sistema, este funciona pelo navegador então tenho um atalho na area de trabalho apontando para este endereço que e: http://192.168.1.32/sief ou http://sief.agrovale.com.br/sief.
                                    Pois bem quando o usuario autenticar no captive portal o mesmo direciona para o squidGuard Autenticado porem ele da um erro conforme a imagem anexo.
                                    Parece que o problema esta na barra após o endereço.

                                    imagem_captive_portal.JPG
                                    imagem_captive_portal.JPG_thumb

                                    1 Reply Last reply Reply Quote 0
                                    • marcellocM
                                      marcelloc
                                      last edited by

                                      você tem alguma outra regra de reescrita de url? a imagem de erro parece mostrar o ip interno colado no nome da pasta sief.

                                      Treinamentos de Elite: http://sys-squad.com

                                      Help a community developer! ;D

                                      1 Reply Last reply Reply Quote 0
                                      • G
                                        gilmarcabral
                                        last edited by

                                        Estou achando estranho na imagem a ultima mensagem:
                                        URL: http://192.168.1.32sief/

                                        Sendo que meu link esta assim: 192.168.1.32/sief.
                                        Parece que ele ta comendo a barra /.

                                        1 Reply Last reply Reply Quote 0
                                        • marcellocM
                                          marcelloc
                                          last edited by

                                          Pois é, mas na URL do screenshot esta OK.

                                          Você não consegue deixar o acesso interno sem proxy via wpad ou gpo?

                                          Treinamentos de Elite: http://sys-squad.com

                                          Help a community developer! ;D

                                          1 Reply Last reply Reply Quote 0
                                          • G
                                            gilmarcabral
                                            last edited by

                                            Bom dia.
                                            Obrigado.
                                            Sobre a URL, ele não deveria ter uma barra depois do ip?
                                            Da maneira que ele esta apresentando ai esta emendado o IP + o nome do sistema.

                                            Sobre o proxy posso tentar via wpad pois sem proxy não da certo pois utilizo proxy autenticado com o squidguard.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.