iptables : se présenter avec une autre adresse et retour

iptables : se présenter avec une autre adresse et retour - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 17-10-2007 à 17:18:33    

Bonjour a tous,
 
Un petit conseil sur l'usage des iptables dans ce cas de figure me serait d'une grande utilité, la je dois dire, je n'ai plus pied ;-)
Posons le problème: J'ai une machine adresse IP A qui dois interroger en snmp un autre serveur, mais qui lui attend forcément une adresse B (adresse que personne ne possède bien sur)
Mon serveur utilisant le snmp par ailleurs , j'ai décidé de positionner dans mes fichier de conf le snmp sur un port différent que je vais noter SNMP2.
la j'ai créé les iptables suivantes
iptables -t nat -A POSTROUTING --protocol udp --destination-port "SNMP2" --destination 0.0.0.0/0 -j SNAT
 --to-source "IP2":"SNMP"
En effet la regle est bien utilisé, mais pas de retour. Normal, me suis-je dit tu n'écoute pas ou il faut, donc re iptables:
iptables -A PREROUTING -t nat -p udp -d "IP2" --dport "SNMP" -j DNAT --to-destination "IP":"SNMP2"
 
Et la il faut le dire, ca ne marche pas, mais alors pas du tout...
 
Si quelqu'un accepterai de combler mon ignorance en terme d'iptables, un grand merci a lui(elle) par avance !!!

Reply

Marsh Posté le 17-10-2007 à 17:18:33   

Reply

Marsh Posté le 17-10-2007 à 18:46:42    

si personne ne possède l'adresse B, pourquoi ne pas plutôt créer une interface virtuelle sur ta machine A ? comme ça ton serveur répondrait à la bonne machine.
 
ifconfig eth0:0 bbb.bbb.bbb.bbb


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 17-10-2007 à 22:59:29    

fifi3349 a écrit :

Bonjour a tous,
 
 mais qui lui attend forcément une adresse B


Bonsoir,
Et pourquoi ? :??:  

Reply

Marsh Posté le 18-10-2007 à 11:32:22    

Si , je me suis mal exprimé, ma machine possède B en interface virtuelle, mais quand tu interroge tu sort forcément par la première interface ...
Et pour répondre au pourquoi, j'ai cette obligation technique, le matériel en face ne peux être configuré différemment...  
Merci pour vos interventions !

Reply

Marsh Posté le 18-10-2007 à 11:34:03    

Je suis toujours dans mes essais, mais il me semblerai que mon pb vienne du postrouting, ce n'est pas que le retour ne matche pas, il ne semble pas y avoir de retour du tout.... l'horreur ..

Reply

Marsh Posté le 18-10-2007 à 11:56:00    

En fait je ne comprend pas ton architecture...
Il faudrait que tu précises un peu mieux ton bordel car ca me semble un brin complexe. Et les archi de ce type si elle existe trop longtemps... ca va être galère à maintenir.

 

Deja essaye de poser ton probleme de manière plus carée. Je tente :

 

Si j'ai bien compris, tu as deux équipements A et B

  • Soit IP A1, l'adresse normale de la machine A et IP B1 l'adresse de la machine B
  • La machine A interroge la machine B en SNMP (soit A le client, et B le serveur)
  • Le serveur utilise deja le port SNMP et donc tu veux mettre un autre process snmp sur un port différent SNMP2. Cela veut dire qu'elle se fait déja interroger par quelqu'un d'autre ? Dans ce cas, pourquoi changer le port, la conf est différente ?


Bref, mes questions.
 

  • Ce que j'aie décrit, est ce correct ?

  • Par "le serveur attend une autre adresse", tu veux dire que ce serveur a une deuxieme adresse IP (IP B2), adresse virtuelle, et que le client va attaquer cette adresse ?

  • Les règles iptables tu les mets où, sur quelle machine, sur le serveur ?
 

1. Si ce que j'ai écrit est correct, je ne vois pas la raison d'etre de la premiere règle. Il suffit que tu configures ton client pour interroger l'adresse IPB2 et le port SNMP2. Ca sera certainement plus propre que de mettre du NAT dans tous les sens sur ton serveur.

 

2. L'utilisation des communautés SNMP ne perment pas de régler le probleme de double interrogation ?

 

3. Pour le trafic retour, je suis étonné qu'il récupère l'adresse IP B1... S'il le fait bien, une règle en SNAT pour le trafic émis depuis le port SNMP2 en modifiant l'adresse source devrait faire l'affaire dans la chaine POSTROUTING de la table nat.


Message édité par o'gure le 18-10-2007 à 11:57:36

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 19-10-2007 à 13:02:15    

En effet o'gure, mes explications sont un peu en vrac, je reprend donc avec une reprise de ton message:
 
- Le problème actuel a résoudre
  *  Soit IP A1, l'adresse normale de la machine A et IP B1 l'adresse de la machine B
  * La machine A interroge la machine B en SNMP (soit A le client, et B le serveur)
  * Le serveur possède un filtrage ne lui permettant de ne répondre qu'a l'adresse C
  * Je ne peux modifier ni le filtrage ni l'ip de la machine A
  * La machine A utilise le SNMP par ailleurs.
  * je n'ai que peu d'accès a la machine B
 
- Pourquoi ce ce problème
  Je reconnais l'aspect nébuleux de la chose, et j'ai du mal a expliquer mon soucis par écris, ha les avantages d'un tableau et d'une biere fraiche ;-)..., mon soucis est que le serveur ne répond qu'a une seule adresse. Et dans mon cas, cette adresse peux provenir de machine différentes a des moments différents bien entendu. C'est en fait une pseudo machine virtuelle basée sur du chroot qui se déplace entre serveurs. Bon, la je suis pas sur d'éclairer le tableau ....
 
----------

Reply

Marsh Posté le 19-10-2007 à 21:07:56    

je saisi mal ton problème. Si ton server répond qu'a l'adresse C, et que tu veux faire du nat, je suppose que l'adresse C est non utilisée :D
Donc dans ce cas pourquoi tu ne mets pas une IP virtuelle sur le server. Tu as dis que tu l'avais fais, mais que ca ressortait toujours pas la meme interface.
Ca me semble bizarre ... si tu veux etre sur, regarde avec un tcpdump les échanges qui se font.
 
En tout cas, ca serait beaucoup plus simple que ton nat ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed