Ah - this is what I was "looking" for....makes me wonder...i might change my setup :)

So tcp_outgoing_address supports ACL's tagged to it, so you could have something like....

acl morning time 06:00-11:59
acl afternoon time 12:00-18:00
acl night time 18:00-06:00

tcp_outgoing_address 1.2.3.4 morning # IP used in the morning
tcp_outgoing_address 1.2.3.4 afternoon # IP used in the afternoon
tcp_outgoing_address 1.2.3.4 night # IP used in the night

Cheers,

Pieter

On Tue, 13 Oct 2009, Henrik Nordstrom wrote:

tis 2009-10-13 klockan 11:19 -0500 skrev Andres Salazar:
Hello,

Iam wanting to pass the option of tcp_outgoing_address when I run the
command to refresh or reload the config file. This so that every hour
I can rorate with a cron the IP that squid uses to browse the
internet.

Is this possible? Or is there a better way then to create dozens of
config files with the only difference being the IP?

I would set up a included squid.conf snippet with 24
tcp_outgoing_address settings (one per hour, selected by acl) and update
this file nightly to assign a new set of IP addresses for the next day.

generate_random_outgoing.sh

#!/bin/sh
top=`dirname $0`
HOUR=0
cat $1 | sort -R | while [ $HOUR -lt 24 ] && read ip; do
 printf "acl hour_%d time %02d:00-%02d:59\n" $HOUR $HOUR $HOUR
 printf "tcp_outgoing_address %s hour_%d\n" $ip $HOUR
 HOUR=`expr $HOUR + 1`
done

Usage:
generate_random_outgoing.sh /path/to/file_with_ipaddresses.txt 
>/path/to/etc/squid/random_outgoing.conf
squid -k reconfigure

and in squid.conf

include /path/to/etc/squid/random_outgoing.conf

Regards
Henrik


Reply via email to