[Réglé] Iptables redirection de machine

Ok, donc ça ne devrait pas poser de problèmes. Si j’ai bien compris, lorsque tu lance Squid, l’accès aux serveurs via ton routeur depuis les machines extérieures est impossible? C’est ça?

[quote=“adminlinux”]Alors, Squid est sur le mème serveur que iptables, il utilise bien le port 3128.[/quote]fran.b: le squid, comme tu peux le voir n’est à priori pas entre les adresses externes du routeur et l’internet, à moins d’avoir mis la règle pour rediriger ce qui sort vers le squid en sortie de parefeu au lieu de le mettre en entrée.

iptables -t nat -A POSTROUTING -i eth0 -o eth1 -j MASQUERADE # le partage iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128 # redirection squid, ne pas oublier de le configurer en transparent. [quote=“adminlinux”]l’ip extèrne 80.1.2.2 dois servire que pour un nom de domain qui est redirigé ver l’ip 192.168.0.100 pour le port 80 et l’ip 192.168.0.1 port 110 pour fonctionner avec posfix[/quote]iptables -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.100:80 iptables -A PREROUTING -i eth0 -p tcp --dport 110 -j DNAT --to-destination 192.168.0.100:110

[quote=“adminlinux”]l’ip extèrne 80.1.2.3 dois servire que pour un nom de domain qui est redirigé ver l’ip 192.168.0.101 pour le port 80 et l’ip 192.168.0.1 port 110 pour fonctionner avec posfix aussi[/quote]iptables -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.101:80 iptables -A PREROUTING -i eth0 -p tcp --dport 110 -j DNAT --to-destination 192.168.0.101:110Ca suffit pas, ça ?

Bon, je n’ai pas compris ce que doit faire le routage. Je croyais que suivant la machine d’où venait la requête, la redirection du port 80 changeait (les fameuses interfaces 80.1.2.?). Je vais voir le schéma avant de continuer le fil… mais avant repos…

Sinon

[quote]Code:
iptables -t nat -A POSTROUTING -i eth0 -o eth1 -j MASQUERADE # le partage
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128 # redirection squid, ne pas oublier de le configurer en transparent.
adminlinux a écrit:
l’ip extèrne 80.1.2.2 dois servire que pour un nom de domain qui est redirigé ver l’ip 192.168.0.100 pour le port 80 et l’ip 192.168.0.1 port 110 pour fonctionner avec posfix
Code:
iptables -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.100:80
iptables -A PREROUTING -i eth0 -p tcp --dport 110 -j DNAT --to-destination 192.168.0.100:110
[/quote]

Je mettrais ici

iptables -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.100:80 iptables -A PREROUTING -i ethi -p tcp --dport 110 -j DNAT --to-destination 192.168.0.100:110
d’après le schéma (à la louche)

quote=“MattOTop”

[quote=“adminlinux”]l’ip extèrne 80.1.2.2 dois servire que pour un nom de domain qui est redirigé ver l’ip 192.168.0.100 pour le port 80 et l’ip 192.168.0.1 port 110 pour fonctionner avec posfix[/quote]iptables -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.100:80 iptables -A PREROUTING -i eth0 -p tcp --dport 110 -j DNAT --to-destination 192.168.0.100:110

[quote=“adminlinux”]l’ip extèrne 80.1.2.3 dois servire que pour un nom de domain qui est redirigé ver l’ip 192.168.0.101 pour le port 80 et l’ip 192.168.0.1 port 110 pour fonctionner avec posfix aussi[/quote]iptables -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.101:80 iptables -A PREROUTING -i eth0 -p tcp --dport 110 -j DNAT --to-destination 192.168.0.101:110Ca suffit pas, ça ?[/quote] :blush: oops

iptables -A PREROUTING -p tcp -d 80.1.2.2 --dport 80 -j DNAT --to-destination 192.168.0.100:80 iptables -A PREROUTING -p tcp -d 80.1.2.2 --dport 110 -j DNAT --to-destination 192.168.0.100:110iptables -A PREROUTING -p tcp -d 80.1.2.3 --dport 80 -j DNAT --to-destination 192.168.0.101:80 iptables -A PREROUTING -p tcp -d 80.1.2.3 --dport 110 -j DNAT --to-destination 192.168.0.101:110J’avais effectivement fait une erreur, mais que je ne corrigerais pas comme toi, fran, parceque je ne suis pas sûr qu’il ne faille pas utiliser plutot -i eth1:1 et -i eth1:2

Ah ben j’avais bien compris cette histoire d’IP variable. Oui, le -i eth1:1 n’est pas accepté, il faut que ça soit des «devices». J’avais mis eth1 juste pour le -i eth0 que tu avais mis. Sinon tu as raison, il faut le faire «-d». Ça devrait marcher là… à une erreur près, pour le port 110, c’est 192.168.0.1 si je lis bien donc pas besoin de redirection là…
Ce serait juste

[quote]Code:
iptables -A PREROUTING -p tcp -d 80.1.2.2 --dport 80 -j DNAT --to-destination 192.168.0.100:80
Code:
iptables -A PREROUTING -p tcp -d 80.1.2.3 --dport 80 -j DNAT --to-destination 192.168.0.101:80[/quote]

(Sinon, si tu changes Squid de machine, ça coincera: Dans la config décrite, si tu veux les serveurs accessibles de ton LAN, il faut Squid sur 192.168.0.1)

je ré explique la truc en lus du chémat

ip internet de mon fia 80.1.2.1(eth1) doit utiliser squid sur 192.168.0.1(eth0)
ip internet de mon fia 80.1.2.2(eth1:1) dois allé directement sur le serveur web 192.168.0.100
ip internet de mon fia 80.1.2.3(eth1:2) dois allé directement sur le serveur web 192.168.0.101

L’ip 80.1.2.2 est enregistré pour mon premier nom de domaine chez mon register
L’ip 80.1.2.3 est enregistré pour mon dauxième nom de domaine chez mon register

donc les IPs 80.1.2.x sont fournie par l’abonement adsl et sont sur l’interface eth1 et aliases

oupss on c’est croisé

j’ai une erreur quelque par, je cherche …

voi, j’ai trouvé une partie

avec cette règle la,

j’ai sa comme smessage d’erreur

je suis obligé de retirer -i eth0

et il me rèste un 2 ème problème avec se message la,

De soirée ce soir, je verrais demain…

[quote=“adminlinux”]voi, j’ai trouvé une partie
avec cette règle la,[quote]iptables -t nat -A POSTROUTING -i eth0 -o eth1 -j MASQUERADE[/quote]
[/quote]tu as prise ou cette règle ? à qui tu répond là ? De quoi parles tu.[quote=“adminlinux”]j’ai sa comme smessage d’erreur

je suis obligé de retirer -i eth0[/quote]Est ce que tu comprends ce que tu fais là ? tu donnes le droit au machines qui veulent sortir par eth1 (-o eth1), c’est à dire VERS TON LAN à se masquerader et tu leur fait passer les paquets DE L’EXTERIEUR VERS L’INTERIEUR[quote=“adminlinux”]et il me rèste un 2 ème problème avec se message la,

[quote]iptables: No chain/target/match by that name[/quote][/quote]T’es vraiment indecrottable, tu n’es pas fichu de faire un post utilisable…
Mais Bord#l, ça arrive quand ce message d’erreur, quand tu rôte ?
Comment veux tu qu’on te donne la moindre infos sur le fait que tu ais un message d’erreur, comme ça, sans qu’on sache d’ou il vient.

Sa vien de toi

[quote]iptables -t nat -A POSTROUTING -i eth0 -o eth1 -j MASQUERADE # le partage
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128 # redirection squid, ne pas oublier de le configurer en transparent. [/quote]

le message vien quand je relance les règles apres une modif.

laquelle de règle ?
sinon je te présente mes excuses, la suppression du -i eth0 était la chose à faire.

[quote]laquelle de règle ?
sinon je te présente mes excuses, la suppression du -i eth0 était la chose à faire.[/quote]

Je l’avais fais, car comme a la longue je comprand de plus en plus…

Pour se message la,

j’ai du ajouter -t nat a la règle

donc visiblement je sais serfer, mais toujours pas de site en vue…

Voila ma liste de règle actuel

[quote]/sbin/iptables -t filter -A INPUT -j LOG --log-prefix "[FW] "
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
/sbin/iptables -t nat -Z
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -j ACCEPT
/sbin/iptables -A OUTPUT -o eth1 -j ACCEPT
/sbin/iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -i eth0 -j ACCEPT
/sbin/iptables -A FORWARD -o eth0 -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j REDIRECT --to-port 3128
/sbin/iptables -t nat -A PREROUTING -p tcp -d 80.1.2.2 --dport 80 -j DNAT --to-destination 192.168.0.100:80
[/quote]

je ne sais pas si ca pourra aider les connaisseurs mais que donne le résultat de la commande

voila,

