Servidor Cache [RESOLVIDO]

1. Servidor Cache [RESOLVIDO]

Carlos Dourado
douradoinfo

(usa Linux Mint)

Enviado em 21/05/2010 - 23:22h

Boa noite, comunidade!
Pode parecer redundante o assunto, pois há muitos artigos internet adentro, mas cada um com sua especificidade.
Sou usuário Linux para desktops e estou me vendo na seguinte situação:
Um amigo me pediu uma ajuda num provedor wireless sobre alguma maneira de melhorar a conexão que, por ser uma cidade do interior, não há muitas alternativas sobre velocidade de link.
Já instalei e testei várias distribuições, mas, em se tratando de servidores, sou mega-leigo e gostaria de aprender um pouco.
Ele precisa de um servidor cache, imagino, e verifiquei algo sobre o Squid e Thunder, até tentei instalar o segundo, mas não funcionou. Segui uma documentação que trabalhava com duas placas de rede, sendo uma com a conexão, mas no meu caso só usaria uma placa. O primeiro consegui instalar em casa.
A rede possui cerca de 100 PCs. Que sugestão dariam sobre a instalação do Squid num servidor dedicado com as seguintes características:

Processador Quad Core
4 GB de memória
HD de 1 terabyte

Este servidor funcionaria em conjunto com outro que tem a conexão internet e um programa que faz autenticação e controle de banda num link de 2 mbps. Isso é possível? A finalidade seria basicamente cache.
Quanto às distribuições, tenho em mãos: Mandriva, Fedora, Debian, Ubuntu Server, Slackware (difícil pra caramba), Gentoo, Kurumin, Metamorphose, Suse e parei no Zorin. Sou praticamente um colecionador de distribuições. Qual seria mais adequada?
No Slackware, consegui compartilhar conexão, configurar as interfaces de rede, alterar alguns arquivos, mas é muito diferente...
Parece-me que o Debian é recomendado por muita gente.
Enfim, eu precisaria de uma sugestão do squid.conf ou pelo menos a distribuição do espaço do HD.
Se puderem sugerir algo, eu ficarei muito agradecido.


  


