Salut, j'ai 2 machines qui peuvent causer entre elles par 2 adresses différentes:
+-----------+ 192.168.1.1 192.168.1.2 +-----------+
| Machine A +------------[...]-------------+ Machine B |
+----+------+ +---+-------+
| 10.0.0.1 10.0.0.2 |
| |
... ...
Ce que je voudrais faire:
- La machine A possède un serveur TCP qui écoute sur le port 10000
- Quand une connection arrive sur l'addresse en 192.168 de la machine B et sur ce même port 10000, la connection est NATée vers A en utilisant l'addresse en 10.0
Et je voudrais faire le ça avec iptables.
Sur A:
# on ouvre le port 10000 sur le firewall local
iptables -I INPUT -p tcp --dport 10000 -j ACCEPT
# on écoute sur le port 10000
nc -l 10000
Sur B:
# on active le routage
echo 1 > /proc/sys/net/ipv4/ip_forward
# on fait le DNAT et le SNAT
iptables -t nat -A PREROUTING -d 192.168.1.2 -p tcp --dport 10000 -j DNAT --to-destination 10.0.0.1
iptables -t nat -A POSTROUTING -d 10.0.0.1 -p tcp --dport 10000 -j SNAT --to-source 10.0.0.2
Maintenant, à partir de la machine A, j'essaye de contacter B sur son port 10000:
[machine A]# nc 192.168.1.2 10000
Le flux TCP devrait être routé vers A en utilisant l'addresse en 10.0.0.1. Or ça ne fonctionne pas et la machine A reçoit des ICM TYPE=3 CODE=10 (donc a priori "Hôte de destination administrativement interdit").
Alors où est-ce que je me plante ?
Si depuis la machine B, j'essaye de joindre la machine A sur le port 10000, pas de soucis. Donc c'est vraiment dans mon NAT que j'ai un soucis.
# forward
Posté par defmonkey . Évalué à 1.
# routeur donc pas la chaine input
Posté par nono14 (site web personnel) . Évalué à 2.
http://www.aptalaska.net/~jclive/IPTablesFlowChart.pdf
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: routeur donc pas la chaine input
Posté par defmonkey . Évalué à 0.
Comme signalé précédemment, mon problème venait du fait que sur B, qui est donc un routeur, la règle par défaut pour le FORWARD était REJECT. En autorisant les flux adhoc pour le forward sur B, ça fonctionne bien.
Note que pour que ton schéma éclaircisse, il faut avoir déjà bien allumé de partout, sinon on ne comprends pas plus ;) Merci quand même.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.