rebijours, (LEnny 2.6.26-686)
[size=150]voici schematiquement le contexte[/size]
10.0.0.1---10.0.0.2/TAB:ADMIN-SQUID1:8080/172.16.1.1---172.16.1.254
ROUTEUR.........ETH1.......PROXI.........ETH5............LAN CLIENT
[size=150]le contexte IPTABLE[/size]
[size=85]*nat
:PREROUTING ACCEPT [264:30767]
:POSTROUTING ACCEPT [72:4698]
:OUTPUT ACCEPT [134:9652]
-A PREROUTING -s 172.16.1.0/24 -d ! 172.16.1.1/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
-A PREROUTING -s 172.16.1.0/24 -d ! 172.16.1.1/24 -p udp -m udp --dport 80 -j REDIRECT
-A POSTROUTING -o eth1 -j MASQUERADE
*mangle
:PREROUTING ACCEPT [3132:288828]
:INPUT ACCEPT [3132:288828]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2284:829798]
:POSTROUTING ACCEPT [2284:829798]
-A PREROUTING -s 172.16.1.0/24 -d ! 172.16.1.1/32 -j MARK --set-xmark 0x1/0xffffffff
*Filter
-A FORWARD -o eth1 -p tcp -m tcp -m multiport --sports 135,137,138,139,445,515,1433 -j DROP
-A FORWARD -o eth1 -p udp -m udp -m multiport --sports 135,137,138,139,445,515,1434 -j DROP
[/size]
[size=150]voici le contexte ip route[/size]
#~/>ip route
10.0.0.0/30 dev eth1 proto kernel scope link src 10.0.0.2
172.16.1.0/24 dev eth5 proto kernel scope link src 172.16.1.1
default via 10.0.0.1 dev eth1
#~/>ip route list table ADMIN
10.0.0.0/30 dev eth1 scope link src 10.0.0.2
172.16.3.0/24 dev eth7 scope link
172.16.1.0/24 dev eth5 scope link
default via 10.0.0.1 dev eth1
[size=150]voici le contexte ip rule[/size]
0: from all lookup local
32764: from all fwmark 0x1 lookup ADMIN
32765: from 10.0.0.2 lookup ADMIN
32766: from all lookup main
32767: from all lookup default
je cherche à imposer à squid le passage de ses requêtes http via un routeur précis. Pour cela j’ai utilisé les options tcp_outgoing_address 10.0.0.1 ACL_CLients-net-172-16-1
avec cette config, j’ai presque réussi mon coup, MAIS Squid apparement à un probleme.
1/ en effet, du proxi, et de la machine cliente les pings locaux et vers le web (que ce soit format IP, ou DNS) fonctionnent tres bien.
2/ par contre la consultation de page web a partir du client-172.16.1.x demeure un probleme:
ERROR
The requested URL could not be retrieved
-----------------------------------------------
While trying to retrieve the URL www.google.fr
* SOCKET FAILURE
(99) Cannot assign requested address
Squid is unable to create a tcp socket, presumably to exessive load
-------------------------------------------------
Générated by SQUID 2.7.STABLE3
et pourtant donc du client:
#~/>nslookup www.google.fr
Server: unknown
Address: 172.16.1.1#53
Non-authoritative answer:
www.google.fr canonical name = www.google.com.
Address: 209.85.227.104, 209.85.227.105, 209.85.227.106, 209.85.227.147, 209.85.227.99, 209.85.227.103
Aliases = www.google.com canonical name = www.l.google.com.
ce n’est donc pas un probleme avec iptables, pas non plus avec le dns, ni la communication vers le web… car quand je supprime les redirections du port 80 vers 8080(proxy), le trafic web passe du client vers le net en forwarding (G pas installé apache) sans aucun soucis et les page s’affichent de suite.
ca viens donc de squid… mais d’ou ??? Zavez une idée ?