[Réglé] Iptables redirection de machine

Bonjour,

je me penche sur une nouvelle config.

J’ai un serveur iptables avec :
une ip fix 192.168.1.1 eth0
une ip fix 80.1.2.1 eth1
une virtuel 80.1.2.2 eth1:1
une virtuel 80.1.2.3 eth1:2

Ce que je voudrais, c’est que ce qui vient d’une adresse (par exemple l’ip 81.1.2.2) sois redirigé sur une ip interne d’un autre pc (par exemple 192.168.1.100).

ma règle iptables :
iptables -t nat -A PREROUTING -p tcp -s 80.1.2.2/8 --dport 80 -j DNAT --to 192.168.1.100:80

est-ce que ce type de config est faisable ?

les adresses ip 80.1.2.x sont des adresses ip qui viennent de l’extérieur, pour éviter de mettre 3 cartes réseaux, mon idée est de mettre les 2 autres ip en virtuel sur l’interface eth1.

que pensez- vous de cette technique, faisable ou pas ?

hello,

La tu ne fais que nat(er) tous ce qui est de source 80.1.2.2 en 192.168.1.100, ca ne doit donc pas marcher, penche plutot sur les options (i) entrant et (o) sortant, je t’invite a lire l’incontournable iptables-tutorial.frozentux.net/ … orial.html

effectivement sa fonctionne pas et je suis dans la soupe…

J’ai donc mon interface eth1 80.1.2.2, je souhaite rediriger le trafice du port 80 sur un autre serveur interne 192.168.1.150 et le port 110 sur un autre serveur aussi interne 192.168.1.151

J’ai donc essayer sans résulta cette règle :

iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j DNAT --to-destination 192.168.1.150:80
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 110 -j DNAT --to-destination 192.168.1.151:110

et sa fonctionne pas…

tes machines 192.168.1.150 et 192.168.1.151 savent elles atteindre l’exterieur ?
Arrives tu, avec, à pinger une machine sur le net ?
Parceque si elles ne savent pas, elles ne peuvent pas répondre, même si elles recoivent bien des choses sur les ports que tu souhaites (tu as vérifié ?).

oui je sais pinger une adresse sur le net comme nomade.fr, j’ai une réponce.

par contre sa passe toujours pas et le site est toujours pas dispo. :frowning:

Personnes a une idée de ou je ourrais regarder ?

voir une idée de check liste a faire, car je suis dans le jus le plus complet…

hello,

commençe par lire la doc que je t’ai envoyé, tout est dedans.

Oui c’est normal que ça ne fonctionne pas, tu dois faire du masquerading. Tes machines interrogent une IP et c’est une autre IP qui répond. Rajoutes à tes règles les règles suivantes:

[quote]iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j DNAT --to-destination 192.168.1.150:80
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 110 -j DNAT --to-destination 192.168.1.151:110
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -s 80.1.2.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 110 -s 80.1.2.0/24 -j MASQUERADE
[/quote]

fran.b, je te remerci fortement car sa fonctionne nikel.

par contre si j’utilise une interface eth1:1, sa me donne une erreur
Warning: weird character in interface eth1:1' (No aliases, :, ! or *). Warning: weird character in interfaceeth1:1’ (No aliases, :, ! or *).

et voila sa fonctionne plus :frowning:

j’ai remis les mèmes règles iptables sur le serveur en production et sa marche pas… :frowning: :frowning:

j’ai voulu faire comme suite

eth1 : 80.1.2.1 -> pour les réseaux interne pouvoir sortire sur le net via un proxy port 3128 et les mails etc, bref que ceux du réseaux interne surfe a l’aise.

eth1:1 : 80.1.2.2 que le nom de domaine qui a cette adresse passe ver sont serveur apache 192.168.1.150

et ben sa fonctionne plus…

alors y aurais quelqu’un qui peux m’expliquer ???

Sa serais super cool

J’ai éssayé de lire le tuto iptables-tutorial.frozentux.net/ … orial.html mais l’anglais me pause encore des problèmes…
:cry:

Quand tu dis ça fonctionne plus, tu peux donner des précisions? Messages d’erreurs lors de l’entrée des règles notamment…

Nom, pas de message d’erreur mais le site ne s’affiche pas alors que si je tape l’ip en local il s’affiche…

non mais les logs y a quoi dedans ?

Dans quelle fichier de log ?? :open_mouth:

Celui ou tu trouves quelquechose d’interressant qui puisse aider.

ben j’ai fais un peux tous les fichiers de /var/log et j’ai rien trouvé de suspèct

En essayant

tcpdump port 80

essayes de voir où les paquets bloquen mais c’est sans doute en rapport avec le changement de nom de ton serveur…

J’ai redémarré le serveur depuie, pour que le nom revienne normalement…

résulta de la commande

[quote]
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

0 packets captured
0 packets received by filter
0 packets dropped by kernel[/quote]

bon j’ai refais un tcpdum -i eth1 port 80

je vais sur firefox et tape l’url de mon site, et ben rien ne vien…

C’est possible que la carte réseaux ne supporte pas les ip virtuel ?