.\" .\" Copyright (c) 2003,2004 The DragonFly Project. All rights reserved. .\" .\" This code is derived from software contributed to The DragonFly Project .\" by Matthew Dillon .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in .\" the documentation and/or other materials provided with the .\" distribution. .\" 3. Neither the name of The DragonFly Project nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific, prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS .\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE .\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .Dd June 16, 2019 .Dt RCONFIG 8 .Os .Sh NAME .Nm rconfig .Nd Remote Configuration Client/Server .Sh SYNOPSIS .Nm .Op Fl a .Op Fl v .Op Fl W Ar workdir .Op Ar host[:tag] Ar ... .Nm .Fl s .Op Fl a .Op Fl C Ar configfiles .Op Fl T Ar tagdir .Op Fl v .Op Ar bind_address Ar ... .Sh DESCRIPTION The .Nm utility provides simple remote configurator functionality. In client mode .Nm will broadcast a request for the specified configuration tag over available interfaces (or you can specify an IP), locate a server capable of supplying the tag, then connect to, download, and run the script associate with the tag. In server mode .Nm will listen on port 257 for broadcast requests (UDP) and connections (TCP). Note that UDP based requests are only responded to if the requested tag is available. You can run the server on multiple machines on the LAN serving different tags or, if you wish to provide a backup, serving the same tags, or a mix. The client will use the first matching tag it encounters. .Pp The following command line options are available when operating in client mode: .Bl -tag -width Fl .It Fl a .Nm will broadcast a request for the 'auto' tag on all available interfaces. No additional arguments are necessary. .It Fl W Ar workdir Specify the working directory for script downloads. The default is .Pa /tmp . .It Fl v Verbose mode prints additional information during program execution. .It host[:tag] Specify any number of remote IP addresses or broadcast addresses. If no tag is specified .Nm defaults to 'auto'. If you specify just a tag using :tag the broadcast address for all available interfaces will be used. The .Fl a option should not be used in that case. .El .Pp The following command line options are available when operating in server mode: .Bl -tag -width Fl .It Fl s This option is required to operate .Nm as a server. .It Fl a .Nm will bind to and listen on all available interfaces. If this option is not used you must specify a particular IP address or addresses to bind to. The server listens on port 257 for both UDP and TCP. .It Fl T Ar tagdir Specify the directory containing the tag scripts. The default is .Pa /usr/local/etc/rconfig . Tag scripts are in the form: .Pa tagname.sh . The tag name can only consist of alphabets (lower and upper letters), digits (zero to nine), underscore (_), dot (.), minus (-) and plus (+) symbols. .It Fl C Ar configfiles Specify server configuration files (currently unused). .It Fl v Verbose mode prints additional information during program execution. .It bind_address Specify any number of IP addresses or hostnames corresponding to machine local addresses that the server will bind to and listen on. .El .Sh FILES .Pa /usr/share/examples/rconfig .Sh SEE ALSO .Xr dhclient 8 .Sh AUTHORS This program was written by .An Matthew Dillon .