5.1 KiB
rrqnet-ifupdown.sh(8) Manual Page
NAME
rrqnet-ifupdown.sh - script for managing rrqnet virtual cables with ifup and ifdown
SYNOPSIS
for HOOKD in down post-down pre-up up ; do ln -s /etc/rrqnet/ifupdown.sh /etc/network/if-$HOOKD.d/rrqnet done
DESCRIPTION
/etc/rrqnet/ifupdown.sh is a utility script for managing rrqnet
virtual cables via /etc/network/interfaces
declarations. In normal
use the script is set up as hook script by means of links from all
/etc/network/if-*.d/rrqnet
for automatic invocation with the
commands ifup
and ifdown
.
A rrqnet
virtual cable uses a tap
interface at each cable end
host, and a service process (aptly named rrqnet
) to tunnel the tap
network traffic over UDP. Each rrqnet
process acts as a networking
switch that facilitates level 2 connectivity among all its end points
with packet routing according to the destination Ethernet machine
addresses.
This script handles the special purpose "option codes" for the IFACE
blocks that are used for declaring the rrqnet
daemon configuration
to for the tap
interface for its virtual cabling. I.e., the IFACE
block is made for the tap interface and it includes one or more of
these rrqnet
options.
The list of IFACE options for rrqnet
are:
- rrqnet_port [ notap ] port
-
This IFACE option is required both as way of marking that the configuration block is for an
rrqnet
virtual cabletap
, and to declare which UDP port therrqnet
daemon should listen on for incoming cabling. The port number may be preceded bynotap
to indcate that thisrrqnet
should not have an actual tap interface on the host but rather only serve to interconnect remote connections. - rrqnet_nice nice
-
This IFACE option is used for adjusting the
rrqnet
process scheduling priority. Refer thenice
man page for full details. - rrqnet_remote remote
-
This IFACE option is used for declaring the remote connection details. Refer to
rrqnet
man page for the full specification. Multiple remotes for a singlerrqnet
daemon are declared by using multiplerrqnet_remote
lines. - rrqnet_options options
-
This IFACE option is used for declaring any additional
rrqnet
daemon settings ([-tpg] [-4] [-B n] [-T n] [-m mcast]). Refer to therrqnet
man page for the full specification. - rrqnet_log level pathname
-
This IFACE option is used for declaring the log level as one of
-v
,-vv
or-vvv
, and to nominate the log file. If omitted, all therrqnet
daemon output will be directed to/dev/null
. If _pathname is of the form "facility.priority", then stderr is sent tosyslog
. Otherwise, stderr is appended to the nominated file. - rrqnet_bridge bridge
-
This IFACE option is only used to make the
tap
(once created) to be made a "port" of the nominated precedingbridge
interface. The same things is achieved by including thetap
in thebridge_ports
list of the bridge, provided that thetap
is created before the bridge. - rrqnet_dhcp method args
-
This IFACE option is used for attaching a DHCP client to the interface. The
method
identifies the DHCP client method, and currently only thedhclient
method is defined, which is run as follows:dhclient -pf $PIDFILE $DHCPARGS -lf $LEASES $IFACE
The given
args
if non-empty replaces$DHCPARGS
, which by default are "-4 -cf /dev/null". Refer to thedhclient
man page for details.
EXAMPLES
The following is a configuration example:
iface mynet0 inet static address 10.0.0.2/24 broadcast 10.0.0.255 rrqnet_port 3636 rrqnet_options -4 -B 10 -T 1 rrqnet_remote 111.222.333.444:3636=/sec/mynet.key rrqnet_log -v /var/log/mynet0.log
The above example declares a virtual cable plug for UDP port 3636
tunneling through host 111.222.333.444
port 3636
where the local
tap
mynet0
has ipv4 address 10.0.0.2
. The rrqnet_port
option
marks the IFACE block as an +rrqnet
virtual cabling set up which
then is duly handled by rrqnet-ifupdown.sh
.
The rrqnet_options
in the example tells the rrqnet
process to use
an ipv4-only socket, 10 packet buffers and a single delivery thread,
in addition to the socket reader threads. The default is to use an
ipv6 socket, 10 bufffers and 5 delivery threads.
NOTES
This script creates the tap
interface if needed, and brings it up.
Thereafter, if so configured the tap
is added to the bridge
, and
then the rrqnet
virtual cable process is started under a daemon
supervision.
Note that the rrqnet
virtual cable requires UDP networking for its
tunnel traffic. The tunnel packets will have a UDP header in addition
to the orignal packet, which means that packets grow with some 28/48
(ipv4/6) bytes.
SEE ALSO
brctl(8) - ethernet bridge administration
daemon(1) - turns other processes into daemons
dhclient(8) - Dynamic Host Configuration Protocol Client
interfaces(5) - network interface configuration for ifup and ifdown
rrqnet(8) - packet tunneling over UDP, multiple channels
AUTHOR
Ralph Rönnquist <ralph.ronnquist@gmail.com>