Comment effectuer le filtrage des paquets, la traduction d'adresses réseau et définir les paramètres d'exécution du noyau - partie 2

Comment effectuer le filtrage des paquets, la traduction d'adresses réseau et définir les paramètres d'exécution du noyau - partie 2

Comme promis dans Partie 1 («Configuration du routage du réseau statique»), dans cet article (Partie 2 de RHCE série) Nous commencerons par introduire les principes de filtrage des paquets et de traduction d'adresses réseau (NAT) dans Red Hat Enterprise Linux 7, Avant de plonger dans la définition des paramètres du noyau d'exécution pour modifier le comportement d'un noyau en cours d'exécution si certaines conditions changent ou ont besoin.

RHCE: Filtrage des paquets réseau - Partie 2

Filtrage des paquets réseau dans RHEL 7

Lorsque nous parlons du filtrage des paquets, nous nous référons à un processus effectué par un pare-feu dans lequel il lit l'en-tête de chaque paquet de données qui tente de le traverser. Ensuite, il filtre le paquet en prenant les mesures requises en fonction des règles qui ont été précédemment définies par l'administrateur système.

Comme vous le savez probablement, en commençant par Rhel 7, Le service par défaut qui gère les règles du pare-feu est le pare-feu. Comme iptables, il parle au module NetFilter dans le noyau Linux afin d'examiner et de manipuler les paquets de réseau. Contrairement aux iptables, les mises à jour peuvent prendre effet immédiatement sans interrompre les connexions actives - vous n'avez même pas à redémarrer le service.

Un autre avantage de pare-feu est qu'il nous permet de définir des règles basées sur des noms de service préconfigurés (plus à ce sujet en une minute).

Dans Partie 1, Nous avons utilisé le scénario suivant:

Diagramme de réseau de routage statique

Cependant, vous vous souviendrez que nous avons désactivé le pare-feu routeur n ° 2 pour simplifier l'exemple car nous n'avions pas encore couvert le filtrage des paquets. Voyons maintenant comment nous pouvons activer les paquets entrants destinés à un service ou un port spécifique dans la destination.

Tout d'abord, ajoutons une règle permanente pour permettre le trafic entrant ENP0S3 (192.168.0.19) pour ENP0S8 (dix.0.0.18):

# Firewall-CMD - PERMANENT --DIRECT --Add-Rule IPv4 Filtre Forward 0 -I ENP0S3 -O ENP0S8 -J Accepter 

La commande ci-dessus enregistrera la règle à / etc / Firewalld / Direct.xml:

# Cat / etc / Firewalld / Direct.xml 
Vérifiez les règles enregistrées pour les balles de feu

Ensuite, permettez à la règle de prendre effet immédiatement:

# pare-feu-cmd --direct --Add-Rule IPv4 Filtre Forward 0 -I ENP0S3 -O ENP0S8 -J Accepter 

Vous pouvez maintenant Telnet sur le serveur Web à partir du Rhel 7 boîte et exécuter à nouveau TCPDump pour surveiller le trafic TCP entre les deux machines, cette fois avec le pare-feu routeur n ° 2 activé.

# Telnet 10.0.0.20 80 # tcpdump -qnnvvv -i hôte ENP0S3 10.0.0.20 

Et si vous souhaitez autoriser uniquement les connexions entrantes au serveur Web (port 80) depuis 192.168.0.18 et bloquer les connexions provenant d'autres sources du 192.168.0.0/24 réseau?

Dans le pare-feu du serveur Web, ajoutez les règles suivantes:

# Firewall-Cmd --Add-Rich-Rule 'Rule Family = "IPv4" Source Address = "192.168.0.18/24 "Service Name =" http "Accepter '# # Firewall-Cmd --Add-Rich-Rule' Rule Family =" IPv4 "Source Address =" 192.168.0.18/24 "Service Name =" http "Accepter '- Permanent # Firewall-CMD --Add-Rich-Rule' Rule Family =" IPv4 "Source Address =" 192.168.0.0/24 "Service Name =" Http "Drop '# # Firewall-Cmd --Add-Rich-Rule' Rule Family =" IPv4 "Source Address =" 192.168.0.0/24 "Service Name =" http "Drop '--permanent 

Vous pouvez maintenant faire des demandes HTTP au serveur Web, à partir de 192.168.0.18 et d'une autre machine dans 192.168.0.0/24. Dans le premier cas, la connexion devrait se terminer avec succès, alors que dans la seconde, il finira par être temporisé.

Pour ce faire, l'une des commandes suivantes fera l'affaire:

# Telnet 10.0.0.20 80 # wget 10.0.0.20 

Je vous conseille fortement de consulter la documentation de la langue riche du monde-feu dans le wiki du projet Fedora pour plus de détails sur les règles riches.

Traduction d'adresse réseau dans RHEL 7

Traduction d'adresse réseau (Nat) est le processus où un groupe d'ordinateurs (il peut également être l'un d'eux) dans un réseau privé se voient attribuer une adresse IP publique unique. En conséquence, ils sont toujours identifiés de manière unique par leur propre adresse IP privée à l'intérieur du réseau, mais à l'extérieur, ils «semblent» le même.

Pages: 1 2