Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Squid] Load balancing

2 réponses
Avatar
JKB
Bonjour à tous,

Je ne sais pas s'il y a des spécialistes de squid ici, mais je me
lance.

Pour une utilisation particulière, je dois installer un proxy qui
utilise à chaque requête d'un client une autre adresse de sortie.

J'ai donc un /28 et un squid que j'ai configuré conformément à
http://www.everydayinternetstuff.com/2011/03/
+squid-random-outgoing-ipinterface-selection/
(c'est exactement ce qu'il me faut).

Pour l'instant, je teste avec une adresse d'entrée (x.y.z.72) et
quatre adresse de sortie de 73 à 76.

Mon fichier de conf est le suivant (les adresses sont des adresses
locales parce que ce squid est derrière un NAT).

acl utilisateurs src X.Y.Z.T #mon adresse à moi pour les tests
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 192.168.1.0/24

acl SSL_ports port 443 # https
acl Safe_ports port 80 # http
acl Safe_ports port 443 # https
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow utilisateurs
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access deny all

icp_access allow localnet
icp_access deny all

http_port 192.168.1.72:3128
http_port 192.168.1.73:3128
http_port 192.168.1.74:3128
http_port 192.168.1.75:3128
http_port 192.168.1.76:3128

acl src_73 src 192.168.1.73
acl src_74 src 192.168.1.74
acl src_75 src 192.168.1.75
acl src_76 src 192.168.1.76

tcp_outgoing_address 192.168.1.73 src_73
tcp_outgoing_address 192.168.1.74 src_74
tcp_outgoing_address 192.168.1.75 src_75
tcp_outgoing_address 192.168.1.76 src_76

acl first_req src 192.168.1.72
acl second_req src 192.168.1.73
acl second_req src 192.168.1.74
acl second_req src 192.168.1.75
acl second_req src 192.168.1.76
cache_peer 192.168.1.73 parent 3128 0 round-robin no-query
cache_peer 192.168.1.74 parent 3128 0 round-robin no-query
cache_peer 192.168.1.75 parent 3128 0 round-robin no-query
cache_peer 192.168.1.76 parent 3128 0 round-robin no-query
cache_peer_access 192.168.1.73 allow first_req
cache_peer_access 192.168.1.74 allow first_req
cache_peer_access 192.168.1.75 allow first_req
cache_peer_access 192.168.1.76 allow first_req
cache_peer_access 192.168.1.73 deny second_req
cache_peer_access 192.168.1.74 deny second_req
cache_peer_access 192.168.1.75 deny second_req
cache_peer_access 192.168.1.76 deny second_req
never_direct allow first_req
never_direct deny second_req

hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320

acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast

acl apache rep_header Server ^Apache
broken_vary_encoding allow apache

extension_methods REPORT MERGE MKACTIVITY CHECKOUT

hosts_file /etc/hosts
coredump_dir /var/spool/squid
balance_on_multiple_ip on

Le proxy fonctionne. Il me permet d'aller sur internet. Le seul truc
qui coince est que les paquets sortent toujours par l'adresse 73.
J'en déduis donc que la première requête sur l'adresse 72 passe le
bébé à l'adresse 73 qui renvoie la chose côté internet.

Donc, ce qui ne semble pas fonctionner, ce sont les directives
cache_peer_access. Seule la première semble être prise en compte.

Une idée pour corriger la chose ? Merci pour toute suggestion.

Cordialement,

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr

2 réponses

Avatar
allan
bonjour,

je pense que tu devrais tester avec un deuxième client (en plus de X.Y.Z.T).

il se peut que squid renvoie la m^eme IP source vers le m^eme cache_peer (ce
qui n'est pas idiot, un m^eme client étant susceptible demander plusieurs fois
le m^eme objet).


codialement,
AS

Le 02-02-2013, JKB a écrit :
Bonjour à tous,

Je ne sais pas s'il y a des spécialistes de squid ici, mais je me
lance.

Pour une utilisation particulière, je dois installer un proxy qui
utilise à chaque requête d'un client une autre adresse de sortie.

J'ai donc un /28 et un squid que j'ai configuré conformément à
http://www.everydayinternetstuff.com/2011/03/
+squid-random-outgoing-ipinterface-selection/
(c'est exactement ce qu'il me faut).

Pour l'instant, je teste avec une adresse d'entrée (x.y.z.72) et
quatre adresse de sortie de 73 à 76.

Mon fichier de conf est le suivant (les adresses sont des adresses
locales parce que ce squid est derrière un NAT).

acl utilisateurs src X.Y.Z.T #mon adresse à moi pour les tests
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 192.168.1.0/24

acl SSL_ports port 443 # https
acl Safe_ports port 80 # http
acl Safe_ports port 443 # https
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow utilisateurs
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access deny all

icp_access allow localnet
icp_access deny all

http_port 192.168.1.72:3128
http_port 192.168.1.73:3128
http_port 192.168.1.74:3128
http_port 192.168.1.75:3128
http_port 192.168.1.76:3128

acl src_73 src 192.168.1.73
acl src_74 src 192.168.1.74
acl src_75 src 192.168.1.75
acl src_76 src 192.168.1.76

tcp_outgoing_address 192.168.1.73 src_73
tcp_outgoing_address 192.168.1.74 src_74
tcp_outgoing_address 192.168.1.75 src_75
tcp_outgoing_address 192.168.1.76 src_76

acl first_req src 192.168.1.72
acl second_req src 192.168.1.73
acl second_req src 192.168.1.74
acl second_req src 192.168.1.75
acl second_req src 192.168.1.76
cache_peer 192.168.1.73 parent 3128 0 round-robin no-query
cache_peer 192.168.1.74 parent 3128 0 round-robin no-query
cache_peer 192.168.1.75 parent 3128 0 round-robin no-query
cache_peer 192.168.1.76 parent 3128 0 round-robin no-query
cache_peer_access 192.168.1.73 allow first_req
cache_peer_access 192.168.1.74 allow first_req
cache_peer_access 192.168.1.75 allow first_req
cache_peer_access 192.168.1.76 allow first_req
cache_peer_access 192.168.1.73 deny second_req
cache_peer_access 192.168.1.74 deny second_req
cache_peer_access 192.168.1.75 deny second_req
cache_peer_access 192.168.1.76 deny second_req
never_direct allow first_req
never_direct deny second_req

hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320

acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast

acl apache rep_header Server ^Apache
broken_vary_encoding allow apache

extension_methods REPORT MERGE MKACTIVITY CHECKOUT

hosts_file /etc/hosts
coredump_dir /var/spool/squid
balance_on_multiple_ip on

Le proxy fonctionne. Il me permet d'aller sur internet. Le seul truc
qui coince est que les paquets sortent toujours par l'adresse 73.
J'en déduis donc que la première requête sur l'adresse 72 passe le
bébé à l'adresse 73 qui renvoie la chose côté internet.

Donc, ce qui ne semble pas fonctionner, ce sont les directives
cache_peer_access. Seule la première semble être prise en compte.

Une idée pour corriger la chose ? Merci pour toute suggestion.

Cordialement,

JKB

Avatar
JKB
Le 15 Jul 2013 15:06:00 GMT,
allan écrivait :
bonjour,

je pense que tu devrais tester avec un deuxième client (en plus de X.Y.Z.T).

il se peut que squid renvoie la m^eme IP source vers le m^eme cache_peer (ce
qui n'est pas idiot, un m^eme client étant susceptible demander plusieurs fois
le m^eme objet).



Merci. Le problème a été réglé avec une mise à jour de squid.

Cordialement,

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr