Instalando o Pycontrole no Ubuntu 8.04.

Pycontrole é o primeiro sistema de gerência de provedores de acesso a internet totalmente open source escrito em python. O código fonte acompanha o pacote de instalação, permitindo que você melhore e personalize o software.

Embora não seja a versão final, já encontra-se em condições de uso plena, desempenhando um excelente trabalho no cadastro dos usuários e administração do link do provedor.

Utiliza banco de dados postgres, o que o torna bastante estável e confiável, podendo em um único servidor suportar até 9.999 usuários cadastrados. Com utilização de múltiplos servidores pode atingir um número ilimitados de usuários.

O pycontrole permite a utilização de proxy transparente, é facilmente integrável com o gerador de relatórios e gráficos CACTI e roda sem muitas dificuldade em qualquer distribuição linux.

Quando um serviço de um cliente é cadastrado,alterado ou removido, o sistema gera regras de Tc e Iptables, com isso limitando a banda e controlando acesso.

As regras geradas são somente para o cliente, ou seja, quando ocorre alguma alteração no serviço do cliente, somente regras para aquele serviço do cliente serão executadas em tempo real.

O pycontrole faz uso de diversas ferramentas instaladas no linux.

Tc (traffic control)
Iptables (Firewall)
Snmp, Snmpd (Cliente snmp para consultas e servidor snmp para gerar gráficos )
cacti (Gerenciar os gráficos e relatórios)
Apache (Servidor WEB)
pmacct (IP account)
dhcpd (DHCP Server)

Kernel e Iptables com suporte a Layer7 (não é obrigatório se não for controlar p2p )

Python 2.5.x (Linguagem)
TurboGears 1.0.5 (Framework)
SQLObject 0.10.2 (Mapeador Objeto-relacional)
Psycopg2 (Componente para comunicação com o pgsql)
PostgreSQL 8.x (Banco de dados)

INSTALAÇÃO

# Data: Sex 28 set 2008.
# Versão: 1.0_NO_IMQ
# Pycontrole install.
# Requisitos:
# Instalação no ubuntu_8.04 32bits.
# Para geração de graficos e estatisticas do provedor sugerimos o pacote cacti.
# Para gerencia de tráfego o pycontrole usa o pmacct.
# Para banco de dados o pycontrole usa o postgress 8.2 ou superior.

# Para instalar o cacti.
apt-get install cacti
# Não abordaremos questões referentes as configurações necessárias para a configuração do cacti. Siga as instruções do debconf e boa sorte!

# Pacote pycontrole (tar.bz2).
#pycontrole_1.0_no_imq.tar.bz2
http://pycontrole.googlecode.com/files/pycontrole_no_imq1.0.zip

# Primeiro vamos copiar o pycontrole_no_imq1.0.zip para /opt
mkdir /opt/turbogears
cp pycontrole_no_imq1.0.zip /opt/turbogears
cd /opt/turbogears
unzip pycontrole_no_imq1.0.zip
cd /opt/turbogear/pycontrole/install

# Pacote personalizado do python (tar.bz2).
# python_x86_ubuntu_8.04.tar.bz2 (para uso em Ubuntu 8.04 de 32bits)
http://pycontrole.muricinet.com.br/pycontrole-0.8/ubuntu-8.04/python_x86_ubuntu_8.04.tar.bz2

# Copiar e extrair o pacote python personalizado para o pycontrole para /usr/local.
cp python_x86_ubuntu_8.04.tar.bz2 /usr/local
cd /usr/local
tar -jxvf python_x86_ubuntu_8.04.tar.bz2

# Caso sua versão do postgres seja diferente da 8.2 ou 8.3 (padrão disponíveis no Ubuntu_8.04), siga os passos a seguir.
# Instalando o pyscopg2 de acordo com a versão de seu postgres
# Se for mudar a distribuição ou trabalhar com um postgres diferente da versão 8.2 ou 8.3 siga os passos seguintes:
# Remover o psycopg2
rm -rf /usr/local/python/lib/python2.5/site-packages/psycopg2-2.0.8-py2.5-linux-i686.egg
Instala o psycopg2 novamente para sua versão do postgres.
# Depende do pacote libpq-dev para instalar o psycopg2 #apt-get install libpq-dev.
/usr/local/python/bin/easy_install-2.5 psycopg2

# Ajustando o postgres para receber os bancos do pycontrole e do pmacct permitindo conexao local como confiavel e  conexoes de hosts somente com user e senha
# Editar vim /etc/postgresql/8.3/main/pg_hba.conf
# Procure pelas linhas local all e as defina como trust.
local   all         postgres                          trust
local   all         all                               trust
# Reinicie seu postgresql
sudo /etc/init.d/postgresql-8.3 restart

