Sur Internet, y compris les réseaux locaux, les machines s’appellent par adresses IP . Pour accéder à la machine B à partir de la machine A à l'aide du nom de la machine B, la machine A doit disposer d'un moyen de mapper le nom de B sur son adresse IP. Il existe trois façons de déclarer les noms de machine sur A:
- un fichier hosts . C'est un simple fichier texte qui mappe les noms en adresses.
- le système de nom de domaine (DNS) . C'est la méthode utilisée sur l'Internet global. Par exemple, lorsque vous chargez cette page dans un navigateur, la première chose que votre ordinateur fait est de faire une requête DNS pour connaître l'adresse de
unix.stackexchange.com
.
- autres bases de données de noms telles que NIS , LDAP ou Active Directory . Celles-ci sont utilisées dans certains réseaux d'entreprise, mais pas très souvent (de nombreux réseaux qui utilisent NIS, LDAP ou AD pour les bases de données utilisateur utilisent DNS pour les noms d'ordinateur). Si votre réseau en utilise un, vous avez un administrateur réseau professionnel et devriez lui demander quoi faire.
Celles-ci peuvent fonctionner de nombreuses façons. il est impossible de tous les couvrir. Dans cette réponse, je vais décrire quelques situations courantes.
Fichier d'hôtes
La méthode du fichier hosts présente l'avantage de ne nécessiter aucune méthode spéciale. Cela peut être fastidieux si vous avez plusieurs machines, car vous devez mettre à jour chaque machine lorsque le nom d'une machine change. Cela ne convient pas si l'adresse IP de B est attribuée de manière dynamique (afin que vous obteniez une adresse différente chaque fois que vous vous connectez au réseau).
Un fichier d'hôtes est une simple liste de lignes mappant des noms sur des adresses IP. Cela ressemble à ceci:
127.0.0.1 localhost localhost.localdomain
198.51.100.42 darkstar darkstar.bands
Sur les systèmes Unix, le fichier hosts est /etc/hosts
. Sous Windows, c'est c:\windows\system32\drivers\etc\hosts
. À peu près tous les systèmes d'exploitation que vous pouvez connecter à Internet possèdent un fichier similaire; Wikipedia a une liste .
Pour ajouter une entrée pour B dans le fichier hosts de A:
Déterminez l'adresse IP de B. Sur B, exécutez la commande ifconfig
(si la commande est introuvable, essayez /sbin/ifconfig
). La sortie contiendra des lignes comme celle-ci:
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
Dans cet exemple, l'adresse IP de B est 10.3.1.42. S'il y a plusieurs inet addr:
lignes, choisissez celle qui correspond à votre carte réseau, jamais l' lo
entrée, ni un tunnel, ni une entrée virtuelle.
- Modifiez le fichier hosts sur A. Si A exécute un système Unix, vous devez le modifier en
/etc/hosts
tant que super utilisateur. voir Comment exécuter une commande en tant qu'administrateur système (racine) .
DHCP + DNS sur les réseaux domestiques ou de petite entreprise
Cette méthode est de loin la plus simple si vous disposez du matériel requis. Il vous suffit de configurer un seul périphérique, et tous vos ordinateurs connaîtront le nom de chacun. Cette méthode suppose que vos ordinateurs obtiennent leurs adresses IP via DHCP , ce qui permet aux ordinateurs de récupérer automatiquement une adresse IP lorsqu'ils se connectent au réseau. Si vous ne savez pas ce que DHCP est, ils le font probablement.
Si votre réseau dispose d'un routeur domestique , c'est le meilleur endroit pour configurer les noms des machines connectées à ce routeur. Tout d'abord, vous devez déterminer l' adresse MAC de B. Chaque périphérique réseau a une adresse MAC unique. Sur B, exécutez la commande ifconfig -a
(si la commande est introuvable, essayez /sbin/ifconfig -a
). La sortie contiendra des lignes comme celle-ci:
eth1 Link encap:Ethernet HWaddr 01:23:45:67:89:ab
Dans cet exemple, l'adresse MAC est 01:23:45:67:89:ab
. Vous devez choisir la ligne HWaddr qui correspond au port réseau connecté au routeur via un câble (ou la carte wifi si vous êtes connecté via wifi). Si vous avez plusieurs entrées et que vous ne savez pas laquelle est laquelle, branchez le câble et voyez quel périphérique réseau reçoit une adresse IP ( inet addr
ligne juste en dessous).
A présent, sur l'interface Web de votre routeur, recherchez un paramètre tel que «DHCP». Le nom et l'emplacement du paramètre dépendent entièrement du modèle de routeur, mais la plupart ont un ensemble similaire de paramètres de base. Voici à quoi cela ressemble sur un micrologiciel Tomato :
Entrez l'adresse MAC, une adresse IP et le nom souhaité. Vous pouvez choisir n'importe quelle adresse IP dans la plage d'adresses de votre réseau local. La plupart des routeurs domestiques sont préconfigurés pour une plage d'adresses de la forme 192.168. x . y ou 10. x . y . z . Par exemple, sur le routeur Tomato illustré ci-dessus, dans l'onglet «Réseau», un paramètre «adresse IP du routeur» avec la valeur 10.3.0.1 et un paramètre «masque de sous-réseau» avec la valeur 255.255.255.0, ce qui signifie que les ordinateurs sous tension le réseau local doit avoir une adresse de la forme 10.3.0. z . Il existe également une plage d'adresses pour les adresses DHCP attribuées automatiquement (10.3.0.129–10.3.0.254); pour votre adresse DHCP attribuée manuellement, choisissez-en une qui ne se trouve pas dans cette plage.
Maintenant, connectez B au réseau, et il devrait obtenir l'adresse IP que vous avez spécifiée et il sera accessible par le nom spécifié à partir de n'importe quel ordinateur du réseau.
Faites votre propre serveur DNS avec Dnsmasq
Si vous ne disposez pas d'un routeur domestique capable, vous pouvez configurer la même fonctionnalité sur n'importe quel ordinateur Linux. Je vais vous expliquer comment utiliser Dnsmasq pour configurer DNS . Il existe de nombreux autres programmes similaires. J'ai choisi Dnsmasq car il est facile à configurer et léger (c'est ce que le routeur Tomato illustré ci-dessus utilise, par exemple). Dnsmasq est disponible sur la plupart des distributions Linux et BSD pour les PC, les serveurs et les équipements réseau.
Choisissez un ordinateur toujours allumé, qui a une adresse IP statique et qui exécute une sorte de Linux ou BSD; appelons-le S (pour le serveur). Sur S, installez le dnsmasq
paquet (s'il n'est pas déjà là). Ci-dessous, je supposerai que le fichier de configuration est /etc/dnsmasq.conf
; l'emplacement peut varier d'une distribution à l'autre. Maintenant, vous devez faire plusieurs choses.
Vous pouvez également utiliser Dnsmasq en tant que serveur DHCP afin que les ordinateurs puissent obtenir automatiquement l'adresse correspondant à leur nom. Cela dépasse le cadre de cette réponse. consultez la documentation Dnsmasq (ce n'est pas difficile). Notez qu'il ne peut y avoir qu'un seul serveur DHCP sur un réseau local donné (la définition exacte du réseau local dépasse le cadre de cette réponse).
Noms sur l'Internet mondial
Jusqu'ici, j'ai assumé un réseau local. Et si vous voulez donner un nom à une machine située dans un coin différent du monde? Vous pouvez toujours utiliser l'une des techniques ci-dessus, à l'exception du fait que les parties impliquant DHCP ne s'appliquent que sur un réseau local. Sinon, si vos machines ont des adresses IP publiques, vous pouvez enregistrer votre propre nom public pour elles. (Vous pouvez également attribuer une adresse IP privée à un nom public; elle est moins commune et moins utile, mais il n'y a pas de difficulté technique.)
Obtenir votre propre nom de domaine
Vous pouvez obtenir votre propre nom de domaine et attribuer des adresses IP aux noms d’hôte de ce domaine. Vous devez enregistrer le nom de domaine auprès d'un fournisseur de nom de domaine. cela coûte généralement entre 10 et 15 dollars par an (pour les domaines les moins chers). Utilisez l'interface Web de votre fournisseur de nom de domaine pour attribuer des adresses à des noms d'hôte.
DNS dynamique
Si vos ordinateurs ont une adresse IP dynamique, vous pouvez utiliser le protocole DNS dynamique pour mettre à jour l'adresse IP associée au nom de l'ordinateur lorsque l'adresse change. Tous les fournisseurs de noms de domaine ne prennent pas en charge le DNS dynamique. Achetez donc avant d'acheter. Pour un usage personnel, No-IP fournit un service DNS dynamique gratuit si vous utilisez leurs propres domaines (par exemple example.ddns.net
).
ping
) ou sur une machine que le client consulte. Quel est le système d'exploitation sur le client? Quelle est sa configuration DNS?