Iptables + DNS dynamique

Bonjour,

En fait, j’essaye de faire un petit script qui recherche dans un fichier log des DNS dynamique (dyndns, no-ip…).
Toutes les adresses trouvées dans ce fichier sont ajoutées à Iptables pour un accès à mon serveur.
J’autorise la boucle locale ainsi que le réseau local.
Et je mets la politique de INPUT à DROP.

1° - en faisant :

est-ce que je récupère l’adresse IP réelle (IP à jour), ou est-ce qu’il prend l’adresse IP qui serait peut-être stockée dans un fichier ?
si ce n’est pas l’adresse IP à jour, quelle commande utiliser pour la récupérer ?

2° - y-a-t’il moyen de mettre à jour une telle règle dans Iptables ? genre, si un hôte change d’adresse IP, comment faire pour trouver dans Iptables son ancienne adresse, et la mettre à jour avec la nouvelle ?

Je ne sais pas si je suis clair…

Merci !

J’ai rien compris du tout. Quel est le but exactement, la finalité ?

EDIT : correction :
Je comprends qu’il veut identifier dans ses logs toutes les tentatives de connexions sur son serveur (dont l’origine serait des adresses dyndns, no-ip etc), et en autoriser les IP sources dynamiquement.
Et pouvoir tenir à jour la correspondance de ces IP autorisées avec leur dyndns/no-ip respectifs, et pour un même dyndns, en remplacer l’adresses source autorisée par la nouvelle dans le script iptables aussitôt qu’un changement est détecté.

Avec des règles ACCEPT ? J’ai comme un doute…
Et quel rapport avec dyndns/no-ip ?

[quote=“PascalHambourg”]Avec des règles ACCEPT ? J’ai comme un doute…
Et quel rapport avec dyndns/no-ip ?[/quote]

Et aussi pouvoir tenir à jour la correspondance de ces IP autorisée avec leur dyndns/no-ip respectifs, et en remplacer l’adresses source dans le script iptables aussitôt qu’un changement est détecté, pour être sur de gardé en permanence le bon hôte autorisé (car si la source utilise un dyndns, c’est que son ip est dynamique, donc si son script ne conserve pas une correspondance entre ce nom de domaine et l’ip correspondante, il va se retrouver au bout d’un certain temps avec des tas d’adresses IP autorisées à se conncter qui pourraient à l’avenir être ré attribuées à des hôtes auxquels il ne souhaite pas autoriser son accès)

EDIT : corrigé

Marche pas. L’association nom de domaine dynamique -> adresse IP ne marche que dans un sens. Le reverse de l’adresse IP ne pointe jamais vers le nom de domaine associé. Le serveur “attaqué” ne voit que l’adresse IP, pas le nom de domaine dynamique associé.

Oui, c’est aussi ce que je me suis dit en rédigeant la reformulation, mais j’étais pas sur… Et tu avais raison, c’est le contraire qu’il veut faire (j’ai corrigé mes propos), mais ca ne change rien au problème.

je savais que je m’étais mal expliqué LoL.
c’est bien ça Dric64 !

le but est de fermé le serveur pour toutes connexions entrantes, sauf celles reprises dans le fichier log (celui reprennant tous les dyndns, no-ip…)

Edit :

Maintenant, je ne suis pas obligé de faire une correspondance pour les mises à jour.
Ce que je peux faire c’est lancer le script à partir de Cron toutes les 30 min par exemple et qu’à chaque lancement du script, il fasse un

Mais ma question demeurre.
Le fait d’ajouter une entrée IPTABLES à partir d’une adresse dynamique, IPTABLES ira-t’il chercher l’adresse IP actuelle ? ou va-t’il chercher la correspondance dans un fichier stocké sur l’ordinateur, et à ce moment là il va me faire l’entrée avec un IP qui n’est peut-être plus bonne… ?

Mais d’où vient ce fichier log, et que contient-il exactement ?

c’est un fichier qui est créé par le script à partir d’un autre fichier.
ce fichier log ne contient que des adresses dynamiques.

genre :

trucmuche.dyndns.org
icietla.no-ip.org
brutus.dyndns.tv

Mon script fonctionne, mais ajoute-t’il bien à chaque fois la bonne IP ?

trucmuche.dyndns.org n’est pas une adresse dynamique, c’est un nom de domaine dynamique. Une adresse IP, c’est des chiffres.

Si une commande iptables contient un nom de domaine à la place d’une adresse IP, alors la résolution DNS se fait au moment de la création de la règle et uniquement à ce moment. La règle elle-même contient l’adresse IP résultante au moment de sa création. Si le nom de domaine dynamique change d’adresse IP, la règle ne sera plus à jour.

J’espère avoir été clair.

[quote=“PascalHambourg”]trucmuche.dyndns.org n’est pas une adresse dynamique, c’est un nom de domaine dynamique. Une adresse IP, c’est des chiffres.

Si une commande iptables contient un nom de domaine à la place d’une adresse IP, alors la résolution DNS se fait au moment de la création de la règle et uniquement à ce moment. La règle elle-même contient l’adresse IP résultante au moment de sa création. Si le nom de domaine dynamique change d’adresse IP, la règle ne sera plus à jour.

J’espère avoir été clair.[/quote]

Oups. Désolé pour la confusion.
Oui tu a été clair.

Je suis d’accord sur le fait que si le nom de domaine dynamique change d’adresse IP, la règle ne sera plus à jour. C’est d’ailleurs le pourquoi de ma question.
Maintenant, si tu me dis que lors de la création de la règle, la résolution DNS se fait, ça veut donc dire que si je mets mon script dans Cron pour qu’il s’exécute toutes les X minutes, la résolution DNS se fera donc à chaque fois et les règles seront bonnes.
C’est bien ça ?

Si c’est ça, c’est cool :slightly_smiling:

Merci encore !

J’espère que ton script efface les vieilles règles.

Il le fait oui.
C’est bon alors :slightly_smiling:

Merci Pascal !