Usurio Usurio Lembrar? gfedc Senha Logar Registre-se Downloads Para melhor aproveitamento e utilizao das informaes contidas neste site recomendamos 03 passos iniciais:
1)Polticas de Utilizao (Regras do Frum) 2)FAQ (Dvidas mais comuns na utilizao do Frum) 3)Registro (Registre-se para utilizar outros servios do Site). LinkBack Opes do Tutorial
Servidor Linux para um provedor wireless Tiago Andr Geraldi kelinhos 12/08/2007 Opes do Tutorial Verso para impresso Enviar pgina por email Page 1 of 12 Servidor Linux para um provedor wireless - Frum Mundo Wi-Fi 15/8/2007 http://www.mundowifi.com.br/tutoriais/1324-servidor-linux-para-um-provedor-wireless.html ltimos Tutoriais Servidor Linux para um provedor wireless Como montar um provedor Fazendo uma antena Omni Direcional Como criar sua prpria antena OmniDirecional Instalando Placas Wifi baseadas em Broadcom Introduo
Esta dical mostra como configurar um servidor com controle de banda, prioridade, firewall, cadastramento de IP preso um MAC, proxy transparente e cache DNS, deixando tudo visvel atravs de um nico arquivo de configurao.
A pouco tempo me deparei com a criao de um servidor para um provedor de internet wireless e depois de muitas dificuldades, cheguei a um arquivo de configurao nico que serve de painel de controle para o gerenciamento dos clientes e que processado atravs de um script. Acredito que facilitar bastante a vida de quem est entrando no ramo. Neste artigo tratarei todo o processo da criao de um servidor do gnero chegando at esse script de configurao.
Usei como base a distribuio Ubuntu Server 7.04, at mesmo para testar essa nova promessa das distros para servidores. Mas voc poder seguir sem problemas esse tutorial com qualquer Debian ou derivado como o Kurumin. Com algumas adaptaes na instalao dos pacotes, pode ser usado qualquer outra distribuio Linux.
Basicamente um servidor para provedor de internet wireless funciona como um roteador entre o link da empresa de telecom e os clientes. Numa interface de rede ele recebe o link, e a outra interface ligada ao AP que distribuir o sinal atravs da torre.
No necessrio um hardware avanado para este servidor. Um PC com processador de 1 GHz e com 256 MB de RAM suficiente para atender mais de 100 clientes. Antes de se preocupar com a capacidade de processamento do servidor voc deve analisar se o link que voc contratou suficiente para o seu nmero de clientes, fato que varia muito de acordo com os planos de acesso que voc est oferecendo e tambm com a efetividade dos seus clientes.
A maioria dos provedores calculam a proporo de 8 pra 1, ou seja, posso ter 8 clientes com 256 kbps de acesso cada um, e s possuir um link de 256 kbps que nunca todos os clientes estaro usando efetivamente a internet ao mesmo tempo, eu como cliente de um provedor wireless posso confirmar que na prtica isso no funciona muito bem. Seja mais camarada com seus clientes, principalmente se eles usam aplicativos P2P. :)
Page 2 of 12 Servidor Linux para um provedor wireless - Frum Mundo Wi-Fi 15/8/2007 http://www.mundowifi.com.br/tutoriais/1324-servidor-linux-para-um-provedor-wireless.html
Servios do servidor
Para controle de banda e de prioridade usaremos o script CBQ. No Ubuntu, Debian e derivados ele instalado atravs do pacote shaper, se a sua distro no possui um pacote de instalao do CBQ voc poder baix-lo no sourceforge.net e execut-lo, ele apenas um script que interpreta arquivos de texto colocados no /etc/cbq ou no /etc/shaper, no h nenhum processo de instalao.
O proxy transparente ser feito com o Squid. Um proxy, entre muitas outras utilidades serve como cache de pginas, ou seja, reservaremos um espao no disco rgido do servidor de acordo com a capacidade livre para armazenar as paginas acessadas.
Por exemplo, um usurio abriu o site www.kernel.org, o proxy ento guarda o contedo desse site em seu cache, em seguida um outro cliente abriu o mesmo site, ento o proxy verifica se a pagina foi atualizada, se no houver atualizao ele apenas pega o que tem em seu cache e manda para o cliente, sem a necessidade de buscar novamente o mesmo contedo na internet.
Na prtica isso ocasiona uma incrvel poupana de banda. Denominamos o nosso proxy de transparente porque ele no precisar ser configurado manualmente no navegador dos clientes, atravs de uma regra no firewall redirecionaremos o fluxo de navegao para o Squid.
Colocaremos tambm no servidor o servio Bind9 para cache DNS. Teremos nossa prpria tabela de mapeamento de endereos na internet, assim, na configurao de rede dos seus clientes, voc poder colocar como DNS primrio o IP do seu servidor (o mesmo que o gateway) e no o da telecom, alm de deixar a configurao mais prtica tambm economiza o link.
Para evitar fures acessando sua internet usaremos o cadastro de IP preso a um MAC. O MAC o endereo fsico da interface de rede, ele nico, cada placa de rede ou wireless tem um endereo MAC diferente, (para v-lo use ifconfig no Linux e ipconfig /all no prompt do Windows). Na hora de cadastrar seu cliente voc colocar o MAC da interface dele e o endereo IP que voc escolheu, no momento que o cliente for usar a internet, se os dois endereos no coincidirem o acesso no funcionar. No que seja um sistema 100% seguro porque endereos MACs podem ser facilmente emulados, mas j dificultar bastante a vida de usurios no autorizados.
Para firewall usaremos um script iptables muito simples baseado no firewall do Kurumin.
Instalao e configurao
A instalao do Ubuntu Server no complicada e no ser tratada aqui. No processo de instalao possvel j deixar ativo alguns servios de servidor como DNS e o LAMP que so os servios para servidor de pginas e e-mail. recomendvel que voc no tenha esses servios instalados no seu servidor, se tiver instalado, desative-os e preferencialmente use-os em outro servidor. Page 3 of 12 Servidor Linux para um provedor wireless - Frum Mundo Wi-Fi 15/8/2007 http://www.mundowifi.com.br/tutoriais/1324-servidor-linux-para-um-provedor-wireless.html
Antes de mais nada voc de ter configurado as interfaces de rede durante a instalao ou posteriormente, e sua conexo com a internet j deve estar funcionando. Na primeira interface voc coloca o IP que recebeu da telecom e na segunda interface voc coloca a faixa de IPs que quiser.
Voc pode dar ao servidor o IP 192.168.0.1/255.255.255.0 a os seus clientes todos os endereos entre 192.168.0.2 at 192.168.0.254 ou o IP 10.0.0.1/255.0.0.0 entre inmeras outras possibilidades, isso no importa, s levaremos em considerao de agora em diante que sua interface com a internet a eth0 e a interface com os clientes a eth1, (se a sua configurao for diferente voc ter que adaptar algumas coisas).
Primeiramente logue-se como root, no Ubuntu necessrio entrar com a conta normal e depois:
$ sudo su
Para facilitar as coisas, primeiro instale o SSH e use o servidor remotamente, ir facilitar na hora de copiar os scripts listados neste artigo e depois voc poder deixar o servidor sem monitor.
# apt-get update # apt-get install ssh
Agora voc pode usar o servidor atravs de outro computador que esteja na mesma rede, ligue a interface de rede eth1 num switch e configure outro computador com a mesma classe de IP. Para se conectar no Linux use o comando ssh usuario@ip_do_servidor, no Windows baixe o programa Putty facilmente encontrado no Google.
Por questes de segurana muitos administradores mudam a porta padro (22) do SSH para dificultar invases, se desejar pode voc fazer isso editando o arquivo "/etc/ssh/sshd_config.conf"
Agora a instalao dos servios. Para instalar os pacotes usados d o seguinte comando:
# apt-get install shaper squid bind9 -y
Ok, ao trmino os pacotes necessrios j estaro instalados. Comearemos a configur-los. Para o DNS no necessrio fazer nada, assim que instalado ele j funciona como cache de endereamentos.
Page 4 of 12 Servidor Linux para um provedor wireless - Frum Mundo Wi-Fi 15/8/2007 http://www.mundowifi.com.br/tutoriais/1324-servidor-linux-para-um-provedor-wireless.html Configurao do Proxy
O primeiro a ser configurado ser o proxy Squid, vamos remover o arquivo padro e criar um totalmente novo (o editor de texto vi no muito agradvel no Ubuntu, voc pode instalar e usar o vim, o nano, etc.):
# rm /etc/squid/squid.conf # vi /etc/squid/squid.conf
Coloque o seguinte contedo. Observe os comentrios e faa as adaptaes necessrias.
acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object
# mude a faixa de IPs de acordo com a que voc decidiu usar: acl clientes src 192.168.0.0/255.255.255.0
# arquivos de Log cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log
# tamanho mximo de arquivo que o cache guardar, # pode ser aumentado. maximum_object_size 80000 KB
# diretrio onde ser ficar armazenado o cache das pginas. # O 10000 o nmero em MBs do HD que ser reservado para o cache. # Mude como achar melhor. # Voc pode tambm mudar o diretrio do cache, apenas certifique-se # de que o usurio proxy tenha permisso de escrita neste local. cache_dir ufs /var/spool/squid/ 10000 16 256
# usurio que executa o servidor proxy cache_effective_user proxy
Page 5 of 12 Servidor Linux para um provedor wireless - Frum Mundo Wi-Fi 15/8/2007 http://www.mundowifi.com.br/tutoriais/1324-servidor-linux-para-um-provedor-wireless.html # habilita permisso pra rede definida e bloqueia acessos vindos de # outros endereos http_access allow clientes http_access deny all
## FIM DO ARQUIVO ## Depois de configurado o arquivo, voc j pode ativar o Squid:
# /etc/init.d/squid restart
Cadastramento dos Clientes
Os seus clientes sero cadastrados no arquivo "/etc/provedor/clientes". Crie esse arquivo:
# vi /etc/provedor/clientes
Agora preencha esse arquivo como exemplo: 0010|novo-teste|192.168.0.7|128|12|8|00:E0:06:EF:7F:D8|3|A 0011|teste|192.168.0.3|256|30|15|00:0B:CD:A4:AE:2C |5|B Cada linha corresponde a um cliente. Os campos so separados com | (pipe-line). O primeiro campo o cdigo do cliente, inicie a partir de 0010, sempre com 4 dgitos. Em seguida o nome, o endereo IP escolhido, a velocidade de conexo, a taxa de download, a taxa de upload, o endereo MAC, a prioridade (quanto mais baixo mais prioridade) e por fim, A, ativo ou B, bloqueado.
O script que l essas informaes ser o "configurador.sh", crie-o na mesma pasta e depois d permisso de execuo
# touch /etc/provedor/configurador.sh # chmod +x /etc/provedor/configurador.sh # vi /etc/provedor/configurador.sh
A explicao do seu funcionamento vem em seguida. Cole o contedo: #!/bin/bash Page 6 of 12 Servidor Linux para um provedor wireless - Frum Mundo Wi-Fi 15/8/2007 http://www.mundowifi.com.br/tutoriais/1324-servidor-linux-para-um-provedor-wireless.html # script criado por Tiago Andre Geraldi virgulla@gmail.com
sh /etc/provedor/firewall.sh /etc/init.d/shaper restart
## FIM DO ARQUIVO ## O script trabalha com a pasta /etc/shaper onde fica o controle de banda, tambm usa o arquivo /etc/provedor/users.sh que ser criado pelo script e que ser lido pelo firewall que criaremos depois. Neste arquivo fica a habilitao de internet para os IPs cadastrados.
A primeira coisa que ele faz apagar os arquivos atuais. Em seguida ele l o "/etc/provedor/clientes" e guarda em variveis, cria os arquivos do controle de banda e o "/etc/provedor/users.sh" atualizado. D o comando arp que prende o Ip ao MAC e por ltimo reinicia o servio de controle de banda e re-executa o firewall.
Sempre que fizer alguma alterao nos cadastros basta que voc execute o configurador:
# sh /etc/provedor/configurador.sh
Mas calma, voc ainda precisa criar o firewall, seno nada funcionar.
Firewall Page 8 of 12 Servidor Linux para um provedor wireless - Frum Mundo Wi-Fi 15/8/2007 http://www.mundowifi.com.br/tutoriais/1324-servidor-linux-para-um-provedor-wireless.html
Crie o arquivo "/etc/provedor/firewall.sh" com o contedo abaixo (fique atento nos comentrios). Depois de salvar d permisso de execuo. #!/bin/bash # Esse script criado por Tiago Andr Geraldi baseado # no firewall criado por Carlos Morimoto para o Kurumin Linux
## limpa as tabelas das regras, nada a ser mudado aqui iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t filter -F iptables -t filter -X iptables -t mangle -F iptables -t mangle -X
# habilita internet para os usurios cadastrados sh /etc/nat/users.sh
# Marcacao de pacotes para controle de banda. Mude a faixa de IPs de acordo com a sua for i in `seq 2 254` do iptables -t mangle -A POSTROUTING -s 192.168.0.$i -j MARK --set-mark $i done
# Habilita PROXY TRANSPARENTE # mude a interface rede se eth1 no for a interface conectada ao wireless iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
# Abre uma porta (inclusive para a Internet). Neste caso apenas deixamos aberto o acesso para SSH, Proxy e DNS.
Page 9 of 12 Servidor Linux para um provedor wireless - Frum Mundo Wi-Fi 15/8/2007 http://www.mundowifi.com.br/tutoriais/1324-servidor-linux-para-um-provedor-wireless.html iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT iptables -A INPUT -p tcp --destination-port 53 -j ACCEPT iptables -A INPUT -p tcp --destination-port 3128 -j ACCEPT iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
# Protees diversas contra portscanners, ping of death, ataques DoS, etc. iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP iptables -A FORWARD -m unclean -j DROP
# Abre para a interface de loopback. iptables -A INPUT -i lo -j ACCEPT
# BLOQUEA O QUE NAO SE ENCAIXA NAS REGRAS ACIMA iptables -A INPUT -p tcp --syn -j DROP iptables -P FORWARD DROP
## FIM DO ARQUIVO ## Concluso
Depois dos passos anteriores, seu servidor j pode ser executado:
# sh /etc/provedor/configurador.sh
Coloque essa linha sem o # no arquivo /etc/init.d/bootmisc.sh para que seja executado automaticamente na inicializao. Em distribuies no Debian voc deve usar o "/etc/rc.d/rc.local".
Agora voc precisa pegar o endereo MAC dos seus clientes definir um IP pra cada um e cadastrar todos. O gateway e DNS para os clientes o IP do seu servidor, no exemplo 192.168.0.1.
Existe muitas possibilidades de implementao de um servidor para provedor. A forma que utilizei torna a configurao nos clientes trabalhosa mas infelizmente a tecnologia wireless no oferece segurana tolervel mesmo usando criptografia. Acredito ser essa a melhor opo.
Page 10 of 12 Servidor Linux para um provedor wireless - Frum Mundo Wi-Fi 15/8/2007 http://www.mundowifi.com.br/tutoriais/1324-servidor-linux-para-um-provedor-wireless.html
Tratei aqui de forma abstrata os servios como proxy, DNS e firewall. Eles so ferramentas poderosssimas. Se procura solues diferentes ou deseja implementar novos recursos voc encontrar material abundante aqui mesmo neste site.
" Conteudo retirado do Servidor Linux para um provedor wireless e o Autor Tiago Andr Geraldi "
Referncias http://www.guiadohardware.net/dicas/servidor-linux-provedor-wireless.html leomezza on Ontem, 17:12 #1 (permalink) Re: Servidor Linux para um provedor wireless Esse d vontade de testar em Lab. Parabns.
Atualizando WRT54G/S v5, v5.1 e v6 para DD-WRT Linux O.S. | Fazendo uma antena Omni Direcional Frum Mundo Wi-Fi > Especial > Tutoriais
Regras de Postagem Voc pode no postar novos tutoriais Voc pode no postar comentrios Voc no pode anexar arquivos Voc no pode editar seus posts vB code est Ligado Smilies est Ligado [IMG] est Ligado HTML est Ligado Trackbacks are Ligado Page 11 of 12 Servidor Linux para um provedor wireless - Frum Mundo Wi-Fi 15/8/2007 http://www.mundowifi.com.br/tutoriais/1324-servidor-linux-para-um-provedor-wireless.html
Horrio baseado em GMT -3. Agora so: 21:00.
Developed by: vBulletin - Copyright 2003 - 2007, Jelsoft Enterprises Ltd. Content Relevant URLs by vBSEO 3.0.0 2007, Crawlability, Inc. Protected by CBACK.de CrackerTracker
Pingbacks are Ligado Refbacks are Ligado Fale Conosco - Mundo Wi-Fi - Referncia Nacional em Rede sem Fio - Site Map - Top
Page 12 of 12 Servidor Linux para um provedor wireless - Frum Mundo Wi-Fi 15/8/2007 http://www.mundowifi.com.br/tutoriais/1324-servidor-linux-para-um-provedor-wireless.html