Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
dproxy ------ dproxy is a small, smart caching nameserver for use on gateway machines with non-permenant connections. It includes support for PPP, Ethernet, ISDN and DHCP connections. dproxy safely returns a DNS error, when it detects no connection to the outside network, preventing programs like Netscape from hanging as happens when BIND is used in the same situation. dproxy also pre-caches all the entries in /etc/hosts, and provides access to all cache entries when offline. This means dproxy can be used as a DNS server for small networks. The cache is stored in human readable text file format and has mechanisms to allow either pre-set times for cache expiries, or to allow expires to be calculated from TTL returned on DNS lookups. It is also suitable for use on stand alone workstations for accelerating slower Internet connections. Installing dproxy ----------------- First build and install dproxy. make make install You have to kill any existing named services on you gateway. Edit the dproxy configuration file. By default this is installed as /etc/dproxy.conf See the next section on configuring dproxy. You may want to add all the local machines to your /etc/hosts file so dproxy can cache the names of those too. On RedHat systems Makefile will have installed the init script in /etc/rc.d/init.d/. Run "/sbin/chkconfig --del named" (to remove named service), then "/sbin/chkconfig --level 345 dproxy on" to let dproxy start in runlevels 3, 4 and 5 (this works for RedHat 6.1, untested on other distributions.) Shut down your named (if running) with "/etc/rc.d/init.d/named stop". Then start dproxy on the gateway machine. (using "/etc/rc.d/init.d/dproxy start".) Next time you start your connection dproxy will pass all requests onto the nameservers in /etc/resolv.conf and store the results of any queries before passing the result back to the requesting client. dproxy will also return cached entries when offline, but this usually wont serve much purpose as the hosts will be unreachable anyway. Configuring ----------- Most of dproxy's configuration is done through its configuration file which is usually installed in /etc/dproxy.conf The configuration file can be generated from dproxy it self using the '-P' option on the command line. For example: # dproxy -P >/etc/dproxy.conf Acknowledgements ---------------- Two other open source programs helped my immensely to write this program even though I didn't end up using much code from them. - Ethereal network analyser The best packet sniffer / analyser out there. It actully disassembles the DNS packets and displays the contents. http://ethereal.zing.org - Dents, dns server Well written and documented code. Wish mine was as good. http://www.dents.org/ Thanx to people involved in both those projects. Individuals who have contributed bug fixes, patches, bugs reports, or thanks can be found in the CREDITS file. Matthew Pratt <email@example.com>