config basica do squid...
Claro!
Eu quiz dizer que para usar autenticação essa regra deve exsitir. Pois se não os usuarios acessam normalmente sem exigir autenticação. Como disse neste caso e direcionado tudo para porta 3128.
Isto indica onde o proxy recebe as requisições dos outros micros da rede.
Ip + porta.
config basica do squid...
<iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 >
Isso aqui tá certo? Lembrando q a interface da rede eh eth0 e a da conexao a internet eh ppp0. Outra coisa, eu tenho q setar no browser dos clientes q eles vao estar usando proxy?
Complementando, eu to tentando usar proxy pq usar o mascaremento de pacotes do ipatbles nao tah funcionando direito. A conexao nos hosts fica instavel, ele resolve os nomes, mas as vezes demora muito tempo pra carregar alguns sites (as vezes nem chega a carregar). Por exemplo, www.hotmail.com. Não é problema de dns (pq eu uso o mesmo q tah setado no servidor, q navega perfeitamente.
Alem disso, o msn nao funciona. Alguns jogos online tb nao... aih eu pensei em usar um proxy pra pelo menos ajeitar o msn e pra navegar direito
config basica do squid...
usando akela configuracao maior... olhem o erro tentando estartar o servico.
root@darkstar:/usr/local/squid/sbin# ./squid start
2005/05/18 12:37:53| ACL name 'all' not defined!
FATAL: Bungled squid.conf line 16: http_reply_access allow all
Squid Cache (Version 2.5.STABLE10): Terminated abnormally.
root@darkstar:/usr/local/squid/sbin#
olhem o arquivo:
root@darkstar:/usr/local/squid/etc# cat squid.conf
http_port 3128
cache_mem 8 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 4096 KB
minimum_object_size 0 KB
cache_dir ufs /var/spool/squid 100 16 256
client_netmask 255.255.255.0
acl permitir_rede src 192.168.0.0/255.255.255.0
http_access allow permitir_rede
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_single_host off
httpd_accel_with_proxy on
httpd_accel_uses_host_header on root@darkstar:/usr/local/squid/etc#
config basica do squid...
Vc tem que deixar o squid.conf bem enxuto. E bom entender o que significa cada linha. Dai vc vai resolvendo. A regra vai depender da sua re de ai. Veja se este exemplo explicativo te ajuda.
Neste cenário tenho um server compatilhando a conexao com a rede local. Assim tenho 2 p.rede. Veja.
eth0 - 192.168.0.163 (Conexao o server internet que esta nesta rede)
eth1 - 192.168.2.1
(Minha rede local. Aqui tenho 9 estações que vai de 192.168.2.50 a 192.168.2.59)
A configuracao no Linux fica assim
eth0 192.168.0.163
gw 192.168.0.105 (meu server internet que esta do outro lado)
dns 200.xxx.xxx.xx
dns 200.xxx.xxx.xx
Agora na eth1 tenho que fazer isto
eth1 192.168.2.1
gw 192.168.0.163 (apontando para a placa que esta compartilhando a conexao com a rede local)
Nas estações:
IP 192.168.2.51
gw 192.168.2.1 (aqui vai para a placa de rede local do linux, o resto e com ele mesmo)
AGORA VOU COMPARTILHAR A ETH0
modprobe iptable_nat (dependendo nao e necessario)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
PRONTO AGORA JA CONSIGO ACESSAR A NET ATRAVES DA REDE LOCAL.
NO SQUID COMECE COM :
http_port 3128
visible_hostname kurumin
acl all src 0.0.0.0/0.0.0.0
http_access allow all
acl all src 0.0.0.0/0.0.0.0 e http_access allow all: Estas duas linhas criam uma acl (uma política de acesso) chamada "all" (todos) incluindo todos os endereços IP possíveis e permite que qualquer um dentro desta lista use o proxy. Ou seja, ela permite que qualquer um use o proxy, sem limitações.
# service squid start
Se você estiver no Debian, use o comando:
# /etc/init.d/squid start
Se estiver no Slackware, o comando será:
# /etc/rc.d/rc.squid start
Configure um navegador, no próprio servidor para usar o proxy, através do endereço 127.0.0.1 (o localhost), porta 3128 e teste a conexão.
DEU TUDO CERTO ?
ENTÃO VAMOS CONTINUAR
http_port 3128
visible_hostname nome da sua maquina
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 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
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 Safe_ports port 901 # SWAT
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 redelocal src 192.168.2.0/24
http_access allow localhost
http_access allow redelocal
http_access deny all
--------
Veja que agora criei duas novas acl's. A acl "localhost" contém o endereço 127.0.0.1, você usa para usar o proxy localmente, a partir do próprio servidor e a acl "rede local" que inclui os demais micros da rede local.
Você deve substituir o " 192.168.1.0/24" pela a faixa de endereços IP e a máscara de sub-rede usada na sua rede local (o 24 equivale à mascara 255.255.255.0).
Depois de criadas as duas políticas de acesso, vão duas linhas no final do arquivo que especificam que os micros que se enquadrarem nelas vão poder usar:
http_access allow localhost
http_access allow redelocal
QUE PERMITE O ACESSO.
FUNCIONOU ?
VOU ESPERAR SUA RESPOSTA.
t+
Espero ter ajudado.