Paramétrage VM Debian Firewall avec iptables (IUT Informatique)

Demande d'aide : c'est ici.
Répondre
Ducourtz
Messages : 5
Inscription : 13 janv. 2024, 15:17
Status : Hors-ligne

Bonjour,

Je suis en IUT Informatique 2ème année et je rencontre un soucis en TP. Je dois faire communiquer la VM Client avec la VM web (Voir Schéma ci-joint) mais çà ne fonctionne pas. Toutes aide sera la bienvenue.

Voilà ce que j'ai essayé :

nano /etc/sysctl.conf : net.ipv4.ip_forward=1
sysctl -p
sysctl --system


iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -A FORWARD -i eth1 -o eth0 -p tcp --syn --dport 80 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -P FORWARD DROP

iptables -t nat -A PREROUTING -p tcp -d 30.1.4.5 --dport 80 -j DNAT --to 192.168.9.2

iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 80 -d 192.168.9.2 -j SNAT --to-source 192.168.9.1

TP.png

Merci
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 161
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

A vue de nez, je supprimerais la ligne ...DNAT... Netfilter (que l'on configure à partir de iptables ou nftables) se rappelle du snat qu'il a effectué et réalise automatiquement le dnat en retour.

Par ailleurs, un zéro pointé pour l'IUT. Aujourd'hui, iptables est en fin de vie et remplacé par nftables. Il faudrait qu'ils se tiennent à jour.

Amicalement.

Jean-Marie
Ducourtz
Messages : 5
Inscription : 13 janv. 2024, 15:17
Status : Hors-ligne

diesel a écrit : 14 janv. 2024, 08:29 A vue de nez, je supprimerais la ligne ...DNAT... Netfilter (que l'on configure à partir de iptables ou nftables) se rappelle du snat qu'il a effectué et réalise automatiquement le dnat en retour.

Par ailleurs, un zéro pointé pour l'IUT. Aujourd'hui, iptables est en fin de vie et remplacé par nftables. Il faudrait qu'ils se tiennent à jour.

Amicalement.

Jean-Marie

Merci, je vais essayer.

Et tout à fait d'accord avec toi...
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 4962
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

iptable est encore très utilisé sur les systèmes en production, il est normal qu'un jeune qui sort de l'école le maîtrise.
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 161
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

Oui..., et dans 40 ans, on continuera à utiliser iptables alors que nftables aura déjà trouvé un successeur.

Amicalement.

Jean-Marie
PascalHambourg
Contributeur
Contributeur
Messages : 876
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Ducourtz a écrit : 13 janv. 2024, 15:27 Je dois faire communiquer la VM Client avec la VM web
Dans quel sens ?
Ducourtz a écrit : 13 janv. 2024, 15:27 mais çà ne fonctionne pas
Cette phrase ne contient aucune information utile. Qu'est-ce qui se passe (action, résultat) ?
Ducourtz a écrit : 13 janv. 2024, 15:27 Toutes aide sera la bienvenue.
Pour commencer, montre les tables de routage de client, firewall et web affichées par "ip addr".
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 161
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

Euh..., j'ai relu avec un peu plus d'attention ton premier post :

Tes lignes iptables, elles sont dans quel fichier ?

Amicalement.

Jean-Marie
Ducourtz
Messages : 5
Inscription : 13 janv. 2024, 15:17
Status : Hors-ligne

PascalHambourg a écrit : 14 janv. 2024, 15:36
Ducourtz a écrit : 13 janv. 2024, 15:27 Je dois faire communiquer la VM Client avec la VM web
Dans quel sens ?
Ducourtz a écrit : 13 janv. 2024, 15:27 mais çà ne fonctionne pas
Cette phrase ne contient aucune information utile. Qu'est-ce qui se passe (action, résultat) ?
Ducourtz a écrit : 13 janv. 2024, 15:27 Toutes aide sera la bienvenue.
Pour commencer, montre les tables de routage de client, firewall et web affichées par "ip addr".
Dans quel sens ?
Cette phrase ne contient aucune information utile. Qu'est-ce qui se passe (action, résultat) ?
Je fais un curl 30.1.4.5 à partir de client et je voudrais l'index.html de web. Ca tourne dans le vid et n'affiche rien.

Pour commencer, montre les tables de routage de client, firewall et web affichées par "ip addr".
J'aurais accès aux VM ce soir je mettrais une copie des ip a de chaque VM
Ducourtz
Messages : 5
Inscription : 13 janv. 2024, 15:17
Status : Hors-ligne

diesel a écrit : 14 janv. 2024, 16:59 Euh..., j'ai relu avec un peu plus d'attention ton premier post :

Tes lignes iptables, elles sont dans quel fichier ?

Amicalement.

Jean-Marie
Pour l'instant, je les lance une par une en ligne de commande.
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 4962
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

ca va étre compliqué à suivre, et un faute de frappe n'est pas impossible. Apprends à étre organisé et efficace. Mets tes lignes dans un fichier de conf, et idéalement, fait un suivi des évolutions de ce fichier avec un gestionnaire de donf (git, svn..). Ca peux te paraître lourd, mais tu seras gagnant au final, tu sauras exactement ce que tu as fais, et le résultat.
PascalHambourg
Contributeur
Contributeur
Messages : 876
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

piratebab a écrit : 14 janv. 2024, 18:09 Mets tes lignes dans un fichier de conf
Ou plutôt dans un script shell puisque ce sont des commandes.
Ducourtz
Messages : 5
Inscription : 13 janv. 2024, 15:17
Status : Hors-ligne

Bonjour,

Finalement voilà les commandes qui ont l'air de fonctionner :

iptables -F

iptables -A INPUT -p tcp --dport 80 -j ACCEPT # web

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -i eth1 -j DROP // Sécurité

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.9.2:80 # web

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Je teste à partir de client avec telnet web 80 et ca réponde Connected :)

Par contre, ne me renvoie pas le index.html avec curl web (Bad Request 400)
Savez-vous si cà devrait marcher ou si la commande curl n'est pas correcte ?

Merci,
PascalHambourg
Contributeur
Contributeur
Messages : 876
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Comme à mon habitude, je serai franc, direct, et par conséquent impitoyable. C'est mauvais. Ça ne mérite pas la moyenne.

- La table 'nat' est utilisé sans être réinitialisée.
- Le soi-disant firewall ne filtre rien, à part pour lui-même ce qui est d'un intérêt limité.
- La redirection DNAT est superflue si l'adresse IP du serveur web est routable depuis le client. Pire, elle est si peu sélective qu'elle intercepte et redirige vers le serveur web toute connexion HTTP quelles que soient sa source et sa destination.
- Le masquerading ne sert à rien.
Répondre