Recipe 3.17 Redirecting to Another Socket

3.17.1 Problem

You want to redirect a connection to another host and/or port, on the same or a different machine.

3.17.2 Solution

Use xinetd 's redirect keyword:

/etc/xinetd.conf or /etc/xinetd.d/myservice: service myservice {         ...         server = path to original service         redirect = IP_address  port_number }

The server keyword is required, but its value is ignored. xinetd will not activate a service unless it has a server setting, even if the service being is redirected.

3.17.3 Discussion

For example, to redirect incoming finger connections (port 79) to another machine at 192.168.14.21:

/etc/xinetd.conf or /etc/xinetd.d/finger: service finger {         ...         server = /usr/sbin/in.fingerd         redirect = 192.168.14.21 79 }

Of course you can redirect connections to an entirely different service, such as qotd on port 17:

service finger {         ...         server = /usr/sbin/in.fingerd         redirect = 192.168.14.21 17 }

Now incoming finger requests will instead receive an amusing "quote of the day," as long as the qotd service is enabled on the other machine. You can also redirect requests to another port on the same machine.

3.17.4 See Also

xinetd.conf(5). A tutorial can be found at http://www.macsecurity.org/resources/xinetd/tutorial.shtml.



Linux Security Cookbook
Linux Security Cookbook
ISBN: 0596003919
EAN: 2147483647
Year: 2006
Pages: 247

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net