DNS

Minimum version required

The options described in this document require EZproxy 2.2e GA (2003-09-09) or later on Linux and Windows and EZproxy 2.4b GA (2004-02-16) or later on Solaris.

Overview

DNS is a position-dependent config.txt/ezproxy.cfg command that uses information from the Name command and interacts with other DNS entries.

DNS enables EZproxy to act as a DNS server capable of responding to its own name and the name of any hostname in use by Proxy by Hostname. This feature can be used in place of a wildcard DNS entry to enable proxy by hostname.

Task for your network administrator

To enable this feature, your DNS administrator must delegate control of the zone that matches your EZproxy server to your EZproxy server.

In the BIND name server, the entries would look similar to:

ezproxy.yourlib.org.     IN     A     68.15.177.100
ezproxy.yourlib.org. IN NS ezproxy.yourlib.org.

The A (address) entry allows the name of your EZproxy server to be resolved by your main DNS server, and also acts as the glue records required for the NS (name server) entry. The NS (name server) entry tells remote DNS servers that requests for names that are or end with ezproxy.yourlib.org should be directed to your EZproxy server.

In Windows DNS, use these steps would be used to establish the ezproxy.yourlib.org entry:

  1. Launch the DNS management console.
  2. Browse until you reach the ezproxy.com domain.
  3. Right click on yourlib.org and select New Host...
  4. Type the name ezproxy and the IP address 68.15.177.100. The option to create the PTR record can be clicked or unclicked depending on your preference.
  5. Click Add Host. Click OK to confirm the creation, then Done.
  6. Right click on yourlib.org and select New Delegation.
  7. For the delegated domain, type ezproxy then click next.
  8. For the name server, click Add, then in the New Resource Record window, browse to find the ezproxy.yourlib.org entry and click OK in both the Browse and New Resource Record windows.
  9. You should now be back in the Name Servers window with ezproxy.yourlib.org listed under Server Name. Click Next. Click Finish.
  10. You can now exit from the DNS management console.

Example

A basic example of DNS is:

DNS 68.14.229.198

On the EZproxy server, you must make an entry like this in config.txt/ezproxy.cfg:

DNS 192.168.10.15

If you are running EZproxy on Linux or Solaris, you must start EZproxy as root for this line to be valid.

This example is the simplest case. The IP address you supply must be that is valid on your EZproxy server.

If you use Network Address Translation and have separate addresses for internal and external DNS, you might need a more complex entry like this:

DNS 10.125.200.14 68.15.177.100

DNS 10.125.200.14 10.125.200.14 10.0.0.0-10.255.255.255

This example tells EZproxy to listen on IP address 10.125.200.14. In general, it is to respond that the IP address of your EZproxy server is 68.15.177.100, but the second line indicates that EZproxy should provide its own internal address of 10.125.200.14 whenever the request comes from an internal address that starts with 10.

By default, EZproxy will only respond to hostnames that it is using. If you are running multiple copies of EZproxy on a single server, you may need to have EZproxy respond to any possible hostname to allow names used by other instances to be considered valid. To handle this case, add this line to config.txt/ezproxy.cfg:

Option AnyDNSHostname

This will allow any DNS hostname that end in the name of the EZproxy server to be considered valid. In this configuration, only one copy of EZproxy will have the DNS line. In this scenario, you might choose to have a single copy of EZproxy that does nothing but handle DNS.