Comment configurer NAT sur Ubuntu

Comment configurer NAT sur Ubuntu

Nat ou traduction d'adresse réseau permet à plusieurs ordinateurs sur un réseau privé de partager une IP commune pour accéder à Internet. Un ensemble d'adresses IP est utilisé à l'intérieur de l'organisation et l'autre ensemble est utilisé par lui pour se présenter sur Internet. Cela aide à conserver l'espace IP public limité. Dans le même temps, il assure également la sécurité en cachant le réseau interne à partir d'un accès direct depuis le monde extérieur.

Comment fonctionne le NAT?

Nat convertit simplement l'adresse source du paquet sortant en une adresse IP publique pour le rendre routier sur Internet. De la même manière, l'adresse source des paquets de réponse provenant de l'extérieur (Internet) est converti en adresse IP locale ou privée.

Que couvrirons-nous?

Dans ce guide, nous apprendrons à mettre en place Ubuntu 20.04 en tant que routeur NAT. Pour cela, nous utiliserons une machine virtuelle Ubuntu comme routeur NAT et une autre machine virtuelle Ubuntu comme VM client dans le but de tester. Pour tester la configuration, nous utilisons VirtualBox pour créer et gérer des machines virtuelles (VM).

Chèque avant le vol

  1. Deux machines virtuelles Ubuntu avec une avec deux interfaces réseau (NICS).
  2. Ubuntu 20.04 installé sur les deux machines virtuelles.
  3. Accès administratif (sudo) sur les deux machines virtuelles.

Montage expérimental

Nous avons utilisé la configuration suivante pour les deux machines virtuelles mentionnées ci-dessus:

1. VM1 (routeur NAT): Notre machine à routeur a deux interfaces réseau: ENP0S3 et ENP0S8 (ces noms peuvent varier en fonction du système). L'interface ENP0S3 agit comme une interface WAN (Internet) et est accessible à partir du monde extérieur (Internet). Son adresse IP est attribuée via DHCP et dans notre cas, elle est 192.168.11.201.

L'interface ENP0S8 est une interface locale ou LAN et est accessible uniquement sur le réseau local où notre client sera déployé. Nous avons défini manuellement l'adresse IP de cette interface comme 10.dix.dix.1/24 et «l'adresse de la passerelle est laissée vide».

2. VM2 (machine client): La machine client n'a qu'une seule interface locale ou LAN I.e. ENP0S3. Il est attaché au réseau local de la machine ci-dessus (VM2) avec l'adresse IP définie sur 10.dix.dix.3/24. La seule chose à prendre en charge est que la passerelle dans ce cas est l'adresse IP de l'interface locale (ENP0S8) de la machine ci-dessus (VM2) I.e., dix.dix.dix.1

Le résumé de la configuration des deux machines virtuelles est donnée dans le tableau ci-dessous:

Nom de l'interface → ENP0S3 ENP0S8
Nom de la machine virtuelle ↓ adresse IP IP de passerelle adresse IP IP de passerelle
VM1 (routeur NAT) 192.168.11.201/24 Via dhcp dix.dix.dix.1/24
VM2 (client) dix.dix.dix.3/24 dix.dix.dix.1

Commençons…

Maintenant que nous avons configuré les adresses IP requises sur notre machine, nous sommes configurés pour les configurer. Vérirons d'abord la connectivité entre ces machines. Les deux machines devraient pouvoir cingler. VM1, qui est notre machine à routeur NAT, devrait être en mesure d'atteindre l'Internet mondial car il est connecté à WAN via ENP0S3. VM2, qui est notre machine client locale, ne devrait pas être en mesure d'atteindre Internet avant de configurer le routeur NAT sur VM1. Maintenant, suivez les étapes ci-dessous:

Étape 1. Vérifiez d'abord les adresses IP sur les deux machines avec la commande:

$ ip add | grep enp

Étape 2. Vérifiez également la connectivité des machines avant de configurer le routeur NAT comme mentionné ci-dessus. Vous pouvez utiliser la commande ping comme:

$ ping 8.8.8.8

Ou

$ ping www.Google.com

Le résultat du VM1 (VM du routeur NAT) est illustré ci-dessous:

Le résultat du VM2 (clientvm) est illustré ci-dessous:

Les deux machines virtuelles fonctionnent comme nous nous attendions à ce qu'ils soient. Nous allons maintenant commencer à configurer VM2 (routeur NAT).

Étape 3. Sur vm2 ouvrez le sysctl.fichier conf, définissez le «net.ipv4.Paramètre IP_Forward ”à un en le désommant:

$ sudo nano / etc / sysctl.confli

Étape 4. Activez maintenant les modifications vers le fichier ci-dessus à l'aide de la commande:

$ sudo sysctl -p

Étape 5. Maintenant, installez le package iptables-persistant (chargeur de démarrage-temps pour les règles NetFilter, plugin iptables) en utilisant:

$ sudo apt installer iptables persistant

Étape 6. Énumérez les politiques iptables déjà configurées en émettant la commande:

$ sudo iptables -l

Étape 7. Masquez maintenant les demandes de l'intérieur du LAN avec la propriété intellectuelle externe de Nat Router VM.

$ sudo iptables -t nat -a postrouting -j mascarade
$ sudo iptables -t nat -l

Étape 8. Enregistrez les règles iptables en utilisant:

$ sudo sh -c “iptables-save> / etc / iptables / règles.V4 ”

Tester la configuration

Maintenant, pour vérifier si tout fonctionne correctement, ping de ping n'importe quelle IP publique du VM2 (client):

Note: Si vous le souhaitez, vous pouvez ajouter un serveur DNS manuellement dans la configuration du réseau client pour la résolution du nom de domaine. Cela supprimera la «défaillance temporaire de la résolution du nom». Nous avons utilisé le google dns ip i.e. 8.8.8.8 Dans notre VM1.

Nous pouvons voir que le ping fonctionne maintenant comme prévu sur VM1 (machine client).

Conclusion

NAT est un outil très essentiel pour préserver l'espace d'adressage public public IPv4 limité. Bien que IPv6 ait émergent le protocole IP de prochaine génération qui est censé terminer les limitations IPv4, mais c'est un processus long; Donc, jusque-là, Nat est très important pour les organisations.