Páginas

Mostrando postagens com marcador DNS. Mostrar todas as postagens
Mostrando postagens com marcador DNS. Mostrar todas as postagens

quinta-feira, 23 de fevereiro de 2012

Melhorando a navegação com web cache: POLIPO

Neste post vou ensinar como configurar um proxy pessoal com cache para melhorar o desempenho de sua navegação.

Da Wikipedia, temos: "Polipo is designed to be used as a personal web cache or a web cache shared among a few users to boost internet access"

Para instalar:
$ sudo apt-fast install polipo
(não entendeu o porque do apt-fast? visite este link)

Agora vamos as configurações
$ sudo vim /etc/polipo/config
e deixe ele da seguinte maneira:

proxyAddress = "0.0.0.0"
allowedClients = 127.0.0.1
cacheIsShared = false
chunkHighMark = 33554432
disableIndexing = false
disableServersList = false
disableLocalInterface = false
disableConfiguration = false
disableVia=false
censoredHeaders = from, accept-language, x-pad, link
censorReferer = maybe
pmmFirstSize = 16384
pmmSize = 8192
maxConnectionAge = 5m
maxConnectionRequests = 120
serverMaxSlots = 8
serverSlots = 2
tunnelAllowedPorts = 1-65535

Se o polipo for instalado em um servidor a opção allowedClients deverá refletir os IP que poderam acessar o serviço. Ex: 192.168.0.0/24. A opção chaceIsShared deverá ser true.

Se você seguiu o post Encriptar tráfego DNS no Ubuntu adicione estas duas linhas a mais:

dnsUseGethostbyname = yes
dnsNameServer = 127.0.0.2

Se você seguiu o post Acelere sua navegação usando um cache local de DNS: PDNSD adicione estas duas linhas a mais:


dnsUseGethostbyname = yes
dnsNameServer = 127.0.0.1

Se você tem algum serviço de DNS rodando em seu computador mude a variável dnsNameServer para o endereço correto.

Outra coisa legal a se fazer se você esta instalando o polipo em um servidor é criar um arquivo nos computadores clientes da seguinte forma:
$ sudo vim /etc/apt/apt.conf
e colocar a seguinte linha:
Acquire::http::Proxy "http://enderecodoservidor:8123";
mudando, é claro, o 'enderecodoservidor' para o endereço que reflita seu servidor!

Para saber mais opções de configuração:
$ polipo -v
Depois de configurado devemos reiniciar/iniciar o serviço:
$ sudo service polipo restart
e para acessar tanto o manual quanto opções de configurações, acesse: http://localhost:8123

Para que o polipo seja usado pelo seu sistema, temos que mudar as opções de proxy do seu computador:


Ou então mudar as opções no seu navegador!

É isso!


Acelere sua navegação usando um cache local de DNS: PDNSD

Neste post vou ensinar como configurar um cache local de DNS. Ao contrário do Bind (neste post ensino como configura-lo), o PDNSD armazena o seu cache no HD quando o computador é desligado e lê esse conteúdo quando o computador é ligado.

Para instalar basta:
$ sudo apt-fast install pdnsd
(não entendeu o porque do apt-fast? visite este link)

No processo de instalação você poderá escolher entre três opções de configuração, escolha MANUAL! Além disso o apt instalará o pacote resolvconf junto, isso não será um problema, mais abaixo eu mostrarei como fazer para o seu computador sempre manter as configurações certar para o uso do PDNSD

Uma vez instalado vamos configurá-lo. Edite o arquivo /etc/pdnsd.conf
$ sudo vim /etc/pdnsd.conf
E deixe ele igual a este:


global {
   perm_cache=12048;
   cache_dir="/var/cache/pdnsd";
   max_ttl=604800;
   run_as="pdnsd";
   status_ctl=on;
   paranoid=on;
   server_port=53;
   server_ip="127.0.0.1";
}

server {
   ip="127.0.0.2";
   timeout=60;
   interval=900;
   uptest=none;
   ping_timeout=500;
   purge_cache=off;
   caching=on;
}

server {
   label="resolvconf";
}

source {
   ttl=86400;
   owner="localhost.";
   serve_aliases=on;
   file="/etc/hosts";
}

Este arquivo está configurado para ser usado junto com o resolvconf!

Na seção 'global' temos os parâmetros globais de configuração: tamanho do cache, tempo de  vida da entrada, IP que será usado, porta e etc.

Já a(s) seção(ões) 'server' tem os parâmetros dos servidores DNS que serão usados para resolver os nomes requisitados. Repare que neste arquivo eu usei o IP 127.0.0.2 como o servidor de DNS, isto porque no meu post anterior (este aqui) eu ensinei como encriptar o tráfego DNS e por isso estou usando este serviço. Se você quiser pode mudar o IP para qualquer outro servidor DNS de sua escolha e também pode adicionar mais entradas como esta. Um exemplo:


server {
   ip="192.168.1.1";
   ip="8.8.8.8";
   ip="208.67.222.222";
   timeout=60;
   interval=900;
   uptest=none;
   ping_timeout=500;
   purge_cache=off;
   caching=on;
}

Assim a primeira entrada seria o seu roteador (se houver algum) a segundo o DNS público do Google e a terceira o endereço do OpenDNS.

Devemos editar o arquivo /etc/default/pdnsd
$ sudo vim /etc/default/pdnsd
e deixá-lo da seguinte forma,


# do we start pdnsd ?
START_DAEMON=yes
# auto-mode, overrides /etc/pdsnd.conf if set [see /usr/share/pdnsd/]
#AUTO_MODE=
# optional CLI options to pass to pdnsd(8)
START_OPTIONS=


Temos, também, que editar o arquivo /etc/dhcp/dhclient.conf
$ sudo vim /etc/dhcp/dhclient.conf
e descomentar a linha que contém: prepend domain-name-servers 127.0.0.1;

Agora reinicie o serviço:
$ sudo service pdnsd restart
e teste se teve efeito com o comando dig:
$ dig terra.com.br
Deverá obter uma saída parecida com:


; <<>> DiG 9.7.3 <<>> terra.com.br
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21041
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;terra.com.br. IN A

;; ANSWER SECTION:
terra.com.br. 595 IN A 200.154.56.80

;; Query time: 161 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Feb 23 15:04:27 2012
;; MSG SIZE  rcvd: 46

e pela segunda vez:
$ dig terra.com.br


; <<>> DiG 9.7.3 <<>> terra.com.br
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27407
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;terra.com.br. IN A

;; ANSWER SECTION:
terra.com.br. 594 IN A 200.154.56.80

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Feb 23 15:04:28 2012
;; MSG SIZE  rcvd: 46

Para obter informações sobre quanto de cache você já usou ou se os servidores estão funcionando:
$ sudo pdnsd-ctl status 


Um problema que eu tive foi que na primeira vez eu coloquei 2Mb de cache e foi muito pouco, então aumentei para cerca de 10Mb e deu tudo certo!

Bom, é isso!


Este post foi inspirado nesta thread do UbuntuForums e neste post do go2linux e neste artigo (no final do artigo tem um exemplo de como configurar o PDNSD junto com o BIND9)

Encriptar tráfego DNS no Ubuntu

Neste post vou ensinar como instalar a ferramenta DNSCrypt que irá encriptar o tráfego DNS entre o seu computador e os servidores da OpenDNS.

Devo dizer que este post é um resumo/tradução do post original: ENCRYPT DNS TRAFFIC IN LINUX WITH DNSCRYPT (VIA OPENDNS)

Primeiro devemos baixar o pacote .deb aqui de acordo com a sua arquitetura (i386 ou amd64) e instalá-lo.

Para fazer com que ele inicie a cada boot devemos baixar o script disponibilizado no post original descompactá-lo e rodar estes dois comandos abaixo:
$ sudo cp dnscrypt.conf /etc/init/
$ sudo ln -s /lib/init/upstart-job /etc/init.d/dnscrypt
Este script faz com que o serviço rode sob o ip 127.0.0.2, então você deve configurar sua conexão para usar este ip como servidor DNS, como na imagem abaixo


Para iniciar o serviço faça:
$ sudo start dnscrypt
Agora todas as requisições feita pelo seu computador ao servidor DNS estarão encriptadas!


quarta-feira, 16 de fevereiro de 2011

Configurando servidor DNS: bind9

Neste post irei ensinar como configurar um servidor DNS em sua máquina. Quando configurado dessa forma, ele irá resolver os nomes e armazená-los de tal forma que não será mais preciso resolve-los da próxima vez.


++Instalando pacotes necessários++

$ sudo apt-get install bind9
Os arquivos de configuração ficaram armazenados em: /etc/bind


++Configurando++



Simplesmente descomente e acrescente seu servidor DNS favorito em: /etc/bind/named.conf.options
forwarders {
                0.0.0.0;
           };




No meu caso ficou:
forwarders {
                8.8.8.8; #Google Public DNS
                200.204.0.10; #Speedy BR
                200.221.11.101; #UOL-2 BR-2
           };




Existem outras opções como:
    OpenDNS: 208.67.220.220
    UltraDNS: 156.154.70.1
    DynGuide: 216.146.35.35
    GigaDNS BR: 189.38.95.95


Depois faça:



$ sudo  vim /etc/defaul/bind9



e mude para yes a linha RESOLVCONF, ou seja, deixe RESOLVCONF=yes


Após fazer as modificações rode:

$ sudo service bind9 restart


++Testando++


Uma boa maneira de testar se tudo correu bem é usando a ferramente dig.

$ sudo apt-get install dnsutils
Agora devemos rodar o dig em nossa interface loopback:

$ dig -x 127.0.0.1
Você deverá receber uma saída parecido com esta:

...
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
...



Agora devemos testar o dig em um domínio fora do nosso, por exemplo:

$ dig terra.com
e receberá como saída algo parecido com:
...
;; Query time: 48 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
...



já na segunda vez:

...
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
...



E pronto!!


Dica extra: Aconselho vocês a visitarem o site http://code.google.com/p/namebench/ e olharem essa ferramenta, ela busca por servidores DNS e te devolve uma combinação dos mais rápidos + os mais pertos! Olhem e testem para obterem a melhor configuração para vocês!!!


Fonte:
ubuntu documentation: dns
ubuntu documentation: dig