Altere o DNS do seu aparelho Android e drible alguns problemas da rede.

Alterar o DNS, através do qual o seu dispositivo se conecta à Internet, é um procedimento relativamente simples.
Trata-se de uma sigla para Domain Name System — ou seja, “sistema de domínio de nomes”, traduzido livremente.
Isto se refere a um sistema de nomeação de computadores, serviços ou outros recursos da rede, descentralizado e hierárquico.
O método consiste em associar diversas informações (como endereços IP) a nomes de domínios, atribuídos a cada nó presente em uma rede.
Para o cérebro humano, é mais fácil decorar um nome, como elias.praciano.com do que um número, como 192.168.1.0 (IPv4) ou, ainda, 2001:0db8:0000:0000:0000:ff00:0042:8329 (IPv6).

Portanto, é graças ao sistema de DNSs que você não precisa ficar digitando números incompreensíveis na barra de endereços do seu navegador, quando nos referimos a endereços IPv4.
Quando chegamos aos endereços que seguem o padrão IPv6, fica mais difícil ainda memorizar.

Serviços de DNSs podem ser pagos e oferecer alguns recursos úteis a seus usuários. o OpenDNS, por exemplo, permite filtrar conteúdo da Internet e obter estatísticas do seu fluxo de dados.
O Google tem um serviço de DNS gratuito (e tem uma versão paga também) que é muito popular entre usuários comuns e empresas.

Como configurar o DNS no Android

O melhor lugar para configurar o seu DNS é no seu roteador — de casa ou da empresa.
Mas no celular é mais fácil.
Seja cauteloso(a) com o procedimento, para não ficar sem acesso a Internet por ter entrado com informações erradas na configuração.
Comece por abrir a seção de configurações geraisdo seu dispositivo Android e abra o painel de configurações Wi-Fi.
android configuração da rede.
Em seguida, escolha uma das redes para configurar — pressionando-a até aparecer o submenu de configurações.
Selecione a opção “Modificar a rede”.
android configuração da rede.
Selecione “Opções avançadas”.
android configuração da rede.
As configurações de DNS ficam na parte inferior e você pode entrar com até 2 servidores DNS.
No meu exemplo (figura abaixo) usei servidores de DNS do Google.
google dns
Por fim, basta tocar em “Salvar” e navegar usando os novos DNSs.
Leia mais sobre DNS, no site ou sobre outras dicas de configuração da rede no Android.

Como configurar o hostname no Linux com hostnamectl

Há mais de uma forma para se configurar o hostname em uma máquina no GNU/Linux. E há mais de um tipo de hostname para ser configurado.
Neste post, vou demonstrar o uso do comando hostnamectl e explicar um pouco mais sobre o seu funcionamento no GNU/Linux (independente da distro que você estiver usando).
Captura de tela do comando hostnamectl
Sinta-se à vontade para pular a parte teórica, se você estiver interessado apenas em “resolver o seu problema” — neste caso, sugiro guardar este site nos favoritos, para ler nossos artigos com mais calma depois. 😉

Classes de hostname

Há 3 classes de hostnames no Linux: static (estático), pretty (bonito) e transient (transitório).
Vamos entender melhor cada uma destas classes:

  1. static — O nome de host estático é o, já conhecido, hostname. É, geralmente, escolhido pelo usuário durante a instalação do sistema, quando o aplicativo instalador pergunta pelo “nome” que você deseja dar ao seu computador.
    O valor do nome de host estático fica armazenado em /etc/hostname.

    O maior problema com os nomes estáticos é que, por serem fixos, não vão responder a mudanças nos endereços IP — pelo menos não sem intervenção manual.

  2. transient — O transient hostname é um nome de host dinâmico, mantido pelo kernel do sistema. Ele é inicializado pelo static hostname, cujo valor padrão é localhost.
    O transient hostname pode ser alterado via DHCP ou mDNS durante a execução do sistema.

    O nome de host transitório é usado temporariamente em função da configuração de rede — e é, geralmente, revertido para static hostname, caso a conexão caia, sendo temporariamente gravado no kernel hostname. Exemplo: “dhcp-47-11”.

  3. pretty — O pretty hostname é uma nomenclatura baseada em UTF-8. Ela existe para constituir um nome de host para ser exibido ao usuário.

    O pretty hostname é uma nomenclatura de “alto nível” e não é usada pelo sistema internamente. Tem uma função cosmética e tem maior liberdade para a sua composição.
    É possível usar quase todos os caracteres alfanuméricos e especiais nele:
    “Just’n Case”, “jU5T_1N_c4s3” etc.

    As informações do pretty hostname, seu chassis type o nome de seu ícone, são armazenados no arquivo /etc/machine-info.
    O exemplo, abaixo, mostra como verificar o pretty hostname no seu sistema:

    cat /etc/machine-info
    PRETTY_HOSTNAME=ultra

O nome do host pode ser formado por uma string de até 64 caracteres. Alguns administradores de sistemas recomendam que ambos, static e transient, estejam de acordo com o FQDN (Fully-Qualified Domain Name).
Além disto, os nomes static e transient devem se limitar às letras minúsculas, com caracteres de 7 bit ASCII — sem espaçamentos, sem pontos.
Como as especificações antigas não permitiam o uso de sublinha (_), por questão de compatibilidade, evite o uso deste caractere.

Como usar o comando hostnamectl

Este texto é baseado na documentação oficial do utilitário hostnamectl e do Red Hat Linux e testado em uma máquina Ubuntu 14.04 LTS e num servidor Trisquel Linux 7 Belenos.
Para verificar o seu hostname atual, use o comando “puro”:

hostnamectl
Static hostname: infinity
         Icon name: computer
           Chassis: laptop
           Boot ID: 4500399118049a1699a169fd718a634d
  Operating System: Trisquel GNU/Linux Belenos (7.0)
            Kernel: Linux 3.16.0-31-generic
      Architecture: i686

Para alterar o hostname, use a opção set-hostname:

sudo hostnamectl set-hostname UltraBook«Samsung»
hostnamectl

Note, abaixo, as diferenças entre os hostnames static e o pretty:

   Static hostname: ultrabooksamsung
   Pretty hostname: UltraBook«Samsung»

O comportamento padrão da opção set-hostname é alterar todas as 3 classes de nomes de host (static, transient e pretty). E, como você pode ver, no exemplo anterior, o sistema readequa o nome pretty (“bonitinho”) para a classe static, retirando os caracteres especiais e uniformizando as caixas das letras — o que garante que os nomes de hosts static e pretty estejam sempre “razoavelmente” co-relacionados.
Se quiser, você pode alterar apenas uma das classes. Veja como alterar a visibilidade “bonitinha”:

sudo hostnamectl set-hostname --pretty "Meu ultra novo notebook Core i9"
hostnamectl 
   Static hostname: ultrabooksamsung
   Pretty hostname: Meu ultra novo notebook Core i9
         Icon name: computer-laptop
           Chassis: laptop
           Boot ID: 48e85c3fe4864ad9a169e8ecd98f5c65
  Operating System: Ubuntu 14.04.2 LTS
            Kernel: Linux 3.13.0-51-generic
      Architecture: x86_64

Quando a sua máquina for vista na rede, seu ícone conterá a descrição pretty.
Você vai precisar reiniciar a sua sessão no Linux, para ver todos estes valores alterados.
Há como alterar o hostname da sua máquina através da edição de um dos arquivos de configuração do sistema. Saiba mais aqui.

Referências

Como atribuir nomes aos hosts na rede.
Página do manual do comando hostnamectl: http://manpages.ubuntu.com/manpages/utopic/man1/hostnamectl.1.html. Você pode obter estas mesmas informações executando o comando man hostnamectl.
Página do manual do Red Hat: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/ch-Configure_Host_Names.html#sec_Understanding_Host_Names.
Wikipedia: http://en.wikipedia.org/wiki/Hostname.

Atribua apelidos aos endereços IP da sua rede, editando o /etc/hosts

Com uma pequena edição no arquivo de configuração /etc/hosts, é possível atribuir um ou mais apelidos às máquinas que o cercam na rede.
Isto permite acessar máquinas remotas por nomes, poupando o trabalho de digitar números IP compridos e difíceis de memorizar.
O conteúdo típico do arquivo /etc/hosts, no Ubuntu 14.04 LTS é:

127.0.0.1	localhost
127.0.1.1	case

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Se você tem várias máquinas virtuais em seu sistema, cada qual rodando um serviço e cada uma com seu próprio endereço IP, na rede, é muito mais fácil dar um apelido a cada uma.
Nos meus exemplos, vou usar uma máquina com um IP fixo 192.168.0.113, apelidada de infinity.
Veja como fica a edição do meu arquivo /etc/hosts, ao qual vou acrescentar alguns apelidos:

127.0.1.1	ultra     # máquina local
192.168.0.113	infinity      #servidor ftp, ssh, apache, mysql 

Claro que você pode dar mais de um apelido para cada número IP.
Com esta configuração, é possível acessar qualquer serviço hospedado na minha máquina local, por um de seus apelidos (localhost, ultra):

ping localhost

ou

ping ultra

O serviço de FTP, hospedado na máquina chamada infinity, pode ser acessado assim:

ftp 192.168.0.113

ou assim:

ftp infinity

O mesmo se aplica ao SSH:

ssh cowboy@infinity
cowboy@infinity's password: 
Welcome to Trisquel GNU/Linux 7.0, Belenos (GNU/Linux 3.16.0-31-generic i686)

Documentation: http://trisquel.info/wiki/

Last login: Fri May  1 11:09:44 2015 from 192.168.0.112
cowboy@infinity:~$ 

Se você tem um servidor Apache na máquina, pode acessar do seu navegador, fornecendo o apelido no lugar do endereço IP: http://infinity ou apenas “infinity/” (veja a imagem).

página padrão do Apache no Trisquel Linux
Clique para ampliar

O mesmo vale pro servidor de impressão CUPS http://infinity:631:
CUPS default printers page
Clique para ampliar.

Há inúmeros outros casos em que você pode simplificar seu acesso a outros dispositivos na rede, através da edição do arquivo de configuração /etc/hosts.
Note que é necessário que os IPs destas máquinas seja fixo — ou você se arrisca a acessar uma máquina diferente com o mesmo apelido, quando houver alguma reinicialização.

Como editar o arquivo /etc/hosts

O arquivo /etc/hosts é um arquivo de texto simples e você deve evitar editá-lo em processadores de texto mais complexos (que não foram feitos para editar código).
O arquivo associa endereços IP a hostnames — um a cada linha.
Veja as regras de edição:

  • Cada IP pode ser associado a um apelido ou mais (separados por espaços):
    192.168.0.21 cups impressoras serv_imp
  • Comentários podem ser feitos com “#”. Tudo o que vier depois deste caractere e até o fim da linha será ignorado.
  • Nomes de hosts ou hostnames devem conter apenas caracteres alfanuméricos — mas sempre começando com caracteres alfabéticos.

Após a edição e gravação do arquivo, já é possível usar o novo hostname. Não há necessidade de reiniciar o computador ou qualquer serviço no sistema — exceto em casos em que o arquivo está sendo mantido em cache por alguma aplicação.

O servidor BIND — Berkeley Internet Name Domain Server — implementa o servidor de nomes para sistemas UNIX.
O BIND acrescenta ou substitui as funções do arquivo /etc/hosts e é uma solução mais confiável.

Em que casos o uso do /etc/hosts pode ser o mais indicado

Atualmente, a tabela de hosts foi substituída pelo uso do DNS. Ainda assim, de acordo com o manual, ela é amplamente usada para:

  1. bootstrapping — Muitos sistemas tem uma pequena tabela hosts, contendo o endereço e o nome para alguns hosts importantes na rede local. Isto é útil quando o DNS ainda não estiver sendo executado, por exemplo, durante a inicialização do sistema.
  2. NIS — Sites que usam o NIS, confiam na tabela de hosts para guardar sua relação de hosts.
    Mesmo podendo usar o DNS, muitos sites NIS, ainda usam esta tabela como backup.
  3. nós isolados — Pequenas redes, com máquinas simples ou sites isolados da rede, usam a tabela de hosts, contida no /etc/hosts em vez do DNS.
    Em situações com raras mudanças nas informações locais e a rede não estando conectada à Internet, o DNS oferece pouca vantagem.

O arquivo HOSTS na história

Muito antes de termos tantos dispositivos conectados à Internet, os poucos sites que se encontravam conectados, tinham um arquivo chamado “HOSTS.TXT”, que provia um mapeamento entre os nomes dos hosts e seus endereços na rede, de maneira simples, que dava pra qualquer pessoa ou programa ler.
À medida em que a quantidade de máquinas conectadas à rede foi crescendo, a quantidade de cópias do arquivo HOSTS foi aumentando e foi-se percebendo o quanto mantê-lo atualizado era ineficiente.
Propôs-se que a Stanford Research Institute Network Information Center (NIC) centralizasse o arquivo HOSTS, mantendo=o atualizado, em 1974.
Esta solução funcionou bem por quase uma década.
O aumento constante da quantidade de dispositivos conectados, contudo, passou a exigir que outra solução fosse adotada.
Para ter uma idéia, no fim da década de 80, o arquivo estava se tornando muito grande.
Novos dispositivos entravam na rede, outros mudavam de nome ou deixavam de existir, constantemente.
Alguns sites passavam a noite toda fazendo o download e a sincronização do seu HOSTS.TXT com o arquivo de Stanford. Ao fim do trabalho, ele já estava desatualizado — e era comum vir com erros, que se propagavam pela rede, causando transtornos.
A necessidade de se solucionar estes problemas, levou à concepção do BIND, desde 1983 e implementado pouco antes da década de 1990.

Referência: http://www.livinginternet.com/i/iw_dns_history.htm