Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1

    Padrão Autenticador PPPOe FreeBSD, Linux ...

    Saudações amigos.

    Estamos com problema semelhante, estamos com a CCR 1036-12g-4s e estavamos com mais de 2.000 clientes autenticados (30% PPPoe e 70% HotSpot) em várias versões (6.3 , 6.7 e 6.11) e estava dando alguns Bugs (Reboot do RouterOS, Lentidão para HotSpot, perdas de pacotes nas Interfaces). Fizemos então a separação em dois Servidores CCRs, mas os problemas persistiram.

    Estamos analisando testar alguma solução (Linux, FreeBSD, outros) para fazer a autenticação dos clientes. Alguém já fez algum teste ou tem algum relato para contribuir?

    Saudações

  2. #2

    Padrão

    Pela quantidade de clientes, já pensou em ir para um Cisco?

  3. #3

    Padrão

    Citação Postado originalmente por godoy Ver Post
    Saudações amigos.

    Estamos com problema semelhante, estamos com a CCR 1036-12g-4s e estavamos com mais de 2.000 clientes autenticados (30% PPPoe e 70% HotSpot) em várias versões (6.3 , 6.7 e 6.11) e estava dando alguns Bugs (Reboot do RouterOS, Lentidão para HotSpot, perdas de pacotes nas Interfaces). Fizemos então a separação em dois Servidores CCRs, mas os problemas persistiram.

    Estamos analisando testar alguma solução (Linux, FreeBSD, outros) para fazer a autenticação dos clientes. Alguém já fez algum teste ou tem algum relato para contribuir?

    Saudações
    Ta na hora de rotear, colocar 1 autenticador por pop, pois nunca que ira funcionar bem isso tudo em um unico equipamento!!

  4. #4

    Padrão

    Citação Postado originalmente por Arthur Bernardes Ver Post
    E nesse caso também recomenda usar Radius na borda, ou não?
    Radius centralizado sim...

  5. #5

    Padrão

    Citação Postado originalmente por rogeriodj Ver Post
    Ta na hora de rotear, colocar 1 autenticador por pop, pois nunca que ira funcionar bem isso tudo em um unico equipamento!!
    Não necessariamente, existem outras opções.
    è uma boa concentrar em cada torre.. é.
    Mas tem os prós e contras.

    E funciona bem sim somente em um concentrador.

    Juniper MX5

  6. #6
    Suporte em Redes Avatar de wdnc5
    Ingresso
    Nov 2011
    Localização
    LUZIANIA GO
    Posts
    555

    Padrão

    Citação Postado originalmente por godoy Ver Post
    Saudações amigos.

    Estamos com problema semelhante, estamos com a CCR 1036-12g-4s e estavamos com mais de 2.000 clientes autenticados (30% PPPoe e 70% HotSpot) em várias versões (6.3 , 6.7 e 6.11) e estava dando alguns Bugs (Reboot do RouterOS, Lentidão para HotSpot, perdas de pacotes nas Interfaces). Fizemos então a separação em dois Servidores CCRs, mas os problemas persistiram.

    Estamos analisando testar alguma solução (Linux, FreeBSD, outros) para fazer a autenticação dos clientes. Alguém já fez algum teste ou tem algum relato para contribuir?

    Saudações

    Faça o que o Rogério Recomendou e ira Resolver seus problemas outra coisa eu colocaria a rede 100% pppoe.

    abraços.

  7. #7

    Padrão

    Amigos, obrigado pela colaboração.


    Vamos lá:

    Minha rede esta caminhando para 100%, os percentuais anunciados são do processo transitório.

    O fato da concentração ou não é muito discutível. Nós particularmente nunca desconcentramos a autenticação prezando pela melhor distribuição de IPs e a não Necessidade de ter que instalar um RouterBoard em cada Torre. Temos servidores com mais de 1.000 autenticações simultâneas sem nenhum problema utilizando RB1100AHx2, porém neste que estou com problema temos CCR1036-12G-4S instalada, e estamos estudando um possível outro Software que faz a autenticação com melhor eficiência que a Mikrotik (CCRs), pois tem hora que os Bugs se tornam insustentáveis.

    Gostei da recomendação do Juniper, porém, estava pensando em fazer algum laboratório com FreeBSD devido sua Boa reputação, mas não sei se roda bem. Mas não descarto o Juniper, mas sim quero fazer um primeiro teste antes de partir para uma solução mais cara.

    Aguardo opniões.

    Saudações.

  8. #8

    Padrão

    Citação Postado originalmente por godoy Ver Post
    Amigos, obrigado pela colaboração.


    Vamos lá:

    Minha rede esta caminhando para 100%, os percentuais anunciados são do processo transitório.

    O fato da concentração ou não é muito discutível. Nós particularmente nunca desconcentramos a autenticação prezando pela melhor distribuição de IPs e a não Necessidade de ter que instalar um RouterBoard em cada Torre. Temos servidores com mais de 1.000 autenticações simultâneas sem nenhum problema utilizando RB1100AHx2, porém neste que estou com problema temos CCR1036-12G-4S instalada, e estamos estudando um possível outro Software que faz a autenticação com melhor eficiência que a Mikrotik (CCRs), pois tem hora que os Bugs se tornam insustentáveis.

    Gostei da recomendação do Juniper, porém, estava pensando em fazer algum laboratório com FreeBSD devido sua Boa reputação, mas não sei se roda bem. Mas não descarto o Juniper, mas sim quero fazer um primeiro teste antes de partir para uma solução mais cara.

    Aguardo opniões.

    Saudações.
    Olá, eu gostaria que postasse os resultados aqui..
    Eu também tenho essa dúvida com FreeBSD mas nunca me aventurei.. até por falta de tempo.
    Hoje nosso sistema de gestão se integra com o Mikrotik, pega gráficos do clientes, os logs e tudo mais.. por API...
    fico na dúvida de como seria se não fosse Mikrotik.

    Att.

  9. #9

    Padrão

    FreeBSD, MPD5, FreeRADIUS, PostgreSQL. Estou montando este ambiente com controle de franquias de tráfego ainda. tenho até um tópico que abri aqui no fórum sobre isso... não é uma tarefa fácil (por que eu queria controlar a franquia do usuário) mais é possível. Já tenho funcionando em testes (estou conectado por esta solução agora) e pretendo colocar em uso.

    Motivações:


    Tenho um manual do que fiz em andamento, pretendo publicar um artigo, não fornecendo a receita de bolo, mais sim o conhecimento que adquiri estudando esta solução, para que outros não passem o trabalho que passei e possam montar as soluções de acordo com suas necessidades.

    Se quiser dar uma olhada no tópico está aqui: https://under-linux.org/showthread.php?t=171021

    Já lhe adianto que pra isso funcionar precisei estudar UnLang, criar atributos personalizados no raidus, etc. Mais gostei muito do resultado.

    Dando um prévia do meu ambiente, pretendo vender planos de 10M por exemplo, e disponibilizar uma quota mensal para o usuário, digamos 200G. Ao ultrapassar esse valor antes do término do mês, o usuário é limitado ao seu limite mínimo (digamos 40% da velocidade contratada). Essa limitação não depende do usuário precisar autenticar-se novamente, acontece no momento que o Radius faz a solicitação de accounting para o NAS, (pode ser configurado em intervalos de 1 min, 5 min etc).

    No mesmo processo o Radius faz uma consulta do trafego mensal do usuário, se ultrapassar a quota do mesmo, ele atualiza o usuário como estando com a quota excedida, e envia um pacote CoA (Change of Authorization) contendo o novo valor para o atributo de limitação de tráfego. A conexão do usuário nem sequer cai, apenas fica com menos velocidade.

    Enfim, é uma receita muito grande pra colocar totalmente aqui, mais posso ajudar, a tirar dúvidas dentro das minhas possibilidades.

  10. #10

    Padrão

    Citação Postado originalmente por marcioelias Ver Post
    FreeBSD, MPD5, FreeRADIUS, PostgreSQL. Estou montando este ambiente com controle de franquias de tráfego ainda. tenho até um tópico que abri aqui no fórum sobre isso... não é uma tarefa fácil (por que eu queria controlar a franquia do usuário) mais é possível. Já tenho funcionando em testes (estou conectado por esta solução agora) e pretendo colocar em uso.

    Motivações:


    Tenho um manual do que fiz em andamento, pretendo publicar um artigo, não fornecendo a receita de bolo, mais sim o conhecimento que adquiri estudando esta solução, para que outros não passem o trabalho que passei e possam montar as soluções de acordo com suas necessidades.

    Se quiser dar uma olhada no tópico está aqui: https://under-linux.org/showthread.php?t=171021

    Já lhe adianto que pra isso funcionar precisei estudar UnLang, criar atributos personalizados no raidus, etc. Mais gostei muito do resultado.

    Dando um prévia do meu ambiente, pretendo vender planos de 10M por exemplo, e disponibilizar uma quota mensal para o usuário, digamos 200G. Ao ultrapassar esse valor antes do término do mês, o usuário é limitado ao seu limite mínimo (digamos 40% da velocidade contratada). Essa limitação não depende do usuário precisar autenticar-se novamente, acontece no momento que o Radius faz a solicitação de accounting para o NAS, (pode ser configurado em intervalos de 1 min, 5 min etc).

    No mesmo processo o Radius faz uma consulta do trafego mensal do usuário, se ultrapassar a quota do mesmo, ele atualiza o usuário como estando com a quota excedida, e envia um pacote CoA (Change of Authorization) contendo o novo valor para o atributo de limitação de tráfego. A conexão do usuário nem sequer cai, apenas fica com menos velocidade.

    Enfim, é uma receita muito grande pra colocar totalmente aqui, mais posso ajudar, a tirar dúvidas dentro das minhas possibilidades.
    Márcio, obrigado por se disponibilizar..
    No meu cenário, basicamente o que uso é PPPoE autenticando via Radius.
    Eu tenho dúvidas com relação ao desempenho..
    Ex.. Um R210.. sei lá.. com 8 núcleos de 3.4.
    Se fosse FreeBSD no local desse RouterOS..
    Essa comparação de desempenho que eu ainda quero analisar..

    Como sempre buscamos o melhor para atender os clientes, numa dessas coloco para teste também, mas como nunca usei deixo a dúvida para quem já testou.

  11. #11

    Padrão

    Citação Postado originalmente por klabundee Ver Post
    Márcio, obrigado por se disponibilizar..
    No meu cenário, basicamente o que uso é PPPoE autenticando via Radius.
    Eu tenho dúvidas com relação ao desempenho..
    Ex.. Um R210.. sei lá.. com 8 núcleos de 3.4.
    Se fosse FreeBSD no local desse RouterOS..
    Essa comparação de desempenho que eu ainda quero analisar..

    Como sempre buscamos o melhor para atender os clientes, numa dessas coloco para teste também, mas como nunca usei deixo a dúvida para quem já testou.
    Para o meu próprio bem espero que possa suportar muitos e muitos usuários kkkkk. Estou estudando esta solução a uns 2 meses, mais não posso afirmar com propriedade a quantidade de sessões que vai suportar, por que ainda não coloquei o sistema pra funcionar com muitos usuários (e vai demorar por que atualmente autenticamos o cliente somente pelo MAC, usando IPFW, ou seja, o PPPoE para nós é uma mudança de paradigma).

    Eu sei que a solução funciona, agora até que ponto, tenho que ver pra crer. No link que passei e em outros que vi, vejo usuários falando em 7000 a 10000 sessões em um servidor.

    Detalhes, sem uso de NAT (roteamento direto), usando Netgraph (ng_car, ng_bpf) etc.

    Vamos ver, se quiser testar ai, e não quiser implementar a franquia de trafego, somente autenticação e limitação de banda mesmo, posso te ajudar, essa é uma configuração mais simples. Ai se vc pode avaliar em loco a solução.

    Softwares/versões que estou usando pra testes.

    FreeBSD 9.2-STABLE
    MPD 5.7
    PostgreSQL 9.0.17
    FreeRadius 2.2.4

    Caso tenha interesse no ambiente simples, te passo a receita de bolo da configuração. (A instalação é pelo ports mesmo, e vc tem que ter algum conhecimento em FreeBSD pra facilitar).

  12. #12

    Padrão

    Citação Postado originalmente por marcioelias Ver Post
    Para o meu próprio bem espero que possa suportar muitos e muitos usuários kkkkk. Estou estudando esta solução a uns 2 meses, mais não posso afirmar com propriedade a quantidade de sessões que vai suportar, por que ainda não coloquei o sistema pra funcionar com muitos usuários (e vai demorar por que atualmente autenticamos o cliente somente pelo MAC, usando IPFW, ou seja, o PPPoE para nós é uma mudança de paradigma).

    Eu sei que a solução funciona, agora até que ponto, tenho que ver pra crer. No link que passei e em outros que vi, vejo usuários falando em 7000 a 10000 sessões em um servidor.

    Detalhes, sem uso de NAT (roteamento direto), usando Netgraph (ng_car, ng_bpf) etc.

    Vamos ver, se quiser testar ai, e não quiser implementar a franquia de trafego, somente autenticação e limitação de banda mesmo, posso te ajudar, essa é uma configuração mais simples. Ai se vc pode avaliar em loco a solução.

    Softwares/versões que estou usando pra testes.

    FreeBSD 9.2-STABLE
    MPD 5.7
    PostgreSQL 9.0.17
    FreeRadius 2.2.4

    Caso tenha interesse no ambiente simples, te passo a receita de bolo da configuração. (A instalação é pelo ports mesmo, e vc tem que ter algum conhecimento em FreeBSD pra facilitar).
    Marcio, obrigado pela ajuda.
    Sim, hoje basicamente eu precisaria dele para PPPoE com controle de banda sem NAT só roteamento, você já testou vpls e OSPF com o FreeBSD?
    Nosso sistema de gestão já mantem o radius funcionando, vou tentar entrar em contato com eles pra saber a possibilidade de usar o FreeBSD.

    Desde já obrigado.

  13. #13

    Padrão

    A outra possibilidade é utilizar OSPF para interligar os NAS (mantendo o Radius centralizado) e assim promover a redundância do serviço aliado a um Load Balance.

    Aqui tem uma ideia sobre isso:

    http://www.freebsdonline.com/content/view/511/506/

  14. #14

    Padrão

    Citação Postado originalmente por klabundee Ver Post
    Marcio, obrigado pela ajuda.
    Sim, hoje basicamente eu precisaria dele para PPPoE com controle de banda sem NAT só roteamento, você já testou vpls e OSPF com o FreeBSD?
    Nosso sistema de gestão já mantem o radius funcionando, vou tentar entrar em contato com eles pra saber a possibilidade de usar o FreeBSD.

    Desde já obrigado.
    OSPF = Quagga, Bird.

    MPLS/VPLS atualmente não sei, não uso. Pelo que vi tem projetos tanto pro Bird quanto pro Quagga mais acho que ainda não tem nada estável.

    Se alguém souber e puder informar melhor.

  15. #15

    Padrão

    Citação Postado originalmente por marcioelias Ver Post
    ...

    Vamos ver, se quiser testar ai, e não quiser implementar a franquia de trafego, somente autenticação e limitação de banda mesmo, posso te ajudar, essa é uma configuração mais simples. Ai se vc pode avaliar em loco a solução.

    Softwares/versões que estou usando pra testes.

    FreeBSD 9.2-STABLE
    MPD 5.7
    PostgreSQL 9.0.17
    FreeRadius 2.2.4

    Caso tenha interesse no ambiente simples, te passo a receita de bolo da configuração. (A instalação é pelo ports mesmo, e vc tem que ter algum conhecimento em FreeBSD pra facilitar)

    .

    Marcio, os teste que gostaria de executar é de um autenticador simples autenticando via Radius e gerando controle de Banda. Se possível eu gostaria sim da usa "receita de bolo" para estar realizando estes testes.

    Dúvida: Atualmente trabalho no controle de Banda do Cliente com Burst, no caso o FreeBSD também consegue tratar isso?

    Saudações

  16. #16

    Padrão

    Citação Postado originalmente por godoy Ver Post
    Saudações amigos.

    Estamos com problema semelhante, estamos com a CCR 1036-12g-4s e estávamos com mais de 2.000 clientes autenticados (30% PPPoe e 70% HotSpot) em várias versões (6.3 , 6.7 e 6.11) e estava dando alguns Bugs (Reboot do RouterOS, Lentidão para HotSpot, perdas de pacotes nas Interfaces). Fizemos então a separação em dois Servidores CCRs, mas os problemas persistiram.

    Estamos analisando testar alguma solução (Linux, FreeBSD, outros) para fazer a autenticação dos clientes. Alguém já fez algum teste ou tem algum relato para contribuir?

    Saudações
    Grande Rodrigo, sei que não é a solução que procura mas não sei se pensou na opção de comprar um servidor com um bom processador xeon com 4 a 8gb de memória ecc, um hd ssd pequeno, fonte redundante é por o mikrotik 5.26 que é super estável para rodar com uma placa server de 4 ether ou uma da própria mikrotik, eu tenho até uma a RB44GE, um amigo meu colocou um I5 e tem 1300 clientes online, o processamento do computador dele fica entre 4 e 7%, poe um switch gerenciável CISCO na saída onde vai para os clientes e não precisa mudar ou aprender mais nada sobre outro sistema ... pensa nisso

  17. #17

    Padrão

    Citação Postado originalmente por godoy Ver Post
    Marcio, os teste que gostaria de executar é de um autenticador simples autenticando via Radius e gerando controle de Banda. Se possível eu gostaria sim da usa "receita de bolo" para estar realizando estes testes.

    Dúvida: Atualmente trabalho no controle de Banda do Cliente com Burst, no caso o FreeBSD também consegue tratar isso?

    Saudações

    Bueno, de forma muito simples... vamos tentar colocar aqui o que é preciso para fazer isso que vc quer.

    Passos:
    • Instalação do FreeBSD (aqui usei a 9.2)
    • Atualização do Ports
    • Instalação dos Pacotes
    • Configuração do MPD
    • Configuração do Banco de dados
    • Configuração do FreeRADIUS



    Instalação do FreeBSD - Normal, não vou comentar por que acho que é a parte mais simples de todo o processo, a única ressalva é sobre a instalação do pacote de fontes para poder compilar o kernel depois.

    Bom feita a instalação do sistema, e provavelmente a esta altura vc já tem acesso a internet nesta máquina, então atualize o ports.

    Código :
    portsnap fetch extract update

    Para ter suporte a firewall no FreeBSD, assim como outras funcionalidades tempos tanto a opção de carregar os módulos dinamicamente quando complicar um kernel com os mesmos. Eu prefiro sempre compilar um Kernel personalizado, para isso faça o seguinte:
    Abra um arquivo novo em um editor de textos qualquer (eu prefiro o ee) dentro do diretório do fonte que corresponde a sua arquitetura (/usr/src/sys/i386/ para 32Bits e /usr/src/sys/amd64/ para 64Bits)

    Exemplo:
    Código :
    ee /usr/src/sys/amd64/conf/MEUKERNEL

    Dentro deste arquivo coloque pelo menos o seguinte conteúdo:
    Código :
    include GENERICident MEUKERNEL
     
     
    machine amd64
     
     
    options HZ=1000
    options NETGRAPH
    options NETGRAPH_PPPOE
    options NETGRAPH_CISCO
    options NETGRAPH_IFACE
    options NETGRAPH_BPF
    options NETGRAPH_ETHER
    options NETGRAPH_PPP
    options NETGRAPH_ASYNC
     
     
    options IPFIREWALL
    options IPFIREWALL_VERBOSE
    options IPFIREWALL_VERBOSE_LIMIT=100
    options IPFIREWALL_DEFAULT_TO_ACCEPT
    options DUMMYNET
    options IPDIVERT

    Neste arquivo vc está dizendo para o sistema compilar as opções do kernel GENERIC (as da instalação padrão que estão funcionando na sua máquina) mais as que vc especificou neste arquivo.

    Aqui brevemente posso dizer que vc está habilitando o suporte ao Netgraph e ao IPFW como firewall.

    salve este arquivo, então compile e instale o novo kernel:

    Código :
    cd /usr/src
    make buildkernel KERNCONF=MEUKERNEL
    make installkernel KERNCONF=MEUKERNEL

    Ao final reinicie a máquina e rode um uname -a para constatar se o seu kernel foi carregado.

    Bom vamos então instalar os pacotes começando pelo MPD5.

    Código :
     cd /usr/ports/net/mpd5/
    make install clear

    siga a instalação até finalizar, depois instale o FreeRADIUS:

    Código :
    cd /usr/ports/net/freeradius2/
    make install clear

    Aqui eu deixei marcadas apenas as opções PERL, PGSQL e USER.

    Deixando a opção PGSQL marcada fará não somente que o suporte ao PostgreSQL seja habilitado na compilação do port, mais também irá instalar o PostgreSQL caso o mesmo não esteja instalado.

    Bom depois de tudo instalado, vamos as configurações a começar pelo rc.conf

    Código :
    hostname="localhost.localdomain"keymap="br275.iso.acc.kbd"
    defaultrouter="XXX.XXX.XXX.XXX"
    gateway_enable="YES"
    dumpdev="NO"
     
     
    #Network Interfaces
    ifconfig_bge0="inet XXX.XXX.XXX.XXX netmask 255.255.255.0"
    #ifconfig_bge1="inet XXX.XXX.XXX.XXX netmask 255.255.255.0"
     
     
    #Named
    named_enable="YES"
     
     
    firewall_enable="YES"
    firewall_script="/etc/ipfw.rules"
     
     
    #NAT
    natd_enable="YES"
    natd_flags="-s -m"
    natd_interface="bge0"
     
     
    #SSH
    sshd_enable="YES"
     
     
    #MPD5
    mpd_enable="YES"
    mpd_flags="-b -s mpd5"
     
     
    #FreeRADIUS
    radiusd_enable="YES"
     
     
    #PostgreSQL
    postgresql_enable="YES"

    Note que deixei comentada a configuração da minha segunda placa de rede, isso por que a mesma não tem nenhum IP configurado, não faço nat, e sim entrego os IPs roteáveis, por isso não preciso ter endereços nesta interface, caso precise é só colocar.

    O script de firewall pode ser utilizado o padrão /etc/rc.firewall especificando:

    Código :
    firewall_type="OPEN"

    para testes já deve servir.

    O MPD5 vc cria um arquivo dentro do diretório /usr/local/etc/mpd5/ chamado mpd.conf e coloca as seguintes configurações:

    Código :
    ### Comandos executados na inicializacao do servico ###startup:
            set user admin 123456 admin
            set console self 127.0.0.1 5005
            set console open
     
     
            set web self 0.0.0.0 5006
            set web open
     
     
    ### comandos executados em uma inicializacao normal ###
    default:
            load pppoe_server
     
     
    ### configuracoes do servico pppoe ###
    pppoe_server:
            create bundle template B
            set bundle enable compression
            set iface mtu 1300
            set iface enable tcpmssfix
            set ipcp dns 8.8.8.8 8.8.4.4
     
     
            create link template PPPoE pppoe
            set pppoe iface bge1
            set link max-children 1000
            set link enable incoming
            set link action bundle B
            set link disable multilink
            set link disable chap pap eap
            set link enable pap
     
     
            load radius
     
     
            create link template bge1_link PPPoE
            set pppoe iface bge1
            set link enable incoming
            set pppoe service "*"
     
     
    ### configuracoes referentes a conexao com o servidor Radius ###
    radius:
            set radius server localhost testing123 1812 1813
            set radius retries 3
            set radius timeout 3
            set auth acct-update 60
            set auth enable radius-auth
            set auth enable radius-acct
            set radius enable message-authentic

    Para testar a configuração vc pode rodar o comando mpd5 como usuário root, para tudo estar funcionando a saida tem que parar em um console sem nenhuma mensagem de erro antes.

    PostgreSQL, se vc vai acessar somente localmente sua base de dados, não tem por que modificar nada somente para os testes, para acesso externo precisa liberação no pg_hba.conf, e para um alto desempenho, pesquise por tunning do PostgreSQL.

    Para iniciar o agrupamento de dados do PostgreSQL, rode o comando:

    Código :
    service postgresql initdb

    feito isso, seus dados e configurações inerentes ao PostgreSQL ficarão armazenados no diretório /usr/local/pgsql/data

    Bom, inicie agora o serviço do banco de dados e vamos carregar a base de dados do FreeRADIUS:

    Código :
    service postgresql start
    createuser -U pgsql -dPrs radius
    createdb -U radius radius
     
    psql -d radius -U radius < /usr/local/etc/raddb/sql/postgresql/schema.sql

    feito isso o PostgreSQL deverá estar rodando e contendo uma base de dados e um usuário radius, onde foi carregado o schema do FreeRADIUS.

    Bom, no FreeRadius habilite o modulo sql dentro do arquivo /usr/local/etc/raddb/radiusd.conf

    dentro e dentro do arquivo /usr/local/etc/raddb/site-enable/default habilite o sql nas sessões authorize e accounting.

    Se não me falhe a memória é isso.

    Ai crie um usuário na base de dados do freeradius.

    Código :
    psql -U raidus -d radius
     
    insert into radcheck (1, 'usuario', 'Cleartext-Password', ':=', '123');
    insert into radreply (1, 'usuario', 'mpd-limit', '+=', 'out#1=all rate-limit 1000000 187500 375000 pass');
    insert into radreply (2, 'usuario', 'mpd-limit', '+=', 'in#1=all rate-limit 300000 56250 112500 pass');

    Feito, inserimos um usuário com login "usuario" e senha "123".

    Na tabela radreply colocamos como limitação de banda 1Mbps de download por 300Kbps de upload, setamos o normal burst e o extended burst (segui as recomendacoes da Cisco para o caculo usando a formula Banda * (1 / 8) * 1.5 para o normal burst e o dobro disso para o extended burst).

    para saber mais sobre essas configurações olhe esse link http://mpd.sourceforge.net/doc5/mpd30.html#30

    Bom, isso aqui não é bem uma receita de bolo, está mais para um rascunho, mais já da pra iniciar. Pela pressa com certeza escrevi alguma coisa errada ou alguma configuração equivocada, se acharem podem me informar, mais acho que da pra ter uma ideia geral do que fazer..

    Espero que sirva para alguma coisa rsrs.

  18. #18

    Padrão

    Citação Postado originalmente por agatangelos Ver Post
    Grande Rodrigo, sei que não é a solução que procura mas não sei se pensou na opção de comprar um servidor com um bom processador xeon com 4 a 8gb de memória ecc, um hd ssd pequeno, fonte redundante é por o mikrotik 5.26 que é super estável para rodar com uma placa server de 4 ether ou uma da própria mikrotik, eu tenho até uma a RB44GE, um amigo meu colocou um I5 e tem 1300 clientes online, o processamento do computador dele fica entre 4 e 7%, poe um switch gerenciável CISCO na saída onde vai para os clientes e não precisa mudar ou aprender mais nada sobre outro sistema ... pensa nisso
    Caro agatangelos,

    Atualmente tenho um servidor DELL T610 com processador Xeon reconhecendo no system>resources 8 nucleos com 2.5Ghz e esta na versão 5.18 do RouterOS tendo simultâneo pico de 1.200 clientes PPPoE e o processamento chega a máxima de 10%. O Servidor possui 2 placas de rede Giga On-Board e 4 PCIe 4x da HP. De modo geral o servidor esta estável, mas tivemos alguns problemas:

    1) - Quando colcamos este sevidor ele estava na versão 6.11, as placas de rede PCIe funcionavam durante horas (cerca de um dia) e do nada paravam de funcionar. Tive que migrar todo o fluxo para as on-boards. Não refiz os teste com as placas novamente na versão 5.18.

    2) - Quando migramos para a versão 5.18, estão disponíveis, mas não arriscamos usar as PCIe, já entramos direto nas on-boards mas agoar ocorre uma anormalidade com o Gráfico da Interface (Traffic - Imagem em Anexo) onde o tráfego esta passando cerca de 100Mb e do nada ocorre um estouro e vai para cerca de 34Gb. Esse estouro ocorre apenas na interface desse servidor não refletindo na interface diretamente a ele conectado (outro servidor Mikrotik). O Estouro ocorre em um intervalo não exato de 4min.

    Chegam as dúvidas:
    * Será que as interfaces PCIe não apresentarão mais problemas na Versão 5.xx ?
    * Porque ocorrem esses estouros nas interfaces ? Será que subir para a 5.26 (conforme recomendação por estabilidade) pode resolver esse problema?

    Reforço que não fiz mais testes devido os dias turbulentos que nosso clientes passaram, por isso estamos aguardando a poeira baixar para retomarmos os testes mais agressivos.

    Deixo em aberto as perguntas para nosso amigo agatangelos e para mais quem puder colaborar.

    Saudações
    Miniaturas de Anexos Miniaturas de Anexos Clique na imagem para uma versão maior

Nome:	         Estouro Link.png
Visualizações:	251
Tamanho: 	9,3 KB
ID:      	51745   Clique na imagem para uma versão maior

Nome:	         Link Normal.png
Visualizações:	236
Tamanho: 	9,1 KB
ID:      	51746  

    Clique na imagem para uma versão maior

Nome:	         REsourses.png
Visualizações:	262
Tamanho: 	7,9 KB
ID:      	51747  

  19. #19

    Padrão

    Citação Postado originalmente por godoy Ver Post
    Caro agatangelos,

    Atualmente tenho um servidor DELL T610 com processador Xeon reconhecendo no system>resources 8 nucleos com 2.5Ghz e esta na versão 5.18 do RouterOS tendo simultâneo pico de 1.200 clientes PPPoE e o processamento chega a máxima de 10%. O Servidor possui 2 placas de rede Giga On-Board e 4 PCIe 4x da HP. De modo geral o servidor esta estável, mas tivemos alguns problemas:

    1) - Quando colcamos este sevidor ele estava na versão 6.11, as placas de rede PCIe funcionavam durante horas (cerca de um dia) e do nada paravam de funcionar. Tive que migrar todo o fluxo para as on-boards. Não refiz os teste com as placas novamente na versão 5.18.

    2) - Quando migramos para a versão 5.18, estão disponíveis, mas não arriscamos usar as PCIe, já entramos direto nas on-boards mas agoar ocorre uma anormalidade com o Gráfico da Interface (Traffic - Imagem em Anexo) onde o tráfego esta passando cerca de 100Mb e do nada ocorre um estouro e vai para cerca de 34Gb. Esse estouro ocorre apenas na interface desse servidor não refletindo na interface diretamente a ele conectado (outro servidor Mikrotik). O Estouro ocorre em um intervalo não exato de 4min.

    Chegam as dúvidas:
    * Será que as interfaces PCIe não apresentarão mais problemas na Versão 5.xx ?
    * Porque ocorrem esses estouros nas interfaces ? Será que subir para a 5.26 (conforme recomendação por estabilidade) pode resolver esse problema?

    Reforço que não fiz mais testes devido os dias turbulentos que nosso clientes passaram, por isso estamos aguardando a poeira baixar para retomarmos os testes mais agressivos.

    Deixo em aberto as perguntas para nosso amigo agatangelos e para mais quem puder colaborar.

    Saudações
    Caro Rodrigo, Vou ser sincero eu já usei a versão 5.18 erá uma versão crackeada que um amigo me passou, este amigo passa 150MB e administra duas cidades com +- 1400 clientes e usa a mesma 5.18 a mais de 5 ano e nunca teve problemas com bugs e conflitos, o cara tem tanta regra no firewall que nem ele sabe mais onde encontrar as coisas e oque faz oque mas o PC dele não para de jeito nenhum rsrsrsr .... por muito tempo pensei que fosse ela até que comprei uma licença e atualizei para 6,20 e ficou pior ainda, voltei para a 5,26 e melhorou muito mais ainda dava um bug na placa de rede em "tx drops" e "rx drops" e nos gráficos nas placas intelbras, ficava contando o tempo todo como se estivesse bloqueando ou perdendo alguma trafego já na placa intel não aparecia isso estava sempre 100%, entrei em um fórum americano e algumas pessoas reclamavam de bugs parecidos na versão X86 (PC) realmente não tem a mesma estabilidade de uma RB pois a rb tem uma hardware projetado para rodar o mikrotik já o PC (x86) já fica mais aberta a bugs, pois nem todas as placas são projetadas para rodar o mikrotik tornando o pc mais sensível, não sei se não aguentam ou se não tem suporte 100% compatível ao mikrotik, minha operadora só usa PCs e placas de rede para servidor mesmo, principalmente aquelas que tem 4 portas gigas, procurei destas placas e custa mais de R$1000,00 mas em compensação ele não tem nenhum tipo de bug ou conflitos, pode ser isso que esta acontecendo com você hoje algum conflito com as placas de rede. Hoje aqui compramos uma rb1100ahx2 que para o trafego que temos da e sobra muito, não chega nem perto do processamento de um PC mas atende as minhas necessidades e não da estes pequenos bugs que tinha antes, quando aumentar minha rede vou fazer diferente vou deixar meu servidor radius autenticando com um server rodando mikrotik com placas boas, vou por um switch cisco e abaixo dela varias rb1100ahx2, uma para cada 500 clientes online no máximo gerenciando e quando for aumentando vou acrescentando mais rbs e tudo dentro do meu rack e chegando nos clientes via fibra, vai ser tudo dividido porem ao invés de por os rbs nas torres elas vão ficar aqui comigo ... Um abraço ... Rodrigo

  20. #20

    Padrão

    Citação Postado originalmente por marcioelias Ver Post
    Bueno, de forma muito simples... vamos tentar colocar aqui o que é preciso para fazer isso que vc quer.

    Passos:
    • Instalação do FreeBSD (aqui usei a 9.2)
    • Atualização do Ports
    • Instalação dos Pacotes
    • Configuração do MPD
    • Configuração do Banco de dados
    • Configuração do FreeRADIUS



    Instalação do FreeBSD - Normal, não vou comentar por que acho que é a parte mais simples de todo o processo, a única ressalva é sobre a instalação do pacote de fontes para poder compilar o kernel depois.

    Bom feita a instalação do sistema, e provavelmente a esta altura vc já tem acesso a internet nesta máquina, então atualize o ports.

    Código :
    portsnap fetch extract update

    Para ter suporte a firewall no FreeBSD, assim como outras funcionalidades tempos tanto a opção de carregar os módulos dinamicamente quando complicar um kernel com os mesmos. Eu prefiro sempre compilar um Kernel personalizado, para isso faça o seguinte:
    Abra um arquivo novo em um editor de textos qualquer (eu prefiro o ee) dentro do diretório do fonte que corresponde a sua arquitetura (/usr/src/sys/i386/ para 32Bits e /usr/src/sys/amd64/ para 64Bits)

    Exemplo:
    Código :
    ee /usr/src/sys/amd64/conf/MEUKERNEL

    Dentro deste arquivo coloque pelo menos o seguinte conteúdo:
    Código :
    include GENERICident MEUKERNEL
     
     
    machine amd64
     
     
    options HZ=1000
    options NETGRAPH
    options NETGRAPH_PPPOE
    options NETGRAPH_CISCO
    options NETGRAPH_IFACE
    options NETGRAPH_BPF
    options NETGRAPH_ETHER
    options NETGRAPH_PPP
    options NETGRAPH_ASYNC
     
     
    options IPFIREWALL
    options IPFIREWALL_VERBOSE
    options IPFIREWALL_VERBOSE_LIMIT=100
    options IPFIREWALL_DEFAULT_TO_ACCEPT
    options DUMMYNET
    options IPDIVERT

    Neste arquivo vc está dizendo para o sistema compilar as opções do kernel GENERIC (as da instalação padrão que estão funcionando na sua máquina) mais as que vc especificou neste arquivo.

    Aqui brevemente posso dizer que vc está habilitando o suporte ao Netgraph e ao IPFW como firewall.

    salve este arquivo, então compile e instale o novo kernel:

    Código :
    cd /usr/src
    make buildkernel KERNCONF=MEUKERNEL
    make installkernel KERNCONF=MEUKERNEL

    Ao final reinicie a máquina e rode um uname -a para constatar se o seu kernel foi carregado.

    Bom vamos então instalar os pacotes começando pelo MPD5.

    Código :
     cd /usr/ports/net/mpd5/
    make install clear

    siga a instalação até finalizar, depois instale o FreeRADIUS:

    Código :
    cd /usr/ports/net/freeradius2/
    make install clear

    Aqui eu deixei marcadas apenas as opções PERL, PGSQL e USER.

    Deixando a opção PGSQL marcada fará não somente que o suporte ao PostgreSQL seja habilitado na compilação do port, mais também irá instalar o PostgreSQL caso o mesmo não esteja instalado.

    Bom depois de tudo instalado, vamos as configurações a começar pelo rc.conf

    Código :
    hostname="localhost.localdomain"keymap="br275.iso.acc.kbd"
    defaultrouter="XXX.XXX.XXX.XXX"
    gateway_enable="YES"
    dumpdev="NO"
     
     
    #Network Interfaces
    ifconfig_bge0="inet XXX.XXX.XXX.XXX netmask 255.255.255.0"
    #ifconfig_bge1="inet XXX.XXX.XXX.XXX netmask 255.255.255.0"
     
     
    #Named
    named_enable="YES"
     
     
    firewall_enable="YES"
    firewall_script="/etc/ipfw.rules"
     
     
    #NAT
    natd_enable="YES"
    natd_flags="-s -m"
    natd_interface="bge0"
     
     
    #SSH
    sshd_enable="YES"
     
     
    #MPD5
    mpd_enable="YES"
    mpd_flags="-b -s mpd5"
     
     
    #FreeRADIUS
    radiusd_enable="YES"
     
     
    #PostgreSQL
    postgresql_enable="YES"

    Note que deixei comentada a configuração da minha segunda placa de rede, isso por que a mesma não tem nenhum IP configurado, não faço nat, e sim entrego os IPs roteáveis, por isso não preciso ter endereços nesta interface, caso precise é só colocar.

    O script de firewall pode ser utilizado o padrão /etc/rc.firewall especificando:

    Código :
    firewall_type="OPEN"

    para testes já deve servir.

    O MPD5 vc cria um arquivo dentro do diretório /usr/local/etc/mpd5/ chamado mpd.conf e coloca as seguintes configurações:

    Código :
    ### Comandos executados na inicializacao do servico ###startup:
            set user admin 123456 admin
            set console self 127.0.0.1 5005
            set console open
     
     
            set web self 0.0.0.0 5006
            set web open
     
     
    ### comandos executados em uma inicializacao normal ###
    default:
            load pppoe_server
     
     
    ### configuracoes do servico pppoe ###
    pppoe_server:
            create bundle template B
            set bundle enable compression
            set iface mtu 1300
            set iface enable tcpmssfix
            set ipcp dns 8.8.8.8 8.8.4.4
     
     
            create link template PPPoE pppoe
            set pppoe iface bge1
            set link max-children 1000
            set link enable incoming
            set link action bundle B
            set link disable multilink
            set link disable chap pap eap
            set link enable pap
     
     
            load radius
     
     
            create link template bge1_link PPPoE
            set pppoe iface bge1
            set link enable incoming
            set pppoe service "*"
     
     
    ### configuracoes referentes a conexao com o servidor Radius ###
    radius:
            set radius server localhost testing123 1812 1813
            set radius retries 3
            set radius timeout 3
            set auth acct-update 60
            set auth enable radius-auth
            set auth enable radius-acct
            set radius enable message-authentic

    Para testar a configuração vc pode rodar o comando mpd5 como usuário root, para tudo estar funcionando a saida tem que parar em um console sem nenhuma mensagem de erro antes.

    PostgreSQL, se vc vai acessar somente localmente sua base de dados, não tem por que modificar nada somente para os testes, para acesso externo precisa liberação no pg_hba.conf, e para um alto desempenho, pesquise por tunning do PostgreSQL.

    Para iniciar o agrupamento de dados do PostgreSQL, rode o comando:

    Código :
    service postgresql initdb

    feito isso, seus dados e configurações inerentes ao PostgreSQL ficarão armazenados no diretório /usr/local/pgsql/data

    Bom, inicie agora o serviço do banco de dados e vamos carregar a base de dados do FreeRADIUS:

    Código :
    service postgresql start
    createuser -U pgsql -dPrs radius
    createdb -U radius radius
     
    psql -d radius -U radius < /usr/local/etc/raddb/sql/postgresql/schema.sql

    feito isso o PostgreSQL deverá estar rodando e contendo uma base de dados e um usuário radius, onde foi carregado o schema do FreeRADIUS.

    Bom, no FreeRadius habilite o modulo sql dentro do arquivo /usr/local/etc/raddb/radiusd.conf

    dentro e dentro do arquivo /usr/local/etc/raddb/site-enable/default habilite o sql nas sessões authorize e accounting.

    Se não me falhe a memória é isso.

    Ai crie um usuário na base de dados do freeradius.

    Código :
    psql -U raidus -d radius
     
    insert into radcheck (1, 'usuario', 'Cleartext-Password', ':=', '123');
    insert into radreply (1, 'usuario', 'mpd-limit', '+=', 'out#1=all rate-limit 1000000 187500 375000 pass');
    insert into radreply (2, 'usuario', 'mpd-limit', '+=', 'in#1=all rate-limit 300000 56250 112500 pass');

    Feito, inserimos um usuário com login "usuario" e senha "123".

    Na tabela radreply colocamos como limitação de banda 1Mbps de download por 300Kbps de upload, setamos o normal burst e o extended burst (segui as recomendacoes da Cisco para o caculo usando a formula Banda * (1 / 8) * 1.5 para o normal burst e o dobro disso para o extended burst).

    para saber mais sobre essas configurações olhe esse link http://mpd.sourceforge.net/doc5/mpd30.html#30

    Bom, isso aqui não é bem uma receita de bolo, está mais para um rascunho, mais já da pra iniciar. Pela pressa com certeza escrevi alguma coisa errada ou alguma configuração equivocada, se acharem podem me informar, mais acho que da pra ter uma ideia geral do que fazer..

    Espero que sirva para alguma coisa rsrs.

    Parabéns pela bela contribuição...