CentOS 5.8 + Squid 3 - Changing Outoing IP Address Issues

Discussion in 'Site & Server Administration' started by fattwam, Jun 18, 2012.

  1. #1
    Hello,

    Im using the latest version of Squid 3.1.8 listening on port 3222 and i have everything setup properly and it appears to be working as expected. Im able to get my browser to connect through the Proxy and work normally, though i can't seem to be able to change the IP Squid uses for outgoing connections.

    My server is running CentOS 5.8 with cPanel 11.32
    Aside from the main server IP i have 18 other external IP addressed properly configured to the server.

    For example lets say my main server IP is 1.1.1.1 and the other IP addresses are 2.2.2.2 - 2.2.2.19

    So currently when i set my browsers proxy setting to use 1.1.1.1:3222 im able to connect through the proxy properly and when i go to any WhatismyIP website it shows that i in fact my IP is 1.1.1.1.

    Now im wanting to change the outgoing IP Squid uses to 2.2.2.19.
    Reading online i found that i should be using "tcp_outgoing_address" so in my Squid.conf file i have setup "tcp_outgoing_address 2.2.2.19" and saved and restarted Squid.

    Now when i point my browser to 1.1.1.1:3222 and connect everything seems to be working as normal but if i check my external IP it is still 1.1.1.1 and not 2.2.2.19. Im even able to tell my browser to connect to 2.2.2.19:3222 and i successfully connect but while viewing my IP address with a WhatismyIP website it still is showing that my IP is the main server ip 1.1.1.1

    Though here is where things get confusing (to me anyways), If i view a whatismyIP website i always see the main server ip 1.1.1.1. But if i view a page hosted on my server that shows my ip (such as a 404 page i have setup with "<!--#echo var="REMOTE_ADDR" -->") it shows the IP 2.2.2.19.

    So outside the server websites see me as the main server IP but a site within the server shows the IP im wanting Squid to use as the external.

    How can i change the external IP squid uses so i would be able to connect and point my browse to use 1.1.1.1:3222 (What squid is listening on) and browse websites using the IP 2.2.2.19 ?

    Here is my Squid.conf file, i have edited my real IPs to the Example IPs i have stated above. You can see at the bottom where i use "tcp_outgoing_address"

    #
    # Recommended minimum configuration:
    #
    acl manager proto cache_object
    acl localhost src 127.0.0.1/32 ::1
    acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
    
    # Example rule allowing access from your local networks.
    # Adapt to list your (internal) IP networks from where browsing
    # should be allowed
    acl localnet src 10.0.0.0/8	# RFC1918 possible internal network
    acl localnet src 172.16.0.0/12	# RFC1918 possible internal network
    acl localnet src 192.168.0.0/16	# RFC1918 possible internal network
    acl localnet src fc00::/7       # RFC 4193 local private network range
    acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
    
    acl SSL_ports port 443
    acl Safe_ports port 80		# http
    acl Safe_ports port 21		# ftp
    acl Safe_ports port 443		# https
    acl Safe_ports port 70		# gopher
    acl Safe_ports port 210		# wais
    acl Safe_ports port 1025-65535	# unregistered ports
    acl Safe_ports port 280		# http-mgmt
    acl Safe_ports port 488		# gss-http
    acl Safe_ports port 591		# filemaker
    acl Safe_ports port 777		# multiling http
    acl CONNECT method CONNECT
    
    #
    # Recommended minimum Access Permission configuration:
    #
    # Only allow cachemgr access from localhost
    http_access allow manager localhost
    http_access deny manager
    
    # Deny requests to certain unsafe ports
    http_access deny !Safe_ports
    
    # Deny CONNECT to other than secure SSL ports
    http_access deny CONNECT !SSL_ports
    
    # We strongly recommend the following be uncommented to protect innocent
    # web applications running on the proxy server who think the only
    # one who can access services on "localhost" is a local user
    #http_access deny to_localhost
    
    #
    # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
    #
    
    # Example rule allowing access from your local networks.
    # Adapt localnet in the ACL section to list your (internal) IP networks
    # from where browsing should be allowed
    http_access allow localnet
    acl our_networks src [B]My Real IP Here[/B]
    http_access allow our_networks
    
    # And finally deny all other access to this proxy
    http_access deny all
    
    # Squid normally listens to port 3128
    http_port 3222
    
    # We recommend you to use at least the following line.
    hierarchy_stoplist cgi-bin ?
    
    # Uncomment and adjust the following to add a disk cache directory.
    #cache_dir ufs /var/spool/squid 100 16 256
    
    # Leave coredumps in the first cache dir
    coredump_dir /var/spool/squid
    
    # Add any of your own refresh_pattern entries above these.
    refresh_pattern ^ftp:		1440	20%	10080
    refresh_pattern ^gopher:	1440	0%	1440
    refresh_pattern -i (/cgi-bin/|\?) 0	0%	0
    refresh_pattern .		0	20%	4320
    
    # Outgoing IP Address
    tcp_outgoing_address 2.2.2.19
    Code (markup):
     
    fattwam, Jun 18, 2012 IP
  2. cesurasean

    cesurasean Active Member

    Messages:
    269
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    80
    #2
    Did you restart squid?
     
    cesurasean, Feb 23, 2013 IP