Squid Proxy Server Change Outgoing IP Address

See all Squid related FAQ
I have Squid caching proxy server deployed on Rackspace based server in UK. This server has four IP address. I would like to change outgoing IP addresses from default 1.2.3.1 to 1.2.3.4. How do I change proxy server outgoing IP address under Linux or Unix operating systems?

Tutorial details
Difficulty level Intermediate
Root privileges Yes
Requirements Squid v2.6+
Est. reading time 1 minutes
You need to configure the option tcp_outgoing_address in squid.conf file. This option allows you to map requests to different outgoing IP addresses. The IP address can be based on the username or source address of the user making the request. The syntax is:
Advertisement

tcp_outgoing_address YOUR-IP-ADDRESS-HERE

Configuration

Edit the squid.conf file:
# vi /etc/squid/squid.conf
Find or add the following configuration directive:

tcp_outgoing_address 1.2.3.4

Save and close the file. Reload the squid proxy server / config file changes by typing the following command:
# squid -k reconfigure
OR
# service squid reload

Setting up multiple outgoing IP addresses

You can forward clients request based on IPs for certain users:

#define acl
acl admin 192.168.1.100
acl tom 192.168.1.101
acl raj 192.168.1.102
 
# set up outgoing rule
tcp_outgoing_address 192.168.1.254 admin
tcp_outgoing_address 192.168.1.253 tom
tcp_outgoing_address 192.168.1.253 raj

However, forwarding clients with dedicated IPs for certain subnets is more useful:

## full filtering enabled using iptables on 10.0.0.0/24 and routed via squid##
acl throttle_service_net src 10.0.0.0/24
 
## admins are skip from this limits ##
acl admins_service_net src 192.168.1.0/24
 
## Set rules ##
tcp_outgoing_address 10.1.0.2 throttle_service_net
tcp_outgoing_address 192.168.1.254 admins_service_net

🥺 Was this helpful? Please add a comment to show your appreciation or feedback.

nixCrat Tux Pixel Penguin
Hi! 🤠
I'm Vivek Gite, and I write about Linux, macOS, Unix, IT, programming, infosec, and open source. Subscribe to my RSS feed or email newsletter for updates.

4 comments… add one
  • srinivas May 13, 2013 @ 9:01

    I installed squid transparent proxy server in one system(eth0=192.168.1.203 ,eth1=192.168.3.5) I deployed one application in one system (proxy Client, eth0=192.168.3.60) .We have router with IP 192.168.1.1

    Now i can access this application from lan (proxy server area 192.168.3.0/24) .But i am unable to access this application from 192.168.1.0/24 and External network.

    Can you please help me how can i give remote access of app. of proxy client system.

    Thanks, Srinivas

    • srinivas Jun 1, 2013 @ 11:27

      please help me , i searched a lot but i didnt find any where.

      • bobbi jo Jun 6, 2015 @ 2:39

        hey squid can u please tell me your server that u play on and what day and what time
        thank u

  • Abdulraziq Apr 26, 2016 @ 5:39

    Guys, i need my web cache to show client or system’s exact IP public address instead of showing its own IP.

    Thanks in advance.

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre> for code samples. Your comment will appear only after approval by the site admin.