Problème iptables :(

Bonjour,

J’ai installé un serveur XEN (ip:192.168.0.1), celui ci contien plusieurs domU dont un domU ou tourne avec le proxy squid (ip:192.168.0.107).

Le problème est que via le firewall qui est sur le dom0 je ne parviens pas à rendre le proxy squid transparent.

Avez vous une idée ?

j’ai tenté une redirection de port mes la tentative échoue, ou bien j’ai plus le net ou bien rien ne passe…

Je vous remercie d’avance pour l’aide.

J’ai testé ça :

/sbin/iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -s 192.168.0.107/24 -j MASQUERADE
/sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.107:3128

mais impossible de sortir…

C’est impossible ???

UPPPPPP

[quote=“adminlinux”]J’ai testé ça :

/sbin/iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -s 192.168.0.107/24 -j MASQUERADE
/sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.107:3128

mais impossible de sortir…[/quote]

Ben là tu rediriges les requêtes de squid vers lui même, il va gueuler…

J’imagine que eth0 est l’interface standard, à priori tu ne devrais autoriser que ce qui sort de ton squid.
Le pbm est que je ne connais pas la façon dont fonctionnent les interfaces sous Xen. Que donne un ifconfig -a sous la machine hote et sous 192.168.0.107?

alors, dans la partie dom0 c’est des carte virtuel brige pris sur eth0

vif1.0 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff
adr inet6: fe80::fcff:ffff:feff:ffff/64 Scope:Lien
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:8777 errors:0 dropped:0 overruns:0 frame:0
TX packets:618144 errors:0 dropped:3 overruns:0 carrier:0
collisions:0 lg file transmission:32
RX bytes:1841072 (1.7 MiB) TX bytes:201271453 (191.9 MiB)

Dans les domU c’est juste des interface eth0

si tu veux vraiment la liste des interfaces du domO pas de problème mais c’est très long, c’est vif1.0 à vif10.
0

lol

quand tu dis “à priori tu ne devrais autoriser que ce qui sort de ton squid.” je devrais avoir un truc style

#/sbin/iptables -t nat -A PREROUTING -i $int -p tcp -d 80.1.2.3 --dport 80 -j DNAT --to-destination 192.168.0.107:3128 #/sbin/iptables -t nat -A PREROUTING -i $ext -p tcp -d 80.1.2.3 --dport 80 -j DNAT --to-destination 192.168.0.107:3128

juste ?

up

Si on suppose que l’IP de ta passerelle est 192.168.0.1

[code](déviation vers SQUID)

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT -s ! 192.168.0.107 --to 192.168.0.107:3128

(masquerading)

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.0.107 -j SNAT --to 192.168.0.1

(accès du squid à l’extérieur)

iptables -t nat -A PREROUTING -p tcp --dport 80 -s 192.168.0.107 -j ACCEPT

[/code]
(attention si il y a un serveur WEB en local, il faut faire une exception)

Mais je ne connais pas bien les spécificités des machines virtuelles…