Squid com dns diferenciado para alguns IP's

Iniciado por victsiqueira, 28 de Agosto de 2013, 16:24

tópico anterior - próximo tópico

victsiqueira

Boa tarde,

É possível fazer com que o squid utilize DNS servers diferentes dependendo do IP da rede que está acessando?

ex.:

o squid está usando os DNS 172.20.1.8 e 172.20.1.141

Gostaria que quando viesse tentativa de acesso à internet do IP 172.20.1.74 o DNS utilizado fosse o do google ( 8.8.8.8 ).

Isso é possível nas configurações do SQUID? (porque se for eu criarei uma lista de ip's em um .txt)
se não for, e pelo IPTABLES? é possível?

Eu to com proxy transparente aqui na empresa:

Citar-I PREROUTING -i eth0 -p tcp --syn --dport 80 -j REDIRECT --to-port 3128

pensei em colocar:

Citar-I PREROUTING -i eth0 -s !172.20.1.74 -p tcp --syn --dport 80 -j REDIRECT --to-port 3128

Mas não funciona:  :-\

Citariptables-restore v1.4.12: host/network `!172.20.1.74' not found

sds

Arthur Bernardes

Eu acho que o que você quer só configurando manualmente o DNS na máquina, usando o DHCP ou configurando um servidor DNS na sua rede.

Me corrijam se estiver errado.

victsiqueira

então, obrigado pela rápida resposta  ;) mas mesmo colocando manualmente o dns 8.8.8.8 na máquina cliente ele continua saindo pelo DNS que está no Squid, porque a regra no firewall obriga todo tráfego a sair por ele.

Arthur Bernardes

Pode postar o conteúdo do seu squid.conf para podermos analisar?

victsiqueira

Claro...

Citaracl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 172.20.1.0/24

#Allow ICP queries from local networks only
icp_access allow localnet
icp_access deny all

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
acl usuarios src 172.20.1.0/24

# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager

# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS+++++++++++++++++++++++++++++++++++++++++++++++++
# SERVIDORES DNS
dns_nameservers 172.20.1.8 172.20.1.141

# tamanho maximo do cache em memoria ram
cache_mem 1024 MB
cache_swap_low 80
cache_swap_high 85

# tamanho maximo de arquivo que o cache irar guardar
maximum_object_size 150 MB
minimum_object_size 0 KB
maximum_object_size_in_memory  250 KB

#Define qual ob objeto vai ser removido da ram
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF

#Resolve um problema com conexoes persistentes que ocorre em certos servidores

detect_broken_pconn on

#Provoca ganho de performace ao usar conexoe pipeline(requisicoes emparalelo)
pipeline_prefetch on

#objetos em transito que forem interrompidos
quick_abort_min 50 KB
quick_abort_max 50 KB
quick_abort_pct 85%

#cache de respotas
negative_ttl 3 minutes
positive_dns_ttl 5 hours
negative_dns_ttl 2 minutes

client_persistent_connections off
server_persistent_connections off

request_timeout 30 seconds
pconn_timeout 120 seconds

#We recommend you to use at least the following line.
hierarchy_stoplist cgi-bin ?

#Default:
cache_dir aufs /etc/squid3/cache 25000 16 256



#Default:
visible_hostname Ubuntu

#Default:
cache_mgr troquei@pormotivodeseguranca.com

########################## Liberações e Bloqueios ###############################

#Recommended minimum configuration:
#acl all src all
acl blockedsites url_regex -i "/etc/squid3/sitesblock.txt"
acl unblockedsites url_regex -i "/etc/squid3/sitesunblock.txt"
acl ipsliberados src "/etc/squid3/ipsliberados.txt"
http_access deny blockedsites !unblockedsites !ipsliberados

############################ Autenticando Usuários #######################################

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

http_access allow localhost

# And finally deny all other access to this proxy
http_access allow usuarios
http_access deny all



# Squid normally listens to port 3128
http_port 3128 transparent

# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid3

# Add any of your own refresh_pattern entries above these.
refresh_pattern ^ftp:      1440   20%   10080
refresh_pattern ^gopher:   1440   0%   1440
refresh_pattern -i (/cgi-bin/|\?) 0   0%   0
refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
# example lin deb packages
#refresh_pattern (\.deb|\.udeb)$   129600 100% 129600
refresh_pattern .      0   20%   4320
#refresh_pattern windowsupdate.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims
#refresh_pattern download.microsoft.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims
#refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims

# cache_effective_user proxy
cache_effective_user proxy

access_log /etc/squid3/logs/access.log

cache_effective_group proxy

zekkerj

CitarÉ possível fazer com que o squid utilize DNS servers diferentes dependendo do IP da rede que está acessando?
Até onde eu sei, não. Sorry.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D