Skip to main content
OCLC Support

Network address translation (NAT)

With proper configuration, EZproxy can be used behind a firewall that employs Network Address Translation (NAT). In a typical NAT environment, your local machines are connected to the Internet through a firewall machine. Your local machines are typically assigned addresses that are valid in your local network, but that are masked by the firewall machine's address when you access machines that are external to your network.

End of support for EZproxy on Solaris platform
OCLC ended support for EZproxy on the Solaris 10 (x86) platform on October 31, 2018. We no longer provide software for this platform. We will continue to provide Linux and Windows versions of the software. Customers using EZproxy on Solaris should plan to move their installation of EZproxy to Linux or Windows. If you have questions about this change, please reach out to Customer Support (

For EZproxy to work behind a NAT firewall, your network administrator must be able to create a static mapping between an external IP address and the internal IP address of your EZproxy server. Also, your firewall must be configured to allow connections on all the ports used by your EZproxy server. Under its default configuration (proxy by port), EZproxy starts at port 2048 and may use additional ports up to port 2248.

In a typical configuration, your EZproxy server's internal address might be Your firewall might be configured to statically map the Internet address to your internal address of If the external address had a name of, then you would need to edit config.txt and add a line like:


This will cause EZproxy to always return the name associated with its external address, which ensures that your remote users will always be brought back to the correct address on your firewall, which should then forward all request through the firewall to your EZproxy server.

EZproxy has a feature to help you determine if there is a firewall between your EZproxy server and the Internet, along with determining whether Network Address Translation is in effect. To test this feature, issue one of these commands:

./ezproxy -c (Linux or Solaris)
ezproxy -c (Windows)

This command instructs your EZproxy server to try to contact a script on the Useful Utilities web site. This script then attempts to determine if there are any firewall or address translation issues that must be considered for proper operation of EZproxy. The messages from this script are also logged into messages.txt for later review.