Squid pinga mas não navega

Iniciado por emanoeljulio, 14 de Abril de 2008, 12:27

tópico anterior - próximo tópico

emanoeljulio

Salve para todos. Estou tentando configurar um servidor para compartilhar a intenet com dhcp e squid os dois estão rodando mas ao tentar navegar nas máquinas clientes ele não navega, mas ao tentar fazer o ping em sites externos ele pinga sem problema. Alguem pode me ajudar????

squid.conf
# Opções de acesso
http_port 3128 transparent
visible_hostname servidordeinternet

acl redelocal src 192.168.2.100/250
acl localhost src 127.0.0.1/255.255.255.255
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
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

http_access allow redelocal
http_access allow localhost
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny all
http_reply_access allow all
icp_access allow all
miss_access allow all

coredump_dir /var/spool/squid
#dns_retransmit_interval 5 seconds
#dns_timeout 2 minutes

#Add by original version
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
cache_replacement_policy lru
dns_nameservers 201.234.225.70 201.234.225.71
icon_directory /usr/share/squid/icons
error_directory /usr/share/squid/errors/Portuguese

# Opções de Cache
cache_mem 64 MB
cache_swap_low 90
cache_swap_high 95
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
maximum_object_size 1 GB
minimum_object_size 0 KB
maximum_object_size_in_memory 8 KB
cache_dir ufs /var/spool/squid 4096 16 256
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320



#IP's da rede local liberado tudo

#acl ip_liberado src "/etc/squid/ip_liberado"

#http_access allow ip_liberado



# Regras de bloqueio de site  ***por palavras

acl palavra dstdom_regex "/etc/squid/palavras_negadas"

http_access deny palavra



# Regras de bloqueio de site  ***por url

acl site url_regex -i "/etc/squid/sites_negados"

http_access deny site


/etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
#
# The primary network interface
auto eth0
iface eth0 inet dhcp
#
# The secondary network interface
auto eth1
iface eth1 inet static
      address 192.168.2.1
      netmask 255.255.255.0
      network 192.168.2.0
      broadcast 192.168.2.255


dhcpd.conf
# Nao atualiza DNS quando um IP eh concedido.
ddns-update-style none;
option domain-name "minharede.cinlug-br.org";
#
# Nome do servidor DNS, nesse caso usei o servidor da rede externa.
# Podemos ter varios servidores, separados por virgulas.
# Tambem eh possivel usar hostnames no lugar de IPs.
option domain-name-servers 201.234.225.70 , 201.234.225.71;
#
# Tempo padrao e maximo, respectivamente,
# da duracao da concessao do IP.
default-lease-time 3600;
max-lease-time 7200;
#
# Indica onde devem ser guardados os logs do DHCPD.
# A principio serao guardados em /var/log/daemon.log,
# mas o local pode ser alterado no arquivo /etc/syslog.conf
log-facility local7;
#
# Configuracoes da subrede para onde o DHCP concedera IPs.
subnet 192.168.2.0 netmask 255.255.255.0 {
  # Faixa dos IPs a serem concedidos.
  range 192.168.2.100 192.168.2.250;
  # Endereco do gateway padrao.
  option routers 192.168.2.1;
}

linhouse

Como estão suas regras de firewall?
Você está utilizando squid transparente, logo seu firewall deve redirecionar para o squid as requisições da porta 80.

O squid retorna algum erro ou simplesmente nenhuma página é carregada?

Abs,

Zedopodis

#2
Boas,...
Para o squid trabalhar sem problemas em modo transparente: (Configuração por experiência própria!) (Os comandos abaixo são para ser executados já como root ou super-utilizador!)
$ nano /etc/squid/squid.conf
   Descomentar as linhas:
      #http_port 3128
      #http_access deny all -> aqui modificar de deny para allow
      #cache_mem 8MB
      #cache_dir ufs /var/spool/squid 100 16 256
   > Para proxy em modo transparente:
      #httpd_accel_port 80
      #httpd_accel_host virtual
      #httpd_accel_with_proxy on
      #httpd_accel_uses_host_header on
$ squid -z

Agora para ter Internet nos clientes:
$ apt-get install bind -> basta instalar o servidor DNS
$ iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE -> ethX é a placa que distribui IP's
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ nano /etc/sysctl.conf
   adicionar a linha "net.ipv4.ip_forward=1"
$ nano partilhanet (exemplo de nome, pode dar um nome qualquer desde que seja bem identificado pela pessoa que o está a fazer)
   Colocar a seguinte informação no script:
      #!/bin/sh
      iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE
   Guardar o script na directoria: /etc/init.d
$ chmod +x /etc/init.d/partilhanet -> o ficheiro fica executável
$ cd /etc/init.d   
$ update-rc.d partilhanet defaults
$ apt-get install dnsmasq ipmasq
$ /etc/init.d/dnsmasq restart
$ dpkg-reconfigure ipmasq
   Deixar tudo como predefinido, quando aparecer uma janela com as opções de quando queremos que o ipmasq inicie, seleccionamos"After network services have been started"

Alguma dúvida ou problema é só dizer!! ;)

POTIGUAR_

Citação de: Zedopodis online 15 de Maio de 2008, 07:03
Boas,...
Para o squid trabalhar sem problemas em modo transparente: (Configuração por experiência própria!) (Os comandos abaixo são para ser executados já como root ou super-utilizador!)
$ nano /etc/squid/squid.conf
   Descomentar as linhas:
      #http_port 3128
      #http_access deny all -> aqui modificar de deny para allow
      #cache_mem 8MB
      #cache_dir ufs /var/spool/squid 100 16 256
   > Para proxy em modo transparente:
      #httpd_accel_port 80
      #httpd_accel_host virtual
      #httpd_accel_with_proxy on
      #httpd_accel_uses_host_header on
$ squid -z

Agora para ter Internet nos clientes:
$ apt-get install bind -> basta instalar o servidor DNS
$ iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE -> ethX é a placa que distribui IP's
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ nano /etc/sysctl.conf
   adicionar a linha "net.ipv4.ip_forward=1"
$ nano partilhanet (exemplo de nome, pode dar um nome qualquer desde que seja bem identificado pela pessoa que o está a fazer)
   Colocar a seguinte informação no script:
      #!/bin/sh
      iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE
   Guardar o script na directoria: /etc/init.d
$ chmod +x /etc/init.d/partilhanet -> o ficheiro fica executável
$ cd /etc/init.d   
$ update-rc.d partilhanet defaults
$ apt-get install dnsmasq ipmasq
$ /etc/init.d/dnsmasq restart
$ dpkg-reconfigure ipmasq
   Deixar tudo como predefinido, quando aparecer uma janela com as opções de quando queremos que o ipmasq inicie, seleccionamos"After network services have been started"

Alguma dúvida ou problema é só dizer!! ;)

a partir do squid 2.6 a configuração p/ deixa ele transparente é so adicionar depois do "http_port 3128" o comando "transparent"
ficaria assim
"http_port 3128 transparent"

agora o resto esta ok! =D





marcosjunior

Estava com um problema deste durante esta semana.

Resolvi colocando dentro do /etc/resolv.conf os servidores de DNS que uso.

nameserver xxx.xxx.xxx.xxx #DNS primário
nameserver xxx.xxx.xxx.xxx #DNS secundário


Pode ser o DNS da sua operadora, do openDNS 208.67.222.222 e 208.67.220.220 ou o ip do seu roteador caso esteja configurado pra resolver por vc.

Não esqueça de postar se deu certo ou não.

Abraços.

trakinasman

Segue alterações que devem ser feitas:


Citação de: emanoeljulio online 14 de Abril de 2008, 12:27
Salve para todos. Estou tentando configurar um servidor para compartilhar a intenet com dhcp e squid os dois estão rodando mas ao tentar navegar nas máquinas clientes ele não navega, mas ao tentar fazer o ping em sites externos ele pinga sem problema. Alguem pode me ajudar????

squid.conf
# Opções de acesso
http_port 3128 transparent
visible_hostname servidordeinternet

acl redelocal src 192.168.2.0/[color=red]255.255.255.0[/color]
acl localhost src 127.0.0.1/255.255.255.255
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
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

http_access allow redelocal
http_access allow localhost
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny all
http_reply_access allow all
icp_access allow all
miss_access allow all

coredump_dir /var/spool/squid
#dns_retransmit_interval 5 seconds
#dns_timeout 2 minutes

#Add by original version
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
cache_replacement_policy lru
[color=yellow]dns_nameservers 201.234.225.70 201.234.225.71[/color] comente essa linha ela nao esta faznedo nada aqui.
icon_directory /usr/share/squid/icons
error_directory /usr/share/squid/errors/Portuguese

# Opções de Cache
cache_mem 64 MB(mude para 128)
cache_swap_low 90
cache_swap_high 95
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
maximum_object_size 1 GB
minimum_object_size 0 KB
maximum_object_size_in_memory 8 KB
[color=black]cache_dir ufs /var/spool/squid 4096 16 256[/color] rever tamanho da pastas pois vc esta guardando objetos com até um 1gb...desnecess.
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320



#IP's da rede local liberado tudo

#acl ip_liberado src "/etc/squid/ip_liberado"

#http_access allow ip_liberado



# Regras de bloqueio de site  ***por palavras

acl palavra dstdom_regex "/etc/squid/palavras_negadas"

http_access deny palavra



# Regras de bloqueio de site  ***por url

acl site url_regex -i "/etc/squid/sites_negados"

http_access deny site


/etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
#
# The primary network interface
auto eth0
iface eth0 inet dhcp
#
# The secondary network interface
auto eth1
iface eth1 inet static
      address 192.168.2.1
      netmask 255.255.255.0
      network 192.168.2.0
      broadcast 192.168.2.255


dhcpd.conf
# Nao atualiza DNS quando um IP eh concedido.
ddns-update-style none;
option domain-name "minharede.cinlug-br.org";
#
# Nome do servidor DNS, nesse caso usei o servidor da rede externa.
# Podemos ter varios servidores, separados por virgulas.
# Tambem eh possivel usar hostnames no lugar de IPs.
option domain-name-servers 201.234.225.70 , 201.234.225.71;
#
# Tempo padrao e maximo, respectivamente,
# da duracao da concessao do IP.
default-lease-time 3600;
max-lease-time 7200;
#
# Indica onde devem ser guardados os logs do DHCPD.
# A principio serao guardados em /var/log/daemon.log,
# mas o local pode ser alterado no arquivo /etc/syslog.conf
log-facility local7;
#
# Configuracoes da subrede para onde o DHCP concedera IPs.
subnet 192.168.2.0 netmask 255.255.255.0 {
  # Faixa dos IPs a serem concedidos.
  range 192.168.2.100 192.168.2.250;
  # Endereco do gateway padrao.
  option routers 192.168.2.1;
}


não esqueça de adionar essa linha ao seu iptables "iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128" - sem aspas.
adicione no arquivo /etc/resolv.conf os DNS do seu provedor um por linha, no meu caso adiciono apenas o do terra 200.176.2.10.

por fim squid -z, caso ele de erro restart o serviço /etc/init.d/./squid restart.


espero ter ajudado...