Adresses réseau
Rappel des concepts
Pour construire un serveur, il vous faut impérativement configurer correctement sa configuration réseau. Vous avez en particulier besoin d'adresses (publiques et privées) stables, ainsi que de connaître l'adresse de votre passerelle ou routeur.
Vous pouvez passer ce chapitre si vous n'êtes pas à l'aise et commencer vos premiers essais avec une configuration automatique avec dhcp puis revenir ici une fois que vous vous êtes habitués.
Voici quelques précisions ou rappels qui vous permettront de mieux appréhender la suite.
Adresse publique, adresse privée/locale
Tout d'abord sachez que votre fournisseur d'accès ne vous connecte sûrement pas directement sur le réseau internet, mais plutôt par ce qu'on appelle du NAT. Si vous utilisez un routeur (box), ce qui est probablement le cas, alors cet appareil (on va beaucoup parler de lui plus bas) va, lui, recevoir une adresse Internet publique.
Avoir une adresse publique signifie que les gens qui naviguent sur le net peuvent contacter cette adresse. Elle est routable et unique.
Le routeur va alors distribuer des adresses privées sur votre réseau local. Cela signifie que vous avez chez vous plusieurs adresses privées - une pour chaque appareil connecté sur votre réseau : TV connectée, smartphone, console de jeu, imprimante... - qui se partagent une seule adresse publique.
OK ? Bien, on continue 😊.
Les adresses privées peuvent être dans trois rangées:
- 10.0.0.0/8 : de 10.0.0.0 à 10.255.255.255.
- 172.16.0.0/12 : de 172.16.0.0 à 172.31.255.255
- 192.168.0.0/16 : de 192.168.0.0 à 192.168.255.255
Votre adresse privée, ou locale, c'est celle que votre ordinateur utilise, celle qu'il connait. Par exemple sur un ordinateur utilisant Linux :
[toto@jabberwocky src]$ ip add show dev eno1 2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 10.0.153.194/16 brd 10.0.255.255 scope global dynamic eno1 valid_lft 28073sec preferred_lft 28073sec
Ici 10.0.153.194 est bien une adresse (ou IP ou adresse IP) privée.
Votre adresse publique, c'est celle que vous utilisez pour la navigation internet. C'est cette adresse que connaissent les différents sites web que vous fréquentez. Et justement, si vous ne la connaissez pas, il vous suffit d'aller voir par exemple
ipechoifconfig.me
lehollandaivolant.net
wizcase
Le routeur
Le routeur, c'est la box internet. On parle aussi de passerelle (gateway en anglais).
D'un côté du routeur, on a donc une adresse internet publique (que dans l'ensemble de cette documentation, on a supposée fixe, comme dit juste au-dessus), de l'autre on a une adresse privée. Cette dernière adresse est très importante : c'est celle que votre serveur (ainsi que votre ordinateur personnel, votre smartphone, votre grille-pain connecté…) doit connaître pour atteindre internet.
Dans les faits, quand quelqu'un dans votre réseau doit contacter un site internet, il passera par cette adresse, qui s'avère donc critique, et qui plus est un goulet d'étranglement.
C'est également le routeur qui fait les redirections de ports.
Pour trouver l'adresse de votre "gateway", vous pouvez vous connecter en dhcp dans un premier temps puis entrer la commande suivante :
# route -n show Routing tables Internet: Destination Gateway Flags Refs Use Mtu Prio Iface default 192.168.1.1 UGS 35 4827 - 8 re0 224/4 127.0.0.1 URS 0 13 32768 8 lo0 127/8 127.0.0.1 UGRS 0 0 32768 8 lo0 127.0.0.1 127.0.0.1 UHhl 9 969 32768 1 lo0 ...
La première ligne vous donne la réponse : 192.168.1.1 dans l'exemple.
Pour obtenir votre "gateway" en IPv6, vous pouvez prendre le préfixe qui vous a été attribué (le "subnet") et le terminer par "::1". Par exemple, pour ce serveur, l'IP est " 2a01:e0a:2b8:ca70::1bad" et la gateway " 2a01:e0a:2b8:ca70::1"
Nom de machine
Chaque appareil sur le réseau a un nom (qu'on appelle nom d'hôte, ou nom de machine. Certaines documentations parlent de nom de réseau de la machine).
Sur les éléments les plus sophistiqués (les vrais ordinateurs), on peut changer ce nom. De nombreux appareils actuels sont toutefois verrouillés (essayez de changer le nom de machine d'un smartphone Android...). Ça n'a l'air de rien mais avoir un nom de machine permet de reconnaître les appareils effectivement présents et fonctionnels dans le réseau.
Le nom de machine d'un ordinateur tournant sous OpenBSD se définit dans /etc/myname, où sera juste inscrit son nom complet. Par exemple:
serveur.chezmoi.tld
dhcp
Pour configurer l'adresse locale, vous pouvez utiliser le client dhcp qui vient par défaut avec chaque installation OpenBSD.
Pour ce faire, il suffit d'indiquer "dhcp" dans le fichier de configuration de l'interface réseau de votre serveur. Ce fichier est /etc/hostname.if avec "if" le nom de ladite interface. Si vous avez sélectionné dhcp lors de l'installation, alors il existe déjà.
toto@maitre:/home/toto cat /etc/hostname.re0 dhcp
Suivant la configuration du routeur que vous utilisez (configuration que vous ne pouvez pas forcement changer facilement), il peut être nécessaire d'utiliser DHCP pour obtenir de la connectivité sur votre serveur (le routeur pourrait refuser de relayer les connexions à une machine qui n'est pas dans sa table DHCP).
Si vous obtenez votre configuration réseau par DHCP, alors il n'est pas nécessaire de connaître ou de renseigner l'adresse de votre routeur.
Configuration statique
La configuration statique d'une machine s'avère plus complexe, mais on a davantage de maîtrise dessus (on peut par exemple assigner plusieurs adresses si on l'estime nécessaire).
On configure d'abord l'interface voulue :
toto@maitre:/home/toto $ cat /etc/hostname.re0 inet 192.168.1.2 255.255.255.0 192.168.1.255 inet alias 192.168.1.9 255.255.255.0 192.168.1.255 ## et autant d'autres que vous le voulez… # Dans l'ordre : inet (alias) ip_locale masque passerelle up
Puis on indique l'adresse du routeur (son adresse privée, celle dont j'ai dit plus haut à quel point elle est importante). Cette adresse se configure dans le fichier /etc/mygate. Il peut y avoir plusieurs pour indiquer la passerelle en ipv6 et en ipv4:
192.168.1.1 2001:db8::1
Vous devez connaître l'adresse de votre passerelle. Cette adresse n'est pas standard, en revanche les constructeurs ou les FAI ont souvent des réglages par défaut qui sont connus et qu'on peut retrouver sur le web. Il est également possible d'utiliser DHCP au début du processus de construction du serveur, puis mettre la configuration en statique quand on a pris la main et qu'on commence à vouloir faire des trucs sophistiqués.
Une fois ces deux fichiers configurés, l'interface sera prête et mise en service automatiquement à chaque démarrage de la machine. Notez également que vous pouvez combiner des éléments de configuration dynamique (dhcp) avec de la configuration statique.
Vous pouvez tester votre bonne connexion au net grâce à la (célèbre) commande ping.
Tout d'abord "pingez" votre passerelle :
ping 192.168.1.1
Puis "pinger" le serveur de l'APNIC par exemple :
ping 1.1.1.1
Si tout va bien, alors votre serveur est connecté au net.
APNICIPv6
IPv6 c'est le nouveau protocole IP. Aujourd'hui, ça devient essentiel de le maîtriser un petit peu. Sachez que si vous n'avez pas encore d'ipv6 chez vous, il est probable que vous en ayez d'ici un ou deux ans. Mieux vaut être préparé pour en tirer le meilleur profit non ?
Le principal avantage est que votre machine est directement accessible de l'extérieur, plus besoin de NAT par le routeur pour rediriger un visiteur.
La configuration reprend les grands principes d'ipv4, mais avec des différences sur les méthodes et la syntaxe:
toto@maitre:/home/toto $ cat /etc/hostname.re0 inet... inet6 2001:db8:1:1::2 64 # adresse inet6 autoconf # utilisation des adresses # SLAAC automatiques up
Les adresses SLAAC ont l'avantage d'être stables (si on utilise pas l'attribut autoconfprivacy), ce qui est exactement ce dont vous avez besoin sur un serveur. En revanche, elles sont encombrantes et peu mémorisables par un être humain.
Vous pouvez aussi utiliser les adresses ULA, qui sont des adresses locales pour votre réseau. Elles permettent de configurer un réseau de manière permanente sans avoir besoin de tout renuméroter en cas de changement de FAI. Elles sont également non-routables, ce qui veut dire que personne ne peut les attaquer. Enfin, elles constituent un excellent moyen de commencer à mettre en place votre réseau en attendant d'avoir vos adresses publiques définitives (si vous n'en avez pas encore). Vous pouvez lire davantage à propos de ces adresses en suivant ce lien:
https://www.22decembre.eu/2016/12/02/ula-fr/Ces divers paramètres se combinent de manière adéquate les uns avec les autres. Ainsi, vous pouvez tout à fait utiliser des adresses SLAAC et des adresses statiques.
En ipv6, il n'est plus question de redirection de ports (et ça c'est cool 😊) : votre serveur est directement connecté à internet. Soyez donc prudent et vérifiez bien le pare-feu de votre serveur.