Clientes squid não conseguem acessar a internet

1. Clientes squid não conseguem acessar a internet

Iago Fabricio Silva Melo
iago.melo

(usa Linux Mint)

Enviado em 07/05/2016 - 15:14h

Boa tarde galera.
Bom ainda cheiro a leite no mundo linux e esta é minha primeira experiência com gerenciamento de servidores. Antes de fazer esta publicação, li muitos tutoriais e tentei diversas configurações diferentes mas no fim não tive sucesso.

Estou criando uma nova estrutura de rede em minha empresa onde usarei um servidor linux como proxy. A estrutura está assim:
(modem ADSL) => eth0(servidor linux com squid e samba)eth1 => (switch com servidor windows e demais computadores)

O samba está funcionando, basta terminar de parametrizar e estará ok. Já com o squid tenho o seguinte problema, meu servidor linux tem acesso à internet enquanto as demais máquinas da rede não conseguem acessar a internet.
Fiz o seguinte teste:
ping www.google.com //não encontrou
ping 172.217.29.4 //que é o ip do site google mas também não encontrou.
Com este resultado acredito eu que não seja um problema de DNS visto que senão ele encontraria o ip 172.217.29.4 pois posso estar errado mas pelo meu conhecimento o DNS serve para converter a string do site e encontrar o ip (mais ou menos isso). Se alguém souber como posso estar arrumando isto ficarei grato.

Instalei o squid seguindo o seguinte tutu:
https://www.vivaolinux.com.br/artigo/Servidor-proxy-com-Squid-Instalacao-e-configuracao?pagina=1

Segue minha squid.conf

http_port 3128 transparent
visible_hostname SIRIU

error_directory /usr/share/squid/errors/Portuguese

hierarchy_stoplist CGI-bin ?

cache_mgr [email protected]

acl QUERY urlpath_regex cgi-bin ?
no_cache deny QUERY

cache_mem 200 MB
maximum_object_size_in_memory 200 KB
maximum_object_size 2048 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/log/squid/access.log

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

acl rede_local src 192.168.12.0/24
acl palavras_bloqueadas url_regex -i "/etc/squid/palavras_bloqueadas.txt "
acl sites_bloqueados url_regex -i "/etc/squid/ sites_bloqueados.txt "
acl redes_sociais url_regex -i "/etc/squid/redes_sociais.txt"
acl liberados src "/etc/squid/ips_liberados.txt "
acl [*****] url_regex -i "/etc/squid/sites_porno.txt "
acl formato_arquivo url_regex -i "/etc/squid/formato_arquivo.txt"
acl horario_almoco time 12:00-13:00

http_access allow liberados
http_access allow redes_sociais horario_almoco
http_access deny redes_sociais
http_access deny sites_bloqueados
http_access deny palavras_bloqueadas
http_access deny [*****]
http_access deny formato_arquivo
http_access allow rede_local
http_access allow localhost

http_access deny all



  


2. Re: Clientes squid não conseguem acessar a internet

Bruno Thomaz
SarusKant

(usa CentOS)

Enviado em 08/05/2016 - 11:57h

Opa, usa CentOS, caiu na minha área. Heheheh
Cara, primeiro qual versão você usa, 5, 6 ou 7?
Dependendo a versão é como se usa o squid.

Fico no aguardo.
--
Bruno Thomaz


3. Re: Clientes squid não conseguem acessar a internet

Iago Fabricio Silva Melo
iago.melo

(usa Linux Mint)

Enviado em 08/05/2016 - 16:06h

To usando o CentOS 7


4. Re: Clientes squid não conseguem acessar a internet

Bruno Thomaz
SarusKant

(usa CentOS)

Enviado em 08/05/2016 - 18:44h

Blz, squid 3.3.8 vou analisar seu conf e já posto os resultados.

Att
--
Bruno Thomaz


5. Re: Clientes squid não conseguem acessar a internet

Bruno Thomaz
SarusKant

(usa CentOS)

Enviado em 09/05/2016 - 10:38h

Segue a configuração correta e testada.
->Squid.conf<-

##### Sessão de ACLs de bloqueio e liberação. ######

acl localnet src 192.168.12.0/24

##### ACLs do Sistema, só mecha se souber o que esta fazendo. #####

acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

##### Sessão do Usuário (Suas Configurações faça nesta area) #####

visible_hostname SIRIU
error_directory /usr/share/squid/errors/pt-br/
acl palavras_bloqueadas url_regex -i "/etc/squid/palavras_bloqueadas.txt "
acl sites_bloqueados url_regex -i "/etc/squid/ sites_bloqueados.txt "
acl redes_sociais url_regex -i "/etc/squid/redes_sociais.txt"
acl liberados src "/etc/squid/ips_liberados.txt "
acl sites_porno url_regex -i "/etc/squid/sites_porno.txt "
acl formato_arquivo url_regex -i "/etc/squid/formato_arquivo.txt"
acl horario_almoco time 12:00-13:00

http_access allow liberados
http_access allow redes_sociais horario_almoco
http_access deny redes_sociais
http_access deny sites_bloqueados
http_access deny palavras_bloqueadas
http_access deny sites_porno
http_access deny formato_arquivo

##### ACLs/Ações #####

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all

##### Sessão de Socket #####

http_port 3128
http_port 3129 intercept


##### Sessão de Cache #####

cache_mem 256 MB
maximum_object_size_in_memory 200 KB
maximum_object_size 2048 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
coredump_dir /var/spool/squid
cache_access_log /var/log/squid/access.log

##### Instrutor de cache do sistema, só mecha se souber o que esta fazendo. #####

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320


->Iptables<-

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-ports 3129
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


->sysctl.conf<-

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf


Bom no mais, seria isso, modifiquei o squid.conf para a versão 3, declarei 1 porta a mais no socket que é a 3129, sendo que a partir da versão 3.1, o squid não utiliza mais o transparent e sim intercept, fiz o redirecionamento de trafego da porta 80 para a 3129 usando o iptables e liberei o nateamento para a internet atravez do ip_forward.
Acredito que assim funcione.
Mas antes de tudo, acredito que ainda você deva estar com o firewalld instalado, funciona igual, mas tem que fazer algumas modificações. Aconselho a retirada dele e instalação do controlador do iptables.


yum remove firewalld -y
yum install iptables iptables-services -y
systemctl enable iptables
systemctl start iptables


Feito isso deverá estar tudo funcionando, caso não, me chame novamente por aqui ou por Skype.

Skype: SarusKant

Att
--
Bruno Thomaz


6. Re: Clientes squid não conseguem acessar a internet

Iago Fabricio Silva Melo
iago.melo

(usa Linux Mint)

Enviado em 11/05/2016 - 16:07h

Muito obrigado SarusKant vou brincar um pouco aqui. Ainda nao ta funfando a net mas vou dar uma olhada nas configurações dos adaptadores pois vi que ate o centos ta sem net. Fiz um teste no centos e quando eu pingo um site tanto por ip como por dominio, ele apinta a minha eth1.