Proxy Squid no openSUSE 13.1 via Yast – Cleuber.com.br
Home / Dicas e Tutoriais / Proxy Squid no openSUSE 13.1 via Yast
Proxy Squid no openSUSE 13.1 via Yast
Posted by: cleuberadmin in Dicas e Tutoriais, Linux 16/09/2014	2 Comments 5,055 Views
Há pouco tempo postei a instalação do seu servidor de proxy com Squid, e administração dele também pelo Webmin.
Pois bem, agora vou mostrar como fazer isso no openSUSE 13.1, instalação e administração dele pelo Yast e você perceberá que também não é nenhum "bicho de sete cabeças".
O Yast (Yet Another Setup Tool) é um painel de controle para configurações avançadas do openSUSE ou SUSE Enterprise, e dispõe de muitas configurações para o seu sistema, incluindo configurações para seus serviços de servidor. Permite de maneira gráfica configurar tudo o que mais precisar. Eu o considero simplesmente fantástico e ainda não entendo porque outras Distros Linux também não disponibilizam um painel de controle tão completo quanto.
Além do Yast, você poderá fazer isso via linha de comando também, então passarei dos dois modos.
# zypper in squid
Instalando Via Yast:
Abra o Yast e vá até o item "Gerenciamento de Software" ou "Software Management" (se quiser instalar o idioma português do Brasil no seu openSUSE 13.1, dê uma olhada neste ARTIGO).
Digite no campo de busca "squid" (sem aspas).
Selecione o pacote do Squid e Squid-Yast também.
Edite o arquivo de configuração para definir o endereço de sua rede, porta que o Squid irá trabalhar e opcionalmente o hostname de seu servidor.
Obs. O arquivo de configuração do Squid é enorme pois tem toda a documentação nele e centenas de opções desabilitadas. Mas repare que ao instalá-lo no openSUSE, eles tiveram o cuidado de já fazer backup dessa configuração padrão (que é o arquivo squid.conf.default), e gerar uma outra limpa, apenas com as configurações básicas, que é a "squid.conf", que iremos configurar.
Faça as alterações conforme abaixo e conforme sua rede.
Existe uma lista de "acl localnet src…", mas você pode manter apenas a sua rede.
No meu caso é assim. As outras linhas eu comentei com o símbolo "#".
# Minha rede
acl localnet src 192.168.0.0/24 # Permitir navegação em minha rede http_access allow localnet
Também mantenha a porta padrão ao editar o arquivo, e adicione o nome do seu servidor se desejar.
# Nome de sua máquina:
visible_hostname nome-de-seu-linux
Salve e feche o arquivo. Habilite e reinicie o serviço.
Gerenciando o Squid pelo Yast
Uma vez o Squid instalado, este item aparecerá no Yast. Repare que o item logo acima "Proxy", não se trata de nosso servidor de proxy com squid e sim apenas a configuração de client de proxy da máquina.
Para configurarmos nosso Proxy Squid, vamos clicar no item "Squid".
E agora um overview:
Item Inicialização:
Define se você deseja que o serviço do Squid inicie juntamente com o Sistema Operacional. Permite que você pare o serviço e o inicie e permite que abra automaticamente a porta do Squid no Firewall.
Item Portas HTTP:
Mostra a porta padrão de comunicação do Squid, 3128, e lhe permite alterá-la se desejar.
Item Configurações de Cache
Permite configurar o tamanho da memória cache, tamanho máximo e etc. Eu aumentei a memória cache, pois o padrão aqui é apenas 8MB.
Item Diretório de Cache
Permite você definir o local de armazenamento de cache de navegação dos usuários e tamanho também. Eu aumentei o meu depois para 1024MB, pois o padrão é apenas 100MB.
Item Controle de Acesso
Permite que você visualize, edite e crie suas ACLs (listas de controle de acesso), e as políticas de aplicação destas regras via "http_access" no campo abaixo "Controle de Acesso"
Item Log e Tempo de Espera
Aqui você pode visualizar e editar o caminho de armazenamento dos logs de acesso e tempo de timeout.
Item Diversos
Permite-nos Definir o idioma das mensagens de erro e e-mail que ele enviará as mensagens, além de habilitar FTP em modo passivo.
– Fim do overview
Configurar algumas regras na prática
Vamos criar algumas regras via edição do arquivo de configuração do Squid e via Yast.
Regras via edição do arquivo de configuração "squid.conf".
Você pode fazer isso usando seu editor de texto favorito e editando o arquivo "/etc/squid/squid.conf".
1 – Restringir o Acesso à Internet de uma máquina específica pelo endereço de IP.
Por exemplo, vamos restringir a navegação da máquina com o IP 192.168.0.100.
## ACL para restringir o host 192.168.0.100
acl restricthost src 192.168.0.100
## Negar o host 192.168.0.100 from internet
http_access deny restricthost
Pronto, quer ver como ficou no Yast?
Reinicie o serviço para a regra ter efeito.
Fazendo pelo Yast:
Vá até o Item "Controle de Acesso", depois no campo "Grupos ACL" clique em "Adicionar", escolha o tipo de ACL e preencha os campos.
O legal do Yast é que ele diz o que cada tipo de ACL faz, repare na imagem acima.
Criada a ACL, crie a restrição:
No campo de baixo clique em "Adicionar", depois escolha o tipo de permissão "Negar ou Permitir", depois escolha a ACL, depois clique em "Adicionar" ao lado da ACL, e depois clique em "OK"
Pronto, a mesma restrição criada com sucesso!
Criando mais 5 Regras
Agora que já sabemos criar as regras via Yast, vamos criá-las editado o squid.conf, e depois conferimos novamente a presença delas no Yast.
Vamos criar mais 5 restrições, agora todas abaixo pela edição do arquivo squid.conf e depois veremos como elas ficaram no Yast.
Obs. Embora eu já tenha passado em outro artigo a criação das regras, achei importante passá-las aqui também.
Usarei o editor de texto "vi", mas você poderá usar outro de sua preferência se desejar.
1 – Restringir a Internet para um grupo de máquinas pelo endereço de IP
Crie um arquivo de texto chamado, por exemplo, "ips_bloqueados.acl" em qualquer, mas aqui criarei na pasta do squid.
# vi /etc/squid/ips_bloqueados.acl
Adicione os endereços de IP que deseja bloquear.
192.168.0.12/24
Agora defina a regra dentro do arquivo squid.conf
acl ips_bloqueados url_regex -i "/etc/squid/ips_bloqueados.acl"
http_access deny ips_bloqueados
Salve o arquivo e reinicie o serviço do squid.
2 – Restringir o Acesso à Internet à uma Rede Particular
Se você desejar restringir o acesso à internet de uma rede específica, por exemplo, ex.192.168.10.0/24, então adicione as seguinte regras ao arquivo squid.conf.
acl rede_restrita src 192.168.10.0/24
http_access deny rede_restrita
3 – Restringir o Acesso à Internet em um Horário Específico
Você poderá querer restringir o acesso à internet em determinados horários fora do expediente.
acl working_hours time M T W H F 10:00-18:00
http_access deny localnet working_hours
O exemplo acima restringe o acesso à internet das 10:00 as 18:00.
Salve e reinicie o serviço do Squid.
4 – Permitir Acesso à Internet Access em um Horário Específico
Você poder querer liberar o acesso à Internet da rede 192.168.0.0/24 depois das 18:00hs até as 20:00hs.
Adicione as seguintes linhas no aquivo squid.conf
acl periodo_livre time 18:00-20:00
http_access allow localnet periodo_livre
A configuração acima libera o acesso à internet da rede 192.168.0.0/24 das 18:00 as 20:00hs.
5 – Bloquear um grupo de Sites.
Você pode querer bloquear alguns sites impróprios, redes sociais e etc.
Crie um arquivo chamado sites "sites_bloqueados.acl" por exemplo.
# vi /etc/squid/sites_bloqueados.acl
Adicione os sites que não deseja navegação
Agora defina as regras no arquivo /etc/squid/squid.conf
acl sites_bloqueados url_regex -i "/etc/squid/sites_bloqueados.acl"
Agora tente acessar alguns dos sites bloqueados. Verá uma mensagem como esta abaixo.
6 – Bloquear apenas um site.
Se você deseja bloquear apenas um site, poderá também fazer o seguinte, adicionando estas linhas ao arquivo "/etc/squid/squid.conf"
acl banned_site url_regex -i www.movies.com
Bom estas são as regras mais usadas.
Vamos ver como elas ficaram no arquivo de texto?
Agora vamos ver como elas ficaram no Squid-Yast?
Agora você tem um servidor de Proxy instalado e configurado, fazendo cache da navegação dos usuários e com as regras de acesso configuradas, seja configurando o Squid pelo Yast ou editando arquivo de configuração, o resultado é o mesmo, basta fazer da forma que mais gostar.