2. Re: Servidor Cache [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 22/05/2010 - 02:36h

Você não necessariamente precisaria do ThunderCache. O Squid em si, quando bem configurado já é de grande eficiência.
Quanto a pergunta acerca da possibilidade, só não entendi como será a ligação física do seu servidor, pelo fato dele ter apenas 1 placa de rede...

Recomendo Debian.
Com esta especificação de hardware, e sendo um server dedicado, o que te recomendo é deixar o "cache_mem" do squid.conf em um valor equivalente a sua quantidade de Ram... algo como 1GB.
Quanto ao particionamento, deixe uns 100GB para /, uns 20GB para /home (só para garantir) e o resto para /var, que é onde ficará o cache do seu squid.


3. ...

Carlos Dourado
douradoinfo

(usa Linux Mint)

Enviado em 22/05/2010 - 13:15h

Boa tarde, Diede. Obrigado pela orientação. Quanto à ligação física, vou tentar esclarecer e, podendo, dê uma analisada pra mim.
------------------------------------------------------------------
Modem (conexão internet) > Roteador > Servidor1(eth0 - entrada da conexão) > Servidor1(eth1 - saída para o switch) > Switch > AP's > Clientes.
------------------------------------------------------------------
Aí nesse meio - não sei direito onde - colocaria o Servidor Cache. Eu imaginei que se ligasse o servidor 2 (Cache) através de um cabo de rede local no switch pudesse funcionar como proxy. Por isso, o fato de ser uma só placa de rede porque a conexão já está no outro servidor. Não sei se é possível. Esta é a principal dúvida. Seria necessário uma placa de entrada e outra de saída tal qual o servidor principal? Pensando bem, já estou imaginando que sim. Lembrando que o servidor 1 tem um software - My Auth - que faz autenticão e controle de banda, mas, apesar de ter o squid instalado, ao verificar os gráficos, ele não está funcionando. Como o software é pago, eu não quero me aventurar a alterar algo e de repente dar tudo errado.
Obrigado mais uma vez e desculpem a confusão com as palavras, mas rede é um negócio muito complexo pra mim.


4. Re: Servidor Cache [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 22/05/2010 - 16:16h

Bem amigo, não seriam necessárias 2 placas no servidor cache. Você pode fazer com 1 placa de rede só, mas então teria que reconfigurar o gateway (no caso, seu Servidor1) criando algumas regras de DNAT/SNAT para redirecionar as requisições ao Servidor2, pegar de volta e repassar. Sim, isso seria uma quase gambiarra visto que você teria 2 servidores e um roteador antes deles, totalizando 3 roteadores para um número não tão alto de máquinas e todos cumprindo uma única função. Entendo quanto ao software atual de autenticação, mas como exatamente ele funciona? pelo que vi no site do desenvolvedor (http://www.myauth.com.br/?console=myauth3_manual&pagina=difmyauth2) ele parece ser um FreeRADIUS + Squid + LDAP + gerenciamento com gráficos + Possivelmente um DHCP.

Gostaria que você desse mais informações... como é o acesso atual dos seus usuários? eles conectam à Wireless com autenticação (certificado, usuário senha)?
Ou apenas usam usuário/senha no browser?

O que te sugiro é mesmo concertar o squid que há nele (no Myauth), ou mesmo desativá-lo e pôr um squid por fora, (Isso é, acredito que rode Linux nesse MyAuth... certo? ) ou mesmo começar seu próprio MyAuth do zero nessa sua nova máquina, dependendo de quais funcionalidades dele você usa.

Você também poderia eliminar esse roteador antes do Servidor1, e deixar apenas o server atuando como router (ela já atua como router de certa forma...)...


5. ...

Carlos Dourado
douradoinfo

(usa Linux Mint)

Enviado em 22/05/2010 - 18:10h

Oi, Boa tarde! Antes de continuar este diálogo, dei uma olhada no seu perfil. Rapaz, que bacana! Depois disso, estou me achando mais leigo do que imaginava. Pensar que o roteador que está antes dos servidores é um Cisco e o cara pagou uma nota por ele e você diz pra eliminá-lo. No mínimo, fiquei intrigado e, depois, assustado.
Vou tentar lhe dar mais algumas respostas. O My Auth realmente é o que você descreveu. Usa o FreeRadius, os usuários usam login e senha através do browser. Creio que seja algo em PHP rodando sobre o sistema e a distribuição Linux é o Slackware. Agora, esse negócio de começar um My Auth do zero vai me deixar doido, será? Mas seria o máximo.
Na verdade, temos uma outra máquina nova com o Slack 13, mas o HD está desligado. Ela dá acesso via SSH. Consegui compartilhar a conexão e só. Um HD antigo que estava com o My Auth num outro computador anda apresentando problemas, mas eu o coloquei nessa máquina nova provisoriamente. O sistema apresenta uns erros de leitura e não está permitindo acesso remoto. Olhando seu perfil, vi que é um profissional das redes. Não seria o caso de a gente ver alguma coisa a nível de serviço mesmo? Ou você não tem disponibilidade pra fazer isso? A gente agendaria um momento pra você fazer um acesso remoto, eu lhe passaria os dados, ligaria o HD novo ou instalaria o Debian por exemplo numa máquina como estou fazendo agora, se preferir. O contato com programador do My Auth está meio complicado.
Caso esta forma não seja possível, fiquei muito curioso quanto a recuperar o squid, redirecionar pra lá, devolver pra cá... Nossa! É fascinante!
Como seria desativar o squid e colocar outro por fora? Se quiser dar essas orientações a nível de consultoria, a gente conversa, já que não é essa a finalidade do fórum e eu nem sei se posso falar desses assuntos aqui. Por enquanto, fico muito agradecido e lisonjeado por estar conversando com você(s) aqui no VOL.



6. ...

Carlos Dourado
douradoinfo

(usa Linux Mint)

Enviado em 22/05/2010 - 18:14h

Outra coisa que estive pensando seria ligar os dois HDs: o antigo que tem o My Auth rodando aos trancos e barrancos e o novo com o Slackware praticamente puro. Aí você daria uma olhada nos dois. Imagino que seja possível, pra depois a gente pensar em alguma coisa. Boa noite e muito obrigado.


7. Re: Servidor Cache [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 24/05/2010 - 03:45h

Quanto ao roteador, confesso que eu imaginei um "D-linkzinho", mas agora estou curioso acerca de qual é o modelo desse seu Cisco, e porque exatamente ele foi adquirido, pois não vejo ainda necessidade dele.
Se a ideia inicial era ligar os 100 clientes a um roteador, eu até sugeriria (de longe) o Cisco, mas ao que vi do seu esquema, seu roteador tem um único cliente, que é o servidor e esse sim controla a maior parte do tráfego.
Mesmo que houvesse necessidade de algo um pouco mais complexo (diversos links de internet balanceados para centenas de clientes), um bom e velho roteador *Linux* ainda teria seu lugar garantido.
Quais outras funções desde My Auth são utilizadas por vocês? Se aí na sua rede ele estiver limitado apenas a autenticar *via browser* os usuários, o próprio Squid básico com configurações de autenticação encontradas aqui mesmo na comunidade poderia substituí-lo.
O que digo quanto a recuperar o squid é achar como e onde esse sisteminha My Auth guarda a configuração do squid e alterá-la para otimizar o cache, ou no caso, começar a fazer cache, já que pelo que você disse ele não está sendo funcionando. Em uma situação específica você poderia até mesmo seguir a ideia inicial de montar um outro servidor Cache (o de uma só placa de
rede) e colocá-lo como peer do cache atual (um cache para trabalhar junto a seu cache atual), mas isso já seria algo necessário lá pelos 1000 clientes, não ainda na casa dos 100. Outra possibilidade seria desativar o cache do squid atual e passar todas as funções de cache para um novo server... mas, dentre todas as possibilidades ainda vejo como mais eficiente refazer o sistema, criando um novo que seja flexivível e já adaptado ao que você precisa.
Achei interessante a proposta de orientação a nível de consultoria. Se possível, entre em contato via e-mail (jeffersondiego8@gmail.com) para que possamos conversar melhor a respeito.


8. ...

Carlos Dourado
douradoinfo

(usa Linux Mint)

Enviado em 25/05/2010 - 15:24h

Olá, boa tarde! Mais uma vez, obrigado pela atenção. Gostei dos desafios propostos, embora não me sinta ainda em condições de executar, mas posso tentar. Assim que começar a executar o projeto, vou lhe passar um e-mail pra gente combinar os detalhes do serviço. Por enquanto, informo-lhe que o Cisco é um 1600 e foi adquirido na época da montagem da rede, há cerca de 6 anos (acho). Não sei se existe alternativa pra ligar o modem antigo (veja alguma informação neste link: http://tecnoblog.net/loja/modem-parks/ - figuras 3 e 6 são do modem utilizado aqui) ao roteador e em seguida ao servidor. Não sei se é possível ligar esse trem direto no PC. Você conhece? No My Auth, cadastra-se clientes, visualiza gráficos, faz bloqueios de mac, ip, usuário, configura-se as placas de rede,autentica clientes, limita a banda por volume, tempo, diagnostica o sistema, visualiza os usuários autorizados, cadastra mac das interfaces de rede... Dentre essas opções, existem algumas que realmente seriam dispensáveis.Quais dessas possibilidades você acha que dá para implementar num squid básico ou outra solução parecida? Já estou achando que configurar um servidor só é o mais viável mesmo. O segundo ficaria de reserva. Se puder nos dar uma idéia, seria ótimo. O que preferir fazer da outra forma que lhe propus, é só avisar. Qualquer coisa, eu lhe passo um squid.conf que consegui alterar só para acesso e você dá uma olhada pra poder ter uma idéia melhor. Por enquanto, obrigado pela disponibilidade e parabéns pela sua competência.


9. Re: Servidor Cache [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 28/05/2010 - 00:43h

Ok, aguardo o e-mail.
Ao que tudo indica nas fotos do link, seu modem é um "Parks Power 2048". Agora sim entendo o porquê desse roteador Cisco...

Retiro o que disse acima sobre removê-lo... não achei documentação desse modem, mas apenas descrições.
Pelo que vi há modelos com interface serial e outros com ethernet 10Mbps. Se o seu for igual ao da foto, é apenas serial então não sei dizer se seria possível ligá-lo diretamente ao servidor, como você mesmo avisou...
Quanto aos recursos utilizados no MyAuth, você poderia utilizar LAM (http://www.ldap-account-manager.org/static/screenshots/userlist.jpg) + MRTG (http://www.webinject.org/images/mrtg_screenshot.png) + "script php para configurar interfaces de rede" + "Script php para rodar algumas regras iptables" + "Script php para rodar pings e testar serviços".
Quanto aos scripts, me refiro a uma interfacezinha para gerenciamento via browser mesmo...
A implementação não seria num squid básico somente, mas num pequeno número de serviços rodando com ele (LDAP para armazenar os users, Apache+PHP para gerenciar as interfaces web...)
A ideia que você deu é boa: Manter um segundo servidor como reserva. Manter os dois rodando e caso o primário páre de responder, o secundário se torna o master...
E... poste seu squid.conf aqui...


10. Servidor cache

Andre
sayrus

(usa Debian)

Enviado em 02/06/2010 - 21:45h

Amigo aqui eu tenho um servidor cache exatamente do jeito que voçê precisa pois tenho o mesmo proposito que e provedor wireless.Por isso já intendi o que voçê precisa.Pois bem...

Configuração para Debian5

Duas placas de rede
Uma vai entrar a net pelo modem Ex:eth1
A outra vai sair net para roteador wireless,com dhcp Exe:eth0
(Modem > Servidor > Roteador wireless ou outro qualquer porque dai ja sai net.

Essa era um das suas duvidas.

Com Debian já instalado (Na hora da instalaçao selecione eth1 para receber dhcp como no meu para ficar mais facil pra gente,ai e so fazer poucas alteraçoes)

Adicione as configuraçoes

#nano /etc/apt/sources.list

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main
deb http://ftp.br.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.br.debian.org/debian/ lenny main contrib non-free
deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

Comente esta linha com "#" para ele nao buscar atualizar pelo cd

#deb cdrom:[Debian GNU/Linux 5.0.0 _Lenny_ - Official i386 CD Binary-1 20090214-16:29]/ lenny main

Salve com Ctrl+o, Ctrl+x sai do nano.

#apt-get update
#apt-get upgrade

Eu gosto de trabalhar com vim,editor de texto faça

#atp-get install vim

Depois de instalado "vi /etc/vim/vimrc" e de um del em " na frente da linha "syntax on (para ele ficar colorido,melhor pra trabalhar)Para salvar os aquivos Precione Esc :w(salva), Esc :q (sai, com q! sai forçado sem salva)Só o básico.

Nos arquivos de configuraçao apague as explicações,no caso de copiar colar.

######## Configurando placas de rede ########

Adicione as configuraçoes

#vi /etc/network/interfaces

auto lo eth0 eth1
iface lo inet loopback

# The primary network interface(IP fixo na rede eth0 saida net para os clientes)

allow-hotplug eth1
iface eth0 inet static
address 10.1.2.1
netmask 255.255.255.0
network 10.1.2.0
broadcast 10.1.2.255

iface eth1 inet dhcp (eth1 placa que recebe ip do modem)



######## Arquivo rc.local ########


Adicione as configuraçoes

#vi /etc/rc.local

#exit 0

modprobe iptable_nat
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m \
tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
iptables -A INPUT -i eth0 -p tcp --dport 3128 -j ACCEPT

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j \
REDIRECT --to-port 3128

######## Instalando Squid ########

#apt-get install squid

#mv /etc/squid/squid.conf /etc/squid/squid.conf.orig

Adicione as configuraçoes

#vi /etc/squid/squid.conf


http_port 3128 transparent
visible_hostname Nome da maquina (descubra com "hostname")

acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY


cache_mem 1024 MB (sua memoria dividido por 3)
maximum_object_size_in_memory 64 KB
maximum_object_size 700 MB
minimum_object_size 2 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 409600 16 256 (mude 409600(400G) por tamando do hd x 1024 não o hd todo somente o que voçê deseja)
#cache_access_log /var/log/squid/access.log
error_directory /usr/share/squid/errors/Portuguese
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

#Thunder3

#acl thunder_lst url_regex -i "/etc/thunder/thunder.lst"
#cache deny thunder_lst
#cache_peer 10.1.2.1 parent 8080 0 proxy-only no-digest
#dead_peer_timeout 2 seconds
#cache_peer_access 10.1.2.1 allow thunder_lst
#cache_peer_access 10.1.2.1 deny all

acl redelocal src 10.1.2.0/24
http_access allow localhost
http_access allow redelocal
http_access deny all

Reinicie

#/etc.init.d/squid restart

######## Instalando dhcp ########

#apt-get install dhcp3-server

#mv /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.orig

Adicione as configuraçoes

#vi /etc/dhcp3/dhcpd.conf

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;

subnet 10.1.2.0 netmask 255.255.255.0 {
range 10.1.2.2 10.1.2.254;
option routers 10.1.2.1;
option domain-name-servers 201.10.128.3,201.10.128.2; (DNS do seu modem,provedor)
option broadcast-address 10.1.2.255;
}

Reinicie

# /etc/init.d/dhcp3-server restart

Agora e só reiniciar a maquina que ele volta funcionando,aqui só copio as configuraçoes prontas.Faça as suas alteraçoes e apague meus comentarios.

#### Thunder cache 3 ####


apt-get install squid apache2 libapache2-mod-php5 php5 php-db php5-gd php5-sqlite sqlite3 libsqlite3-dev libstdc++6 unzip bzip2

cd /root
wget http://www.biazus.com/forum/download/file.php?id=179 -O thunder3-32bits.tar.bz2
mkdir thunder3-32bits
tar xjvf thunder3-32bits.tar.bz2 -C thunder3-32bits
cd thunder3-32bits
mkdir /usr/local/sbin
cp -R /root/thunder3-32bits/sbin/* /usr/local/sbin
chmod a+x /usr/local/sbin/thunder
mkdir /var/log/thunder
mkdir /var/tmp/thunder
mkdir /var/run/thunder
chmod a+rwx /var/log/thunder
chmod a+rwx /var/tmp/thunder
chmod a+rwx /var/run/thunder
cp -R /root/thunder3-32bits/etc/init.d/* /etc/init.d
chmod a+x /etc/init.d/thunder
cp -R /root/thunder3-32bits/etc/thunder /etc/thunder
touch /etc/thunder/whitelist
touch /etc/thunder/blacklist
mkdir /thunder
chmod a+rwx /thunder
chown -R www-data /thunder/
chmod -R 777 /thunder/
umask 000 /thunder/
echo "extension=pdo.so" >> /etc/php5/apache2/php.ini
echo "vm.swappiness=10" >> /etc/sysctl.conf
update-rc.d thunder defaults
ln -s /etc/thunder/thunder.php /var/www/thunder3.php

Nessa ultima linha da um Enter,só cola do jeito que ta reicicia e ta 100%,
depois http://10.1.2.1/thunder3.php para ver o cache feito


No squid.conf


acl thunder_lst url_regex -i "/etc/thunder/thunder.lst"
cache deny thunder_lst
cache_peer IPTHUNDER parent 8080 0 proxy-only no-digest
dead_peer_timeout 2 seconds
cache_peer_access IPTHUNDER allow thunder_lst
cache_peer_access IPTHUNDER deny all

Ja foi adiciona la no squid.conf somente retire as "#"

Depois volto para explicar outra coisa sobre o cache...Voçê usa Mikrotik?


11. Ausente...

Carlos Dourado
douradoinfo

(usa Linux Mint)

Enviado em 15/11/2010 - 00:35h

Peço desculpas aos amigos que postaram suas contribuições. Estive ausente muito tempo, mas estou retornando e que bom que encontrei mais orientações. Tenho certeza que me serão muito úteis. Continuo às voltas com muitos desafios e sempre dependerei dos amigos. Obrigado mesmo! Uso Mikrotik.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts