Na Internet, incluindo redes locais, as máquinas se chamam por endereços IP . Para acessar a máquina B a partir da máquina A, usando o nome da máquina B, a máquina A precisa ter uma maneira de mapear o nome de B para seu endereço IP. Existem três maneiras de declarar nomes de máquinas em A:
- um arquivo de hosts . Este é um arquivo de texto simples que mapeia nomes para endereços.
- o sistema de nomes de domínio (DNS) . Este é o método usado na Internet global. Por exemplo, quando você carrega esta página em um navegador, a primeira coisa que seu computador faz é fazer uma solicitação de DNS para saber o endereço de
unix.stackexchange.com
.
- outros bancos de dados de nomes, como NIS , LDAP ou Active Directory . Eles são usados em algumas redes corporativas, mas não com muita frequência (muitas redes que usam NIS, LDAP ou AD para bancos de dados de usuários usam DNS para nomes de máquinas). Se sua rede usa um desses, você tem um administrador de rede profissional e deve perguntar a ele o que fazer.
Existem muitas maneiras pelas quais elas podem funcionar na prática; é impossível cobrir todos eles. Nesta resposta, descreverei algumas situações comuns.
Arquivo Hosts
O método do arquivo hosts tem a vantagem de não exigir nenhum método especial. Pode ser complicado se você tiver várias máquinas, porque é necessário atualizar todas as máquinas quando o nome de uma máquina mudar. Não é adequado se o endereço IP de B for atribuído dinamicamente (para que você obtenha um diferente sempre que se conectar à rede).
Um arquivo hosts é uma lista simples de linhas que mapeiam nomes para endereços IP. Se parece com isso:
127.0.0.1 localhost localhost.localdomain
198.51.100.42 darkstar darkstar.bands
Em sistemas unix, o arquivo hosts é /etc/hosts
. No Windows, é c:\windows\system32\drivers\etc\hosts
. Quase todos os sistemas operacionais que você pode conectar à Internet têm um arquivo semelhante; A Wikipedia tem uma lista .
Para adicionar uma entrada para B no arquivo de hosts de A:
Determine o endereço IP de B. Em B, execute o comando ifconfig
(se o comando não for encontrado, tente /sbin/ifconfig
). A saída conterá linhas como esta:
eth1 Link encap:Ethernet HWaddr 01:23:45:67:89:ab
inet addr:10.3.1.42 Bcast:10.3.1.255 Mask:255.255.255.0
Neste exemplo, o endereço IP de B é 10.3.1.42. Se houver várias inet addr:
linhas, escolha aquela que corresponda à sua placa de rede, nunca a lo
entrada ou um túnel ou entrada virtual.
- Edite o arquivo hosts em A. Se A estiver executando algum sistema unix, você precisará editar
/etc/hosts
como superusuário; consulte Como executo um comando como administrador do sistema (raiz) .
DHCP + DNS em redes domésticas ou de pequenos escritórios
Este método é de longe o mais simples se você tiver o equipamento necessário. Você só precisa configurar um dispositivo e todos os seus computadores saberão os nomes um do outro. Esse método pressupõe que seus computadores obtenham seus endereços IP por DHCP , que é um método para os computadores recuperarem automaticamente um endereço IP quando se conectam à rede. Se você não sabe o que é o DHCP, eles provavelmente sabem.
Se sua rede possui um roteador doméstico , é o melhor lugar para configurar nomes para máquinas conectadas a esse roteador. Primeiro, você precisa descobrir o endereço MAC de B. Cada dispositivo de rede possui um endereço MAC exclusivo. Em B, execute o comando ifconfig -a
(se o comando não for encontrado, tente /sbin/ifconfig -a
). A saída conterá linhas como esta:
eth1 Link encap:Ethernet HWaddr 01:23:45:67:89:ab
Neste exemplo, o endereço MAC é 01:23:45:67:89:ab
. Você deve escolher a linha HWaddr que corresponde à porta de rede conectada ao roteador através de um cabo (ou a placa wifi, se você estiver conectado via wifi). Se você possui várias entradas e não sabe qual é qual, conecte o cabo e veja qual dispositivo de rede recebe um endereço IP ( inet addr
linha logo abaixo).
Agora, na interface da web do seu roteador, procure uma configuração como “DHCP”. O nome e o local da configuração dependem completamente do modelo do roteador, mas a maioria possui um conjunto semelhante de configurações básicas. Aqui está o que parece em um firmware Tomato :
Digite o endereço MAC, um endereço IP e o nome desejado. Você pode escolher qualquer endereço IP no intervalo de endereços da sua rede local. A maioria dos roteadores domésticos é pré-configurada para um intervalo de endereços do formato 192.168. x . y ou 10. x . y . z . Por exemplo, no roteador Tomato mostrado acima, na guia "Rede", há uma configuração de "endereço IP do roteador" com o valor 10.3.0.1 e uma configuração de "máscara de sub-rede" com o valor 255.255.255.0, o que significa que os computadores em a rede local deve ter um endereço no formato 10.3.0. z . Há também um intervalo de endereços para endereços DHCP atribuídos automaticamente (10.3.0.129-10.3.0.254); para o seu endereço DHCP atribuído manualmente, escolha um que não esteja nesse intervalo.
Agora conecte B à rede, e ele deverá obter o endereço IP especificado e poderá ser acessado pelo nome especificado em qualquer máquina da rede.
Crie seu próprio servidor DNS com o Dnsmasq
Se você não tiver um roteador doméstico capaz, poderá configurar a mesma funcionalidade em qualquer máquina Linux. Vou explicar como usar o Dnsmasq para configurar o DNS . Existem muitos outros programas similares; Eu escolhi o Dnsmasq porque é fácil de configurar e leve (é o que o roteador Tomato ilustrado acima usa, por exemplo). O Dnsmasq está disponível na maioria das distribuições Linux e BSD para PCs, servidores e equipamentos de rede.
Escolha um computador que esteja sempre ligado, que tenha um endereço IP estático e que esteja executando algum tipo de Linux ou BSD; vamos chamá-lo de S (para servidor). Em S, instale o dnsmasq
pacote (se ainda não estiver lá). Abaixo, assumirei que o arquivo de configuração é /etc/dnsmasq.conf
; a localização pode variar em algumas distribuições. Agora você precisa fazer várias coisas.
Você também pode usar o Dnsmasq como um servidor DHCP , para que as máquinas possam obter o endereço correspondente ao seu nome automaticamente. Isso está além do escopo desta resposta; consulte a documentação do Dnsmasq (não é difícil). Observe que só pode haver um único servidor DHCP em uma determinada rede local (a definição exata de rede local está além do escopo desta resposta).
Nomes na Internet global
Até agora, assumi uma rede local. E se você quiser dar um nome a uma máquina que está em um canto diferente do mundo? Você ainda pode usar qualquer uma das técnicas acima, exceto que as partes que envolvem o DHCP são aplicáveis apenas em uma rede local. Como alternativa, se suas máquinas tiverem endereços IP públicos, você poderá registrar seu próprio nome público. (Você também pode atribuir um endereço IP privado a um nome público; é menos comum e menos útil, mas não há dificuldade técnica.)
Obtendo seu próprio nome de domínio
Você pode obter seu próprio nome de domínio e atribuir endereços IP a nomes de host dentro desse domínio. Você precisa registrar o nome de domínio com um provedor de nomes de domínio; isso normalmente custa de US $ 10 a US $ 15 / ano (para os domínios mais baratos). Use a interface da web do provedor de nomes de domínio para atribuir endereços a nomes de host.
DNS dinâmico
Se suas máquinas tiverem um endereço IP dinâmico, você poderá usar o protocolo DNS dinâmico para atualizar o endereço IP associado ao nome da máquina quando o endereço for alterado. Nem todos os provedores de nomes de domínio oferecem suporte ao DNS dinâmico; portanto, compre antes de comprar. Para uso pessoal, o No-IP fornece um serviço DNS dinâmico gratuito, se você usar seus próprios domínios (por exemplo example.ddns.net
).
ping
) ou em uma máquina que o cliente consulta. O que é o sistema operacional no cliente? Qual é a sua configuração de DNS?