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

C’est l’erreur 503, service indisponible. Fallait prévoir que ça coince, en fait tu fais

80->3128 (Squid) qui demande le port 80 sur la même machine, ça boucle donc ça coince.

Bon, essayes en faisant sur le serveur 192.168.0.1:

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 
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 
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -s 192.168.0.0/24 -j MASQUERADE

Ça court circuitera Squid pour les accès aux 2 serveurs. La 3ième règle est là pour assurer le retour.

arffff fonctionne pas non plus.

Bon, là ça devient étrange

fais un

tcpdump port 80

sur 192.168.0.1 et sur 192.168.0.100

et fais en même temps un
$ telnet 80.1.2.2 80

donne le résultat des tcpdump…

[quote]telnet 80.1.2.2
Trying 80.1.2.2…
telnet: connect to address 80.1.2.2: Connection refused[/quote]

et les tcpdump?? 192.168.0.1 doit au moins recevoir la requête

Même pas, c’est pour sa que j’ai rien donné, j’ai rien…

Ty as bien fait un

$ telnet 80.1.2.2 80 ???

Sinon essaye avec un navigateur quelconque mais la requête doit aboutir au serveur qd même sinon donne la table de routage de la machine où tu fais l’essai.

J’ai bien fait un telnet, et quand j’ai vu que ça passait pas, j’ai testé avec mon navigateur firefox et j’ai saisi l’ip et le domaine, et rien est passé…

Table de routage de la machine client?

[quote]route -n
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
[/quote]

Une bête question, ne serais t’il pas plus ismple de crer une ou plusieur ip virtueles pour fassiliter les règles ???

Non, on ne peut pas faire plus simple. Les règles sont correctes mais ici il y a un souci de routage. Tu as bien la situation suivante:

Sur 192.168.0.1

tcpdump -i eth0 port 80

( tu attends)
Sur client,

  • table de routage que tu m’as donné
  • ping 192.168.0.1 qui marche
  • telnet 81.1.2.2 80

ne donne rien sur le tcpdump???

exacte.

et maintenant on me communique que mon site est plus accessible de l’extérieur…

Que donne

iptables -L

et

iptables -t nat -L

sur 192.168.0.1?

Fais tu des modifications au fur et à mesure car il n’est pas normal que ce qui marchait ne marche plus…

oui je fais des modifs quand tu me les donnes…

[quote]iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all – anywhere anywhere
ACCEPT all – anywhere anywhere
ACCEPT all – anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp – anywhere anywhere tcp dpt:domain
ACCEPT udp – anywhere anywhere udp dpt:domain

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all – anywhere anywhere
ACCEPT all – anywhere anywhere
ACCEPT all – anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp – 192.168.0.0/24 195.238.3.118 state NEW tcp spts:1024:65535 dpt:pop3 flags:FIN,SYN,RST,ACK/SYN
ACCEPT tcp – 192.168.0.0/24 195.238.3.0/24 state NEW tcp spts:1024:65535 dpt:smtp flags:FIN,SYN,RST,ACK/SYN
ACCEPT udp – 192.168.0.0/24 raptor.brus.online.be state NEW udp spts:1024:65535 dpt:domain
ACCEPT udp – 192.168.0.0/24 lyco.antw.online.be state NEW udp spts:1024:65535 dpt:domain

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all – anywhere anywhere
ACCEPT all – anywhere anywhere
ACCEPT all – anywhere anywhere
[/quote]

et

[quote]iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp – anywhere anywhere tcp dpt:www redir ports 3128
REDIRECT tcp – anywhere cpc4-rdng7-0-0-cust81.winn.cable.ntl.com tcp dpt:www redir ports 3128
DNAT tcp – anywhere ffk83.internetdsl.tpnet.pl tcp dpt:www to:192.168.0.100:80

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all – anywhere anywhere
MASQUERADE all – anywhere anywhere
MASQUERADE tcp – 192.168.0.0/24 195.238.3.118 tcp spts:1024:65535 dpt:pop3
MASQUERADE tcp – 192.168.0.0/24 mailq001.isp.belgacom.be tcp spts:1024:65535 dpt:smtp
MASQUERADE udp – 192.168.0.0/24 raptor.brus.online.be udp spts:1024:65535 dpt:domain
MASQUERADE udp – 192.168.0.0/24 lyco.antw.online.be udp spts:1024:65535 dpt:domain

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[/quote]

Bon, je vais aller me coucher, dans les régles il y a plusieurs règles qui se répètent. Je te suggère donc de faire les choses suivantes:

Tu fais sur le serveur

iptables -F INPUT

iptables -t nat -F

iptables -F OUTPUT

iptables -F FORWARD

(ça efface toutes les règles)

puis tu lances les règles qui marchait (fin du fil précédent).

Tu vérifies que de 192.168.0.100 tu peux accéder à l’extérieur (règle -i eth1 -j MASQUERADING)

Tu vérifies que de l’extérieur tout marche bien.
Tu vérifies que Squid marche bien pour tout les sites sauf 80.1.2.2 et 80.1.2.2.

Cependant un telnet 80.1.2.2 80 doit envoyer un paquet sur le port 80 de eth0 de 192.168.0.1 que tu dois voir par tcpdump. Si ça n’est pas le cas, il y a un souci sur ton client, pas sur le serveur.

Si tu vois le paquet tu essayes la règle pour le premier site 80.1.2.2

[quote]
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
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -s 192.168.0.0/24 -j MASQUERADE [/quote]

Si ça ne marche pas, il est impératif de voir où va le paquet. Tu peux dans ce cas essayer en mettant cette règle avant la règle

[quote]# redirection eth0 vers Squid
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j REDIRECT --to-port 3128 [/quote]

(donc tu réeffaces les règles et met ces deux règles en premier. Traces les paquet 80 avec tcpdump). Donne moi des nouvelles demain AM

Bon, voila ou j’en suis,

J’ai éssayé de faire comme tu m’as dit et comme je suis arrivé a avoir le site avec l’adresse mydomaine1.com et sans passer par le proxy.

Voila la liste de mes règles.

[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 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 -d 80.1.2.1 --dport 80 -j REDIRECT --to-port 3128
/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[/quote]

Mais par contre personne de l’extérieur arrive à le voir.

Le telnet fonctionne aussi comme sa.

deux petites remarques sur les deux dernières lignes:

  • avant dernière: pourquoi limiter l’utilisation du squid à ce qui va vers 80.1.2.1 (-d 80.1.2.2) ?
  • dernière: pourquoi ne rediriger 80.1.2.2 que pour les machines du lan (-i eth0) ?

[quote=“adminlinux”]

Mais par contre personne de l’extérieur arrive à le voir.

Le telnet fonctionne aussi comme sa.[/quote]

Normal (c’est la rq de Mat), rajoute

/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 -p tcp -i eth1 -d 80.1.2.3 --dport 80 -j DNAT --to-destination 192.168.0.101:80

Ça rendra le site accessibles de l’exterieur.

Pour Squid, change

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

en

/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 

(de nouveau rq de Mat)

Puis rajoutes également au début de tes règles

/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 -p tcp -i eth1 -d 80.1.2.3 --dport 80 -j DNAT --to-destination 192.168.0.101:80
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
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
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -s 192.168.0.0/24 -j MASQUERADE

Là ça devrait être accessible de l’intérieur.

a ben la plus d’access aux site … :frowning:

J’y comprand plus rien, j’arrive pas à comprandre pq squid veux pas l’afficher le site…