I have a simple CentOS 6.4 server setup with 2 NICs, eth1 hooks to the Cable Modem, eth2 hooks to the internal network at 10.10.10.1 and is NATed. I setup squid3 using the default config file and modified the few items such as localnet IP etc, and then point the browser on a machine connected to the 10.xxx network to use squid, but I can't get anything until I added a tcp_outgoing_address eth1_ip_address entry to squid config. Otherwise Squid returned connection failed error. I looked around many tutorials and examples and it seems others don't need tcp_outgoing_address unless they want to do some kind of balancing etc.
I have no trouble reaching outside on my server with other programs, such as the browser. So I wonder how squid is working for others without the tcp_outgoing_address while it doesn't work on my setup. What enables squid to be able to reach the outside using the IP that's connected to the NATed LAN? The problem is, while I don't mind adding tcp_outgoing_address entry, my Cable Modem IP is DHCPed, and every once in a while it changes, so I don't want to have to update squid config every time that happens. I'd like to figure out how to get squid to work without the tcp_outgoing_address entry, or if there's a way to point squid to use the specific external NIC instead of by IP address.