|
|
|
rrqnet-ifupdown.sh(8)
|
|
|
|
=====================
|
|
|
|
:doctype: manpage
|
|
|
|
:revdate: {sys:date "+%Y-%m-%d %H:%M:%S"}
|
|
|
|
|
|
|
|
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
|
|
|
|
stanza 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* _port_::
|
|
|
|
|
|
|
|
This IFACE option is required both as way of marking that the stanza
|
|
|
|
is for an +rrqnet+ virtual cable +tap+, and to declare which UDP port
|
|
|
|
the +rrqnet+ daemon should listen on for incoming cabling.
|
|
|
|
|
|
|
|
*rrqnet_nice* _nice_::
|
|
|
|
|
|
|
|
This IFACE option is used for adjusting the +rrqnet+ process
|
|
|
|
scheduling priority. Refer the +nice+ 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 single +rrqnet+ daemon are declared by using multiple
|
|
|
|
+rrqnet_remote+ lines.
|
|
|
|
|
|
|
|
*rrqnet_options* _options_::
|
|
|
|
|
|
|
|
This IFACE option is used for declaring any additional +rrqnet+ daemon
|
|
|
|
settings ([-4] [-B n] [-T n] [-m mcast]). Refer to the +rrqnet+ 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 the
|
|
|
|
+rrqnet+ daemon output will be directed to +/dev/null+. If __pathname_
|
|
|
|
is of the form "facility.priority", then stderr is sent to +syslog+.
|
|
|
|
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 preceding +bridge+ interface. The same
|
|
|
|
things is achieved by including the +tap+ in the +bridge_ports+ list
|
|
|
|
of the bridge, provided that the +tap+ 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 the +dhclient+ 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 the +dhclient+ 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 stanza 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>
|