Radius Pppoe e Mysql, Parâmetros. Resolvido
Boa Tarde Under's.
Queria uma ajuda pessoal para uma questão de autenticação, entre o PPPoE e o Radius.
Vamos ao meu cenário.
Dslan---> PPPoe+Radius+Mysql.(Freebsd).
Preciso que o PPPoE repasse o parâmetro Vendor Tag: Circuit-Id para o RADCHECK.
Ja executei todos os testes possíveis com tcpdump, wireshark, a informação são repassadas ao PPPoE, porém não consegui encontrar, executando o Radius em modo debug não encontrei a informação.
Não existe um dicionário específico para meu equipamento de Dslan.
Abaixo o exemplo(um pedaço) do pacote recebido pelo PPPoE:
PPPoE Tags:
Vendor id: 3561
Vendor Specific PPPoE Tags
Circuit ID: PPO-AR01-8-24
Actual Data Rate UpStream: 30046000
Actual Data Rate DownStream: 5008800
Preciso coletar no Radius a informação da porta ou seja :
Circuit ID: PPO-AR01-8-24
Att
re: Radius Pppoe e Mysql, Parâmetros. Resolvido
Você deve criar um dicionário com os parâmetros específicos de sua dslan e editar as configurações do FreeRadius(supondo que uses este) com esse dicionário.
Podes pegar como modelo o dicionário para usar com RouterOS da Mikrotik.
re: Radius Pppoe e Mysql, Parâmetros. Resolvido
voce precisa desta parametro na tabela de accouting ? é isso ?
re: Radius Pppoe e Mysql, Parâmetros. Resolvido
Citação:
Postado originalmente por
alexandrecorrea
voce precisa desta parametro na tabela de accouting ? é isso ?
Bom Dia, na realidade eu preciso que ele seja incluído na tabela que recebe os dados inicialmente (radacct), e seja comparado o dado com a radcheck, junto com a password.
A informação e Circuit ID: PPO-AR01-8-24
Mas como Bjaraujo citou, acredito que preciso criar um dicionário mesmo.
existe dicionários que tem o Agente-circuit-Id, que por teoria coletaria. Estou certo ou preciso criar um dicionário especifico para meu equipamento que é Zhone.
Att
re: Radius Pppoe e Mysql, Parâmetros. Resolvido
la vai
o dicionario
ex: /usr/local/share/freeradius/dictionary.dslan
ATTRIBUTE Client-Id 100 string
no radreplay
+----+-------------------+-----------------------+----+----------------+
| id | username attribute | op | value |
+----+-------------------+-----------------------+----+----------------+
| ? | usuario | Circuit ID |:= | PPO-AR01-8-24
+----+-------------------+-----------------------+----+----------------+
vc tera que alimentar o radreplay com o que o radius vai retornar
re: Radius Pppoe e Mysql, Parâmetros. Resolvido
Citação:
Postado originalmente por
Bruno
la vai
o dicionario
ex: /usr/local/share/freeradius/dictionary.dslan
ATTRIBUTE Client-Id 100 string
no radreplay
+----+-------------------+-----------------------+----+----------------+
| id | username attribute | op | value |
+----+-------------------+-----------------------+----+----------------+
| ? | usuario | Circuit ID |:= | PPO-AR01-8-24
+----+-------------------+-----------------------+----+----------------+
vc tera que alimentar o radreplay com o que o radius vai retornar
Bruno não consigo entender o porque que devo alimentar o radreply, sendo que essa informação o Circuit-ID e uma informação passada pelo meu Dslan, informando em que porta esta o Modem do cliente, sendo que a mesma devera ser comparada com a Radcheck.
exemplo:
O modem envia o user, senha e mac, essas informações são comparadas com as informações gravadas na radcheck, então teoricamente o circuit-id devera ser gravado no radcheck, ou estou enganado?
Att
Eder
re: Radius Pppoe e Mysql, Parâmetros. Resolvido
o circuit ID esta sendo 'entregue' ao radius, correto ?
voce pode então alterar o sql.conf na consulta de autenticação, comparando também o Circuit-ID
re: Radius Pppoe e Mysql, Parâmetros. Resolvido
Citação:
Postado originalmente por
alexandrecorrea
o circuit ID esta sendo 'entregue' ao radius, correto ?
voce pode então alterar o sql.conf na consulta de autenticação, comparando também o Circuit-ID
Bom Dia Alexandre, teoricamente esta o pacote e encaminhando pelo PPPoE, ai que esta o grande problema eu não estou conseguindo encontra o parâmetro correto.
usando o WireShark ou tcpdump, eu pego a seguintes informações chegando ao PPPoE.
PPPoE Tags:
Vendor id: 3561
Vendor Specific PPPoE Tags
Circuit ID: PPO-AR01-8-24
Actual Data Rate UpStream: 30046000
Actual Data Rate DownStream: 5008800
A única nesse primeiro momento que interessa e a Circuit ID.
Ele recebe do modem(pppoe) essas informações
rad_recv: Access-Request packet from host 192.168.2.1:22670, id=55, length=132
User-Name = "teste14"
Service-Type = Framed-User
Framed-Protocol = PPP
CHAP-Password = 0x01df79e8a9375fa1864f08d8919cde4d18
CHAP-Challenge = 0x33363134393339373833313135383037
NAS-IP-Address = 177.xx.xxx.xxx
NAS-Identifier = "Rtl.ccc.com.br"
Calling-Station-Id = "f4:ec:38:f9:1f:2c"
NAS-Port-Type = Ethernet
NAS-Port = 2976
Processing the authorize section of radiusd.conf
depois de logado ele informa essas
rad_recv: Accounting-Request packet from host 192.168.2.1:59906, id=81, length=187
User-Name = "teste14"
Service-Type = Framed-User
Framed-Protocol = PPP
Framed-IP-Address = 192.168.2.74
Framed-IP-Netmask = 0.0.0.0
Calling-Station-Id = "f4:ec:38:f9:1f:2c"
NAS-IP-Address = 177.xx.xxx.xxx
NAS-Identifier = "Rtl.ccc.com.br"
NAS-Port-Type = Ethernet
NAS-Port = 2975
Acct-Status-Type = Stop
Acct-Session-Id = "8461-teste141352155809"
Acct-Delay-Time = 0
Acct-Input-Octets = 0
Acct-Input-Gigawords = 0
Acct-Input-Packets = 0
Acct-Output-Octets = 0
Acct-Output-Gigawords = 0
Acct-Output-Packets = 0
Acct-Session-Time = 120
Processing the accounting section of radiusd.conf
modcall: entering group accounting for request 2
radius_xlat: 'teste14'
Existe alguma verificação alem das citadas acima e do radiusd -X para encontrar essa informação no Radius?
re: Radius Pppoe e Mysql, Parâmetros. Resolvido
no dicionario tem esse parametro la ?
se nao tiver o parametro do dicionario, provavelmente ele ignora e nao passa
re: Radius Pppoe e Mysql, Parâmetros. Resolvido
Sim existe o parâmetro la, tanto que fui criar um especifico para o Zhone, e ele me retornou o seguinte erro quando iniciei o serviço:
Mon Nov 5 21:28:43 2012 : Error: Errors reading dictionary: dict_init: /usr/local/share/freeradius/dictionary.Zhone[6]: dict_addattr: Duplicate attribute name Client-Id
re: Radius Pppoe e Mysql, Parâmetros. Resolvido
neste caso..
o seu concentrador nao esta enviando o Client-ID
dei uma pesquisada aqui.. vi que em dslam cisco, precisa colocar um parametro na conf para que ele envie esse parametro... talvez este seja o seu caso tambem...
qual dslam vc esta usando ? (a proposito, tenho 200 modens adsl pra vender, novos na caixa com nota)
re: Radius Pppoe e Mysql, Parâmetros. Resolvido
Citação:
Postado originalmente por
alexandrecorrea
neste caso..
o seu concentrador nao esta enviando o Client-ID
dei uma pesquisada aqui.. vi que em dslam cisco, precisa colocar um parametro na conf para que ele envie esse parametro... talvez este seja o seu caso tambem...
qual dslam vc esta usando ? (a proposito, tenho 200 modens adsl pra vender, novos na caixa com nota)
Sim ele esta enviando, essa informação abaixo e coletada no servidor PPPoE que o Dslan envia para ele:
PPPoE Tags:
Vendor id: 3561
Vendor Specific PPPoE Tags
Circuit ID: PPO-AR01-8-24
Actual Data Rate UpStream: 30046000
Actual Data Rate DownStream: 5008800
eu fiz a configuração no Dslan para enviar PPO-AR01-8-24 no meu caso Chassi-Armario-Slot-Porta, um padrão de documentação que adotei na infra.
A minha "pecuinha" esta em repassar para o radius, pois a o servidor PPPoE esta recebendo a informação.
PS: Sobre os modens podemos conversar...
re: Radius Pppoe e Mysql, Parâmetros. Resolvido
Alexandre, essa informação abaixo e o inicio da comunicação do Modem com o PPPoE, nessa tabela nao precisaria do item Agent-Circuit-Id, essa tabela teria de ser alterada no banco de dados?
o que vc acha?
rad_recv: Access-Request packet from host 192.168.2.1:42762, id=92, length=132
User-Name = "teste14"
Service-Type = Framed-User
Framed-Protocol = PPP
CHAP-Password = 0x0185903d1212d59db7b00dc5590e95f5d1
CHAP-Challenge = 0x39363935323338313430323332383432
NAS-IP-Address = 177.xx.xxx.xxxx
NAS-Identifier = "Rtl.cccc.com.br"
Calling-Station-Id = "f4:ec:38:f9:1f:2c"
NAS-Port-Type = Ethernet
NAS-Port = 2978
Processing the authorize section of radiusd.conf
Essa tabelas aqui e um exemplo que peguei:
rad_recv: Access-Request packet from host 192.168.3.171 port 39838, id=98, length=142
NAS-Port-Type = Ethernet
NAS-Port = 2200961369
Calling-Station-Id = "1:0:24:81:44:41:1f"
Called-Station-Id = "dhcp1"
User-Name = "00:24:81:44:41:1F"
User-Password = ""
Agent-Remote-Id = "\000\006\000\025w\262\234\260"
Agent-Circuit-Id = "\000\004\000\001\001\013"
NAS-Identifier = "MikroTik"
NAS-IP-Address = 192.168.3.171
re: Radius Pppoe e Mysql, Parâmetros. Resolvido
Pessoal depois de analisar e analisar re-analisar etc etc etc, Sergio o grande Sergio me fez um pergunta muito simples, qual pppoe vc esta usando?
Esta ai o problema estava usando o nativo do FreeBsd, resolvi então seguir a dica do Sergio e instalar o MPD5, e Bingo:
rad_recv: Access-Request packet from host 192.168.2.1:25809, id=98, length=241
NAS-Identifier = "pppoe.ccccc.com.br"
NAS-IP-Address = 192.168.2.1
Acct-Session-Id = "2245288-em1-2"
NAS-Port = 2
NAS-Port-Type = Ethernet
Service-Type = Framed-User
Framed-Protocol = PPP
Calling-Station-Id = "f4ec38f91f2c"
NAS-Port-Id = "em1"
mpd-link = "em1-2"
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Client-Endpoint:0 = "f4:ec:38:f9:1f:2c"
Tunnel-Server-Auth-Id:0 = "PPO/AR01/1/16"
ADSL-Agent-Circuit-Id = "PPO/AR01/1/16"
User-Name = "teste14"
CHAP-Challenge = 0xbb1e680f2bf3acfa250e6c093d1276b10381eeb4833863
CHAP-Password = 0x011dcb17e460406115fb4ae30b39077dc2
O maior dos meus problemas foram resolvidos, agora estou afinando a ferramenta conforme minha necessidade, grande abraço a todos que de alguma forma ajudarão, mas fica a dica ai para futuros problemas, a ferramenta nativa do FreeBsd e um pouco limitada.
Grande abraço a todos..
re: Radius Pppoe e Mysql, Parâmetros. Resolvido
inclusive achei q era mikrotik heheheh :X
Re: Radius Pppoe e Mysql, Parâmetros. Resolvido
Citação:
Postado originalmente por
alexandrecorrea
inclusive achei q era mikrotik heheheh :X
Cara muito obrigado, as dicas foram fundamentais...