Servidor de autenticação usando MetaRouter e OpenWRT. MUM Brasil Rio de Janeiro Novembro/2009. Sérgio Souza - PDF
Download "Servidor de autenticação usando MetaRouter e OpenWRT. MUM Brasil Rio de Janeiro Novembro/2009. Sérgio Souza"
Ivan Casqueira Wagner
1 Servidor de autenticação usando MetaRouter e OpenWRT MUM Brasil Rio de Janeiro Novembro/2009 Sérgio Souza
2 Nome: Sergio Souza Tecnólogo em Processamento de Dados Consultor independente atuando há vários anos em implementação, manutenção e gerenciamento de redes estruturadas e redes sem fio Consultor em implementação e manutenção de sistemas livres baseados em GNU/Linux Administrador do provedor de serviços gerenciados Via Livre Instrutor Mikrotik Brasil Parceiro MD Brasil em soluções de TI e Consultoria
3 Objetivos O objetivo é apresentar uma solução baseada em virtualização do sistema operacional GNU/Linux OpenWRT, através do MetaRouter, ferramenta de virtualização do Mikrotik ROS. Será demonstrado um servidor Freeradius e servidor web provendo uma página de cadastro para clientes e a inserção dos dados no arquivo users do Freeradius. Serão abordados os passos de instalação das ferramentas.
4 Vantagens da Virtualização Gerenciamento centralizado Instalações simplificadas Facilidade para a execução de backups Suporte e manutenção simplificados Acesso controlado a dados privados e à propriedade intelectual, mantendo-os seguros dentro do data center da empresa
5 Vantagens da Virtualização Independência de Hardware Disponibilização de novos ambientes operacionais em poucos minutos Migração de sistemas operacionais para novo hardware de forma transparente Maior disponibilidade e recuperação de sistemas Compatibilidade total com as aplicações
6 Requisitos 16 MB RAM para cada instância Metarouter, quando virtualizando o Mikrotik ROS. Versão 3.28 ou superior do Mikrotik ROS Qualquer dispositivo RouterBoard da série 400 ou série 1000
7 Limitações 8 máquinas virtuais (este número aumentará no futuro) 8 interfaces virtuais (caso necessite de mais interfaces deverá lançar mão de recursos VLAN) Não é possível adicionar unidades de armazenamento externas (store) para as máquinas virtuais Limitação de 256 MB RAM (RB450G)
8 Exemplos de utilização Disponibilizar uma máquina virtual para clientes, onde os mesmos possam personalizar seu ambiente. Exemplo: Um Provedor poderá criar um roteador virtual em uma porta ethernet, onde o cliente personalizará seu firewall e limitação de banda, deixando as configurações do roteador principal, inalteradas.
9 É um firmware para roteadores com Linux embarcado. Tratase de uma mini-distribuição desenvolvida sob a GPL (General Public License). Mini-distribuição porque o número de funções é reduzido perante distribuições completas como: SuSe, Mandriva, Slackware, entre outros. Isto ocorre devido a limitação das memórias dos roteadores, consideravelmente menores comparadas a computadores pessoais comuns, pois raramente possuem mais do que 32MB de RAM e 8MB de ROM.
10 Apesar do número de funções reduzido, podemos personalizá-lo e usufruir de várias serviços, como servidor web Apache ou Lighttpd, PHP, Freeradius, entre outros. O sistema é altamente personalizável.
11 Instalação Para a instalação de uma imagem do OpenWRT, previamente compilada, basta realizar o dowload no link abaixo: Após o dowload enviar (upload) o arquivo para o menu FILES do Mikrotik ROS e seguir as instruções abaixo
15 Instalação Como pudemos observar a criação de uma máquina virtual é bastante simples; é necessário apenas especificar o nome da mesma e quantidade de RAM dispensada. O tamanho do disco poderá ser configurado para dinâmico ou um valor fixo. Observação Quando deixar configurado o tamanho do disco para dinâmico, se possuir uma aplicação que gere muitos dados, o mesmo poderá encher rapidamente acarretando problemas para a máquina virtual e para o host anfitrião (máquina principal). Caso seja adicionada uma nova máquina virtual, sem especificar nenhum parâmetro, ela será criada com tamanho do disco dinâmico e 16 MiB de RAM.
16 Instalação Caso tenha interesse poderá realizar uma compilação do OpenWRT e personalizá-lo de acordo com suas necessidades. Utilizando um sistema Gnu/Linux qualquer; via SVN baixe o último código fonte disponível svn co svn://svn.openwrt.org/openwrt/trunk
17 Instalação Realize o download do patch MetaRouter, conforme abaixo cd trunk/ wget patch -p0 <openwrt-metarouter-1.1.patch
18 Instalação Após aplicar o patch, execute: make menuconfig Acesse o menu Target System e escolha Mikrotik MetaRouter Poderá adicionar suporte a outras funções, basta seleciona-las nos menus apropriados. Após definir todas as funções, encerre o menu. Caso possua qualquer erro ou dependência o sistema exibirá um alerta. Deverá corrigi-los antes de prosseguir. Execute, em seguida: make Quando terminar a compilação, terá uma imagem no formato tgz para importar.
19 Após a instalação do OpenWRT podemos acessa-lo via console e configurar o endereço IP para acessarmos remotamente. uci set network.lan.ipaddr= uci set network.lan.netmask= uci set network.lan.gateway= uci set network.lan.dns= uci set uci commit /etc/init.d/dnsmasq stop /etc/init.d/dnsmasq disable reboot
20 Poderemos agora instalar pacotes de software adicionais que compilamos ou podemos instalar pacotes previamente compilados, desde que sejam compatíveis com a imagem instalada. O endereço de um sítio da Internet que podemos encontrar uma imagem do OpenWRT compilada, assim como vários pacotes de softwares encontra-se abaixo:
21 Exemplo de instalação de um pacote Acesse o OpenWRT cd /tmp wget opkg install freeradius2_ _metarouter.ipk Caso seja exibido alguma dependência de aplicação, realize o download da mesma e instale previamente. Realize o procedimento de instalação do pacote novamente.
22 Os pacotes utilizados nesta configuração, além dos pacotes já disponíveis na própria imagem, foram: cgilib freeradius libgd libiconv libiptc libjpeg - 6b-1 libltdl libpcre Libpng lighttpd lighttpd-mod-cgi lighttpd-mod-simple-vhost lighttpd-mod-status mini-sendmail nano php php5-cgi php5-fastcgi php5-mod-gd zlib
23 Após a instalação de todos os serviços necessários podemos iniciálos via init.d /etc/init.d/radiusd start /etc/init.d/lighttppd start Para verificarmos os Serviços em execução: ps ax
24 Em seguida poderemos criar as páginas html/php para inserirmos os dados do cadastro dos clientes com os dados de acesso. Nesta configuração é usada apenas um exemplo em html/php para escrever em um arquivo texto (users), o qual o Freeradius usará como base de dados. Podemos utilizar banco de dados como o sqlite ou o mysql para provermos um método mais eficiente de armazenamento.
25 Exemplo de um formulário HTML
26 PHP para gravar arquivo com as configurações
27 Com estas simples configurações podemos visualizar N soluções para integração do Mikrotik ROS e sistemas virtualizados. Relay SMTP para o The Dude (mini-sendmail) Servidor HTTP para mensagens aos clientes Asterisk Openser (sip proxy) Base de dados de usuários (freeradius, ldap) Enfim, qualquer software disponível para o sistema GNU/Linux e compatível com a arquitetura de hardware compilada.