[quote]# Generated by iptables-save v1.3.5 on Sat Oct 21 07:44:36 2006
*mangle
:stuck_out_tongue:REROUTING ACCEPT [732:76180]
:INPUT ACCEPT [654:51280]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [431:178828]
:stuck_out_tongue:OSTROUTING ACCEPT [431:178828]
COMMIT

Completed on Sat Oct 21 07:44:36 2006

Generated by iptables-save v1.3.5 on Sat Oct 21 07:44:36 2006

*nat
:stuck_out_tongue:REROUTING ACCEPT [80:24996]
:stuck_out_tongue:OSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A PREROUTING -d 80.1.2.2 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.101:80
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT

Completed on Sat Oct 21 07:44:36 2006

Generated by iptables-save v1.3.5 on Sat Oct 21 07:44:36 2006

*filter
:INPUT DROP [1:48]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD -o eth0 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
COMMIT

Completed on Sat Oct 21 07:44:36 2006

[/quote]

Voilà ce que je te suggère:

[quote]/sbin/iptables -t filter -A INPUT -j LOG --log-prefix "[FW] "
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
/sbin/iptables -t nat -Z

ici le temps que ça marche, met tout à ACCEPT

d’abord redirection PUIS après le parefeu

#/sbin/iptables -P INPUT DROP
#/sbin/iptables -P OUTPUT ACCEPT
#/sbin/iptables -P FORWARD DROP
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT

Ce qui suit sera à décommenter quand tout marchera

#/sbin/iptables -A INPUT -i lo -j ACCEPT
#/sbin/iptables -A OUTPUT -o lo -j ACCEPT
#/sbin/iptables -A INPUT -i eth0 -j ACCEPT
#/sbin/iptables -A OUTPUT -o eth0 -j ACCEPT
#/sbin/iptables -A OUTPUT -o eth1 -j ACCEPT
#/sbin/iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
#/sbin/iptables -A FORWARD -i eth0 -j ACCEPT
#/sbin/iptables -A FORWARD -o eth0 -j ACCEPT

surf Internet

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

redirection eth0 vers Squid

/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j REDIRECT --to-port 3128

redirection 2.1 vers Squid, Squid doit accepter les connexions extérieures

/sbin/iptables -t nat -A PREROUTING -p tcp -d 80.1.2.1 --dport 80 -j REDIRECT --to-port 3128

2.2 vers 100

/sbin/iptables -t nat -A PREROUTING -p tcp -d 80.1.2.2 --dport 80 -j DNAT --to-destination 192.168.0.100:80

2.3 vers 101

/sbin/iptables -t nat -A PREROUTING -p tcp -d 80.1.2.3 --dport 80 -j DNAT --to-destination 192.168.0.101:80
[/quote]
Dis nous si tout ça fonctionne. Il n’y a pas de redirection à faire pour le port 110.

J’ai appliqué tes règles, je sais surfé mais toujours pas de site en vue, ais je me domande (vu que sa persiste) si le problème viendrais pas de squid car le message d’erreur me parais suspect.

quand je veux joindre le site en passent par le proxy

[quote]ERROR
The requested URL could not be retrieved
While trying to retrieve the URL: mydomaine1.com/
The following error was encountered:
Connection to 80.1.2.2 Failed
The system returned:
(111) Connection refused
The remote host or network may be down. Please try the request again.
Your cache administrator is webmaster.

Generated Sat, 21 Oct 2006 16:34:29 GMT by serveur (squid/2.6.STABLE4)[/quote]

pour la redirection du port 110, elle devra se faire sur 192.168.0.1 ou se trouve postfix, mais je voulais avancer pas à pas pour plus courrire dans tous les sences. :unamused:

tu es sûr que ton apache ecoute sur toutes les interfaces ? J’ai essayé d’atteindre ton 80.1.2.2, et il ne répond pas plus quand on vient de l’exterieur…

se sont des adresse ip fictive, tu veux la vrais ip ?

J’ai installé un 2 ème serveur pour tester de l’extérieur, sa passe pas…

voila le message avec l’autre serveur quand je veux y accéder

[quote]ERROR
The requested URL could not be retrieved

While trying to retrieve the URL: mydomaine1.com/

The following error was encountered:

* Connection to 80.1.2.2 Failed 

The system returned:

(110) Connection timed out

The remote host or network may be down. Please try the request again.

Your cache administrator is webmaster.
Generated Sat, 21 Oct 2006 09:10:12 GMT by serveur (squid/2.6.STABLE3) [/quote]