[partiellement résolu]Squid, pas d'access au site du réseaux

D’où?? Au besoin efface toutes tes règles et recommence les.

Vérifies à chaque fois que de 192.168.0.100 tu peux pinguer l’exterieur (google par exemple).

Question a la con,

ne faudrais t’il pas une règle IPUT qui ouvre le port 80 de 80.1.2.2 ver l’ip 192.168.0.100:80 ?

Pour le moment pas besoin, la politique défaut est ACCEPT

J’ai un truc comme sa, c’est bon sa ?

[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 -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD
/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 eth1 -d 80.1.2.2 --dport 80 -j DNAT --to-destination 192.168.0.100:80
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp -d 80.1.2.2 --dport 80 -j DNAT --to-destination 192.168.0.100:80
/sbin/iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -s 192.168.0.0/24 -j MASQUERADE
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp -d 80.1.2.1 --dport 80 -j REDIRECT --to-port 3128 [/quote]

Access du site de l’interieur pas avec squid…

de l’exyérieur je sais pas ecore.

[quote]/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 -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD

bon tout es effacé

/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -j ACCEPT
[/quote]
rajoute tant qu’à faire

erreur ici, tu as fait deux fois la même ligne et oublié 0.101

[quote]
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp -d 80.1.2.3 --dport 80 -j DNAT --to-destination 192.168.0.101:80
/sbin/iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -s 192.168.0.0/24 -j MASQUERADE
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

fin de la redicrection pour le LAN

/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp -d 80.1.2.1 --dport 80 -j REDIRECT --to-port 3128[/quote]
Il manque

Fais les rectifications et essayes

Bon la sa devrais le faire…

[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 -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD

/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 INPUT -i eth1 -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 -i eth0 -p tcp -d 80.1.2.2 --dport 80 -j DNAT --to-destination 192.168.0.100:80
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp -d 80.1.2.3 --dport 80 -j DNAT --to-destination 192.168.0.101:80
/sbin/iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -s 192.168.0.0/24 -j MASQUERADE
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp -d 80.1.2.1 --dport 80 -j REDIRECT --to-port 3128[/quote]

je devrais y avoir access de l’extérieur comme sa non ?

[quote=“adminlinux”]Bon la sa devrais le faire…

[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 -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD

/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 INPUT -i eth1 -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 -i eth0 -p tcp -d 80.1.2.2 --dport 80 -j DNAT --to-destination 192.168.0.100:80
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp -d 80.1.2.3 --dport 80 -j DNAT --to-destination 192.168.0.101:80
/sbin/iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -s 192.168.0.0/24 -j MASQUERADE
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp -d 80.1.2.1 --dport 80 -j REDIRECT --to-port 3128[/quote]

je devrais y avoir access de l’extérieur comme sa non ?[/quote]

Il manque

voila qui est fais,

le chémat que je me fais, firefox envoi la requète a squid 192.168.0.4 -> 192.168.0.1
squid sort sur le net 80.1.2.1 -> contact le site mydomaine1.com
il répond sur 80.1.2.2 se fais relayer ver 192.168.0.100:80 et affiche le site.

Donc pq sa reffuse de s’afficher avec squid ?

Je sais pas si sais valable,

J’ai tester un traceroute avec le site DNSstuff.com et j’ai exécuté tcpdum -i eth0 port 80, le spaquet sont bien arrivé jusque 192.168.0.100.

[quote=“adminlinux”]voila qui est fais,

le chémat que je me fais, firefox envoi la requète a squid 192.168.0.4 -> 192.168.0.1
squid sort sur le net 80.1.2.1 -> contact le site mydomaine1.com
il répond sur 80.1.2.2 se fais relayer ver 192.168.0.100:80 et affiche le site.

Donc pq sa reffuse de s’afficher avec squid ?[/quote]

Non ça ne peut pas marcher car ça donnerait

192.168.0.4 contacte 192.168.0.1 sur (eth0,80) relayé sur (eth0,3128) relayé sur (lo,80) relayé sur (lo,3128) etc…, pour le serveur 81.1.2.2 c’est lo pas eth1.

En fait une requête sur 80.1.2.2 de ton réseau local doit être intercepter avant d’être prise par la règle de Squid, donc il faut que les règles

[quote]/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp -d 80.1.2.2 --dport 80 -j DNAT --to-destination 192.168.0.100:80
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp -d 80.1.2.3 --dport 80 -j DNAT --to-destination 192.168.0.101:80 [/quote]soient avant la règle Squid.

Sinon:
Un ping de 192.168.0.1 sur google et sur le réseau intérieur marche?

Un ping de 192.168.0.100 sur google marche?

As tu tes serveurs de l’extérieur?

As tu tes serveurs de l’intérieur?

Squid fonctionne-t-il?

oui

oui

oui, mais pas pour mes site.

oui, si j’utilise connection direct a internet dans les options du navigateur et que je tape l’url du site oui, par squid non.

pas encore su testé en réel pour le moment.

Qu’est ce que tu déclares comme paramètre a ton navigateur pour lui indiquer le proxy?

Tu mets 192.168.0.1 port 3128 ou 192.168.0.1 port 80??

3128

Oui, donc c’est normal:

192.168.0.4 interroge 192.168.0.1 (3128) qui va interroger 81.1.2.2 (80) qui est la machine elle même et ça renvoit sur Squid.

Donc, soit tu changes la redirection de 80 vers 3128 de Squid mais dans ce cas, l’accès à Squid devra se faire via le port 3128 (ce que tu ne veux pas), soit il faut intercepter la requête de Squid sur l’interface loopback. Essaye à tout hasard (sans garantie) les règles suivantes:

[quote]/sbin/iptables -t nat -A PREROUTING -i lo -p tcp -d 80.1.2.2 --dport 80 -j DNAT --to-destination 192.168.0.100:80
/sbin/iptables -t nat -A PREROUTING -i lo -p tcp -d 80.1.2.3 --dport 80 -j DNAT --to-destination 192.168.0.101:80 [/quote]

sa fonctionne pas c’est règles…

donc c’est impossible de voir le site via squid alors… ?

Ecoute (ou plutôt lis), la seule méthode que je vois est un DNS interne ayant comme adresse de tes serveurs non pas 81.1.2.2 et 81.1.2.3 mais 192.168.0.100 et 192.168.0.101. Là, cela marchera, tu peux d’ailleurs faire l’essai en utilisant Squid avec ces IP au lieu des noms publics ou boien en mettant les noms publics avec les IPs locales dans /etc/hosts. Si tu avais un DNS interne, cela permettrait de résoudre ton problème.

Sinon, soit il y a moyen de paramétrer Squid (en lui demandant de faire lui même la translation, j’ignore si c’est faisable), soit il y a moyen de faire du filtrage sur les loopback mais je ne vois pas comment faire et je ne sais pas si c’est faisable. iptables est très puissant mais j’ignore si il est capable de tricoter les paquets «en interne»…

Je serais bien partent pour un serveur dns, mais la fois que j’ai éssayé sa a fini en écheque complet.

le serveur dns peut ètre sur le mème serveur que squid sur 192.168.0.1 ?

Lance un nouveau fil… et met [partiellement résolu] à celui là…