Como Instalar e Configurar o Squid Proxy no CentOS 7
Squid é um full-featured o cache de proxy do apoio popular protocolos de rede como HTTP, HTTPS, FTP, e muito mais. Colocar o Squid na frente de um servidor da web pode melhorar muito o desempenho do Servidor armazenando em cache solicitações repetidas, filtrando o tráfego da web e acessando conteúdo com restrição geográfica.
este tutorial explica como configurar o Squid no CentOS 7 e configurar os navegadores Firefox e Google Chrome para usar o proxy.
instalar o Squid no CentOS #
o pacote Squid está incluído nos repositórios padrão do CentOS 7. Para instalá-lo execute o seguinte comando como usuário sudo:
sudo yum install squid
uma Vez concluída a instalação, start e ativar o Lula serviço:
sudo systemctl start squid
sudo systemctl enable squid
Para verificar se a instalação foi concluída com êxito, digite o seguinte comando que irá imprimir o status do serviço:
sudo systemctl status squid
● squid.service - Squid caching proxy Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2019-07-13 16:47:56 UTC; 12s ago...
Configurando o Squid #
Squid pode ser configurado editando o /etc/squid/squid.conf
arquivo. Arquivos adicionais com opções de configuração podem ser incluídos usando a diretiva “incluir”.
Antes de fazer qualquer alteração, cópia de segurança do arquivo de configuração original, com o cp
comando:
sudo cp /etc/squid/squid.conf{,.orginal}
Para editar o arquivo, abra-o em seu editor de texto:
sudo nano /etc/squid/squid.conf
Por padrão, o Squid está configurado para escutar na porta 3128
todas as interfaces de rede no servidor.
se você quiser alterar a porta e definir uma interface de escuta, localize a linha começando com http_port
e especifique o endereço IP da interface e a nova porta. Se nenhuma interface for especificada, o Squid ouvirá em todas as interfaces.
# Squid normally listens to port 3128http_port IP_ADDR:PORT
executar o Squid em todas as interfaces e na porta padrão deve ser bom para a maioria dos usuários.
você pode controlar o acesso ao servidor Squid usando as listas de controle de acesso (ACLs).
por padrão, o Squid permite o acesso apenas de localhost e localhost.
se todos os clientes que usarão o proxy tiverem um endereço IP estático, você poderá criar um ACL que incluirá os IPs Permitidos.
em vez de adicionar os endereços IP no arquivo de configuração principal, criaremos um novo arquivo dedicado que manterá os IPs:
192.168.33.1# All other allowed IPs
uma vez feito isso, abra o arquivo de configuração principal e crie um novo ACL chamado allowed_ips
(primeira linha destacada) e permita o acesso a esse ACL usando a diretiva http_access
(segunda linha destacada):
# ...acl allowed_ips src "/etc/squid/allowed_ips.txt"# ...http_access allow localnethttp_access allow localhosthttp_access allow allowed_ips# And finally deny all other access to this proxyhttp_access deny all
a ordem das regras http_access
é importante. Certifique-se de adicionar a linha antes de http_access deny all
.
a diretiva http_access
funciona de maneira semelhante às regras do firewall. O Squid lê as regras de cima para baixo e, quando uma regra corresponde, as regras abaixo não são processadas.
sempre que você fizer alterações no arquivo de configuração, será necessário reiniciar o serviço Squid para que as alterações entrem em vigor:
sudo systemctl restart squid
o Squid Authentication #
pode usar back-ends diferentes, incluindo Samba, LDAP e HTTP Basic auth para usuários autenticados.
neste exemplo, configuraremos o Squid para usar a Autenticação Básica. É um método de autenticação simples incorporado ao protocolo HTTP.
usaremos o openssl
para gerar as senhas e anexar o par username:password
ao arquivo /etc/squid/htpasswd
com o comando tee
conforme mostrado abaixo:
printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd
Por exemplo, para criar um usuário chamado “mike” com senha “Pz$lPk76
“, você deve executar:
printf "mike:$(openssl passwd -crypt 'Pz$lPk76')\n" | sudo tee -a /etc/squid/htpasswd
mike:2nkgQsTSPCsIo
O próximo passo é configurar o Squid para habilitar a autenticação básica HTTP, e usar o arquivo.
abra a configuração principal e adicione o seguinte:
# ...auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/htpasswdauth_param basic realm proxyacl authenticated proxy_auth REQUIRED# ...http_access allow localnethttp_access allow localhosthttp_access allow authenticated# And finally deny all other access to this proxyhttp_access deny all
com as três primeiras linhas destacadas, estamos criando uma nova ACL chamada authenticated
. A última linha destacada é permitir o acesso a usuários autenticados.
reinicie o serviço Squid:
sudo systemctl restart squid
configurando o firewall #
se você estiver executando um firewallvocê precisará abrir a porta 3128
. Para fazer isso, execute os seguintes comandos:
sudo firewall-cmd --permanent --add-port=3128/tcp
firewall-cmd --reload
Configurando seu navegador para Usar Proxy #
agora que você configurou o Squid, o último passo é configurar seu navegador preferido para usá-lo.
Firefox #
as etapas abaixo são as mesmas Para Windows, macOS e Linux.
-
No canto superior direito, clique sobre o hamburger ícone
☰
para abrir o menu do Firefox: -
Clique na
⚙ Preferences
link. -
role para baixo até a seção
Network Settings
e clique no botãoSettings...
. -
uma nova janela será aberta.
- selecione o botão de opção
Manual proxy configuration
. - digite seu endereço IP do servidor Squid no campo
HTTP Host
e3128
no campoPort
. - marque a caixa de seleção
Use this proxy server for all protocols
. - clique no botão
OK
para salvar as configurações.
- selecione o botão de opção
neste momento, o Firefox está configurado e você pode navegar na Internet através de proxy Squid. Para verificá-lo, abra google.com
, digite “Qual é o meu ip” e você verá seu endereço IP do servidor Squid.
para voltar às configurações padrão, vá para Network Settings
, selecione o botão de opção Use system proxy settings
e salve as configurações.
existem também vários plugins que podem ajudá-lo a configurar as configurações de proxy do Firefox, como FoxyProxy.
Google Chrome #
o Google Chrome usa as configurações padrão de proxy do sistema. Em vez de alterar as configurações de proxy do sistema operacional, você pode usar um complemento como SwitchyOmegaor iniciar o navegador da web do Chrome a partir da linha de comando.
Para iniciar o Chrome usando um novo perfil e conectar-se para o Squid server, use o seguinte comando:
Linux :
/usr/bin/google-chrome \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"
macOS :
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"
Windows :
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"
O perfil será criado automaticamente se não existir. Dessa forma, você pode executar várias instâncias do Chrome ao mesmo tempo.
para confirmar que o servidor proxy está funcionando corretamente, abra google.com
e digite “Qual é o meu ip”. O IP mostrado no seu navegador deve ser o endereço IP do seu servidor.
conclusão #
você aprendeu a instalar o squid no CentOS 7 e configurar seu navegador para usá-lo.
o Squid é um dos servidores de cache proxy mais populares. Ele melhora a velocidade do servidor da web e pode ajudá-lo a restringir o acesso do usuário à Internet.