# CRIANDO O USUÁRIO PYCONTROLE E PMACCT PARA O SISTEMA.

#su postgres

$ createuser -U postgres pycontrole
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n

$ createuser -U postgres pmacct
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n

# MUDANDO A SENHA DO USUÁRIO PYCONTROLE E DO PMACCT. ( Para acesso do banco do sistema, visualizar dev.cfg. Para pmacct, consultar configsys/pmacct.cfg e /etc/pmacct/pmacctd.conf ).

$ psql -U postgres -c “alter user pycontrole with password ‘pyoitudobemcontrole00′”
$ psql -U postgres -c “alter user pmacct with password ‘pmacctasdfpoiu’”

# CRIANDO BANCO DE DADOS PYCONTROLE E O PMACCT.

$ createdb -U postgres -O pycontrole -E UTF8 pycontrole
$ createdb -U postgres -O pmacct pmacct

# CRIANDO TABELAS DO BANCO PMACCT.

cd /opt/turbogears/pycontrole/install/sql
psql -U postgres -d pmacct < pmacct.sql

# CRIANDO TABELAS DO BANCO PYCONTROLE E INSERINDO ALGUNS VALORES PADRÕES.

cd /opt/turbogears/pycontrole
/usr/local/python/bin/tg-admin shell
from pycontrole import create
create.make()

# INSTALANDO PMACCT.

# Consultar tráfego dos clientes
# A consulta de tráfego é feita através do pmacct, se estiver utilizando debian pode ser realizado da seguinte forma:

apt-get install pmacct

# Se preferir compilar D , segue abaixo os comandos

tar zxvf pmacct-0.11.4.tar.gz
cd pmacct-0.11.4
./configure –prefix=/usr/local/pmacct –enable-pgsql
make
make install

CONFIGURANDO PMACCT
cp /opt/turbogears/pycontrole/install/files/pmacctd.conf /etc/pmacct

# Personalize seu pmacct de acordo com a sua rede

# INSTALANDO DHCP.

apt-get dhcp3-server
# Em /etc/default/dhcp3-server edite
INTERFACES=”wlan1″ #Ponha sua interface de rede interna em wlan1
Em /opt/turbogears/pycontrole/system/dhcp.sh, adicione as linhas no final.
cp /opt/turbogears/pycontrole/system/dhcpd.conf /etc/dhcp3/dhcpd.conf
/etc/init.d/dhcp3-server restart

COPIANDO SCRIPTS DE INICIALIZACAO DO SISTEMA E DO TURBOGEARS

cp /opt/turbogears/pycontrole/install/files/turbogears /etc/init.d
cp /opt/turbogears/pycontrole/install/files/pycontrole /etc/init.d
chmod +x /etc/init.d/turbogears
chmod +x /etc/init.d/pycontrole

PARA EXECUTAR SISTEMA

/etc/init.d/turbogears start
ou

cd /opt/turbogears/pycontrole
/usr/local/python/bin/python2.5 start-pycontrole.py

PARA APLICAR AS REGRAS QUANDO O COMPUTADOR INICIAR

/etc/init.d/pycontrole start
ou
cd /opt/turbogears/pycontrole
/usr/local/python/bin/python2.5 boot.py

# Para ativar e desativar/ativar o pycontrole
/opt/turbogears/pycontrole/config/pycontrole.cfg

[DEFAULT]
proxylocal = 1 #Caso o proxy seja em outra máquina, use 0.
hostbloqueio = 10.100.100.1
localbackup = /root
portbloqueio = 80
portproxy = 3128
mark = 100
imqup = imq0
hostproxy = 100.100.100.1
imqdown = imq1
p2p = 0
p2prate = 70
markp2p = 70
dhcp = 1
localsistema = /opt/turbogears/pycontrole
ativo = 0 #Ativa e desativa o sistema 0 = inativo 1 = ativo
proxy = 0

# Por fim você pode acessar agora seu pycontrole na porta 8080 #http://localhost:8080

Qualquer dúvida, opencode (at) gmail (dot) com / aderbal (at) gmail (dot) com.

# Se for modificar o arquivo, por favor, mantenha os créditos.

Este artigo foi enviado domingo, setembro 21st, 2008 as 0:45 arquivado em Pycontrole. Você pode acompanhar quaisquer respostas através do RSS 2.0 feed. Both comments and pings are currently closed.

Anúncios

~ por 3c0linux em outubro 3, 2008.

 
%d blogueiros gostam disto: