Ola preciso de ajuda

1. Ola preciso de ajuda

gabriel almeida moura ladislau
gabrielladislau

(usa Debian)

Enviado em 13/10/2009 - 09:26h

usei o seguinte tutorial para fazer a instalação de um servidor proxy que controle a banda. e efetue bloqueio de usuario estou usando o ubuntu 9.04 server so que quando peço para bloquear
0011|teste|192.168.0.3|256|30|15|00:0B:CD:A4:AE:2C|5|B
no arquivo /etc/provedor/cliente ele simplemente não bloqueia ele so remove o controle que tenho sobre o usuario.
O que esta faltando eu fazer ?



Instalação e configuração


A instalação do Ubuntu Server não é complicada e não será tratada aqui. No processo de instalação é possível já deixar ativo alguns serviços de servidor como DNS e o “LAMP” que são os serviços para servidor de páginas e e-mail. É recomendável que você não tenha esses serviços instalados no seu servidor, se tiver instalado, desative-os e preferencialmente use-os em outro servidor.

Antes de mais nada você de ter configurado as interfaces de rede durante a instalação ou posteriormente, e sua conexão 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 endereços entre 192.168.0.2 até 192.168.0.254 ou o IP 10.0.0.1/255.0.0.0 entre inúmeras outras possibilidades, isso não importa, só levaremos em consideração de agora em diante que sua interface com a internet é a eth0 e a interface com os clientes é a eth1, (se a sua configuração for diferente você terá que adaptar algumas coisas).

Primeiramente logue-se como root, no Ubuntu é necessário 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 através 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 questões de segurança muitos administradores mudam a porta padrão (22) do SSH para dificultar invasões, se desejar pode você fazer isso editando o arquivo "/etc/ssh/sshd_config.conf"

Agora a instalação dos serviços. Para instalar os pacotes usados dê o seguinte comando:

# apt-get install shaper squid bind9 -y

Ok, ao término os pacotes necessários já estarão instalados. Começaremos a configurá-los. Para o DNS não é necessário fazer nada, assim que instalado ele já funciona como cache de endereçamentos.


Configuração do Proxy


O primeiro a ser configurado será o proxy Squid, vamos remover o arquivo padrão e criar um totalmente novo (o editor de texto vi não é muito agradável 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 conteúdo. Observe os comentários e faça as adaptações necessárias.

http_port 3128 transparent
visible_hostname provedor_wireless

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 máximo de arquivo que o cache guardará,
# pode ser aumentado.
maximum_object_size 80000 KB

# diretório onde será ficará armazenado o cache das páginas.
# O 10000 é o número em MBs do HD que será reservado para o cache.
# Mude como achar melhor.
# Você pode também mudar o diretório do cache, apenas certifique-se
# de que o usuário proxy tenha permissão de escrita neste local.
cache_dir ufs /var/spool/squid/ 10000 16 256

# usuário que executa o servidor proxy
cache_effective_user proxy

# habilita permissão pra rede definida e bloqueia acessos vindos de
# outros endereços
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 serão 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 são separados com “|” (pipe-line). O primeiro campo é o código do cliente, inicie a partir de 0010, sempre com 4 dígitos. Em seguida o nome, o endereço IP escolhido, a velocidade de conexão, a taxa de download, a taxa de upload, o endereço MAC, a prioridade (quanto mais baixo mais prioridade) e por fim, “A”, ativo ou “B”, bloqueado.

O script que lê essas informações será o "configurador.sh", crie-o na mesma pasta e depois dê permissão de execução

# touch /etc/provedor/configurador.sh
# chmod +x /etc/provedor/configurador.sh
# vi /etc/provedor/configurador.sh

A explicação do seu funcionamento vem em seguida. Cole o conteúdo:

#!/bin/bash
# script criado por Tiago Andre Geraldi – virgulla@gmail.com

rm -f /etc/shaper/*
rm /etc/provedor/users.sh
touch /etc/provedor/users.sh
chmod +x /etc/provedor/users.sh

LISTA=`cat /etc/provedor/clientes`
for CLIENTE in $LISTA; do
CODIGO=`echo $CLIENTE | awk -F "|" '{print $1}'`
NOME=`echo $CLIENTE | awk -F "|" '{print $2}'`
IP=`echo $CLIENTE | awk -F "|" '{print $3}'`
CON=`echo $CLIENTE | awk -F "|" '{print $4}'`
DOWN=`echo $CLIENTE | awk -F "|" '{print $5}'`"kbit"
UP=`echo $CLIENTE | awk -F "|" '{print $6}'`"kbit"
MAC=`echo $CLIENTE | awk -F "|" '{print $7}'`
PRIO=`echo $CLIENTE | awk -F "|" '{print $8}'`
STAT=`echo $CLIENTE | awk -F "|" '{print $9}'`
# checa se esta ativado
if [ "$STAT" = "A" ]; then

UPLOAD="/etc/shaper/cbq-"$CODIGO"."$NOME"_upload"
DOWNLOAD="/etc/shaper/cbq-"$CODIGO"."$NOME"_download"
touch $UPLOAD
touch $DOWNLOAD
chown 755 /etc/shaper/*

# eth1 corresponde a interface de rede conectada aos usuarios
# mude se necessario

echo "DEVICE=eth1,100Mbit,10Mbit" >> $UPLOAD
echo "RATE=$CON""KBit" >> $UPLOAD
echo "WEIGHT=$UP" >> $UPLOAD
echo "PRIO=$PRIO" >> $UPLOAD
echo "BOUNDED=yes" >> $UPLOAD
echo "ISOLATED=yes" >> $UPLOAD
echo "MARK=30" >> $UPLOAD

echo "DEVICE=eth1,100Mbit,10Mbit" >> $DOWNLOAD
echo "RATE=$CON""KBit" >> $DOWNLOAD
echo "WEIGHT=$DOWN" >> $DOWNLOAD
echo "PRIO=$PRIO" >> $DOWNLOAD
echo "RULE=""$IP" >> $DOWNLOAD
echo "BOUNDED=yes" >> $DOWNLOAD
echo "ISOLATED=yes" >> $DOWNLOAD

echo "iptables -t nat -A POSTROUTING -s $IP"" -j MASQUERADE" >> /etc/nat/users.sh
echo "iptables -A FORWARD -s $IP"" -j ACCEPT" >> /etc/nat/users.sh
echo "iptables -A FORWARD -d $IP"" -j ACCEPT" >> /etc/nat/users.sh

arp -s $IP $MAC

fi

done

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, também 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 habilitação 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 variáveis, 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 serviço de controle de banda e re-executa o firewall.

Sempre que fizer alguma alteração nos cadastros basta que você execute o configurador:

# sh /etc/provedor/configurador.sh

Mas calma, você ainda precisa criar o firewall, senão nada funcionará.


Firewall


Crie o arquivo "/etc/provedor/firewall.sh" com o conteúdo abaixo (fique atento nos comentários). Depois de salvar dê permissão de execução.

#!/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 usuários 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 roteamento
echo 1 > /proc/sys/net/ipv4/ip_forward

# Habilita PROXY TRANSPARENTE
# mude a interface rede se eth1 não 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.

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

# Proteções 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 ##



Conclusão


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 inicialização. Em distribuições não Debian você deve usar o "/etc/rc.d/rc.local".

Agora você precisa pegar o endereço 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 implementação de um servidor para provedor. A forma que utilizei torna a configuração nos clientes trabalhosa mas infelizmente a tecnologia wireless não oferece segurança tolerável mesmo usando criptografia. Acredito ser essa a melhor opção.

Tratei aqui de forma abstrata os serviços como proxy, DNS e firewall. Eles são ferramentas poderosíssimas. Se procura soluções diferentes ou deseja implementar novos recursos você encontrará material abundante aqui mesmo neste site.




  


2. -- help!!

scinformatica
scinformatica

(usa Ubuntu)

Enviado em 07/03/2010 - 10:26h

Olá amigo,
também estou com problemas neste tutorial, porém nem fui tão longe assim quanto o amigo..hehehe....
meu problema é com a instalação do pacote SHAPER pois o unico que eu encontri foi o SHAPERD (ubuntu 9.10). quando eu rodo o CONFIGURADOR.SH descrito neste tutorial, ele me pede para configurar o arquivo SHAPERD.CONF e ai eu não sei o q fazer, vc amigo como fez para instalar o SHAPER?

agradeço a atenção e ajuda desde já...TANKS!!!

email e msn: sc_vda@brturbo.com.br






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts