Packet tunneling over UDP, multiple channels
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

153 lines
5.1 KiB

rrqnet-ifupdown.sh(8)
=====================
:doctype: manpage
:revdate: {sys:date "+%Y-%m-%d %H:%M:%S"}
NAME
----
2 years ago
rrqnet-ifupdown.sh - script for managing rrqnet virtual cables with
1 year ago
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
-----------
2 years ago
*/etc/rrqnet/ifupdown.sh* is a utility script for managing +rrqnet+
virtual cables via +/etc/network/interfaces+ declarations. In normal
7 months ago
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+.
2 years ago
7 months ago
A +rrqnet+ virtual cable uses a +tap+ interface at each cable end
2 years ago
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
7 months ago
blocks that are used for declaring the +rrqnet+ daemon configuration
2 years ago
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
2 years ago
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 cable +tap+, and to
declare which UDP port the +rrqnet+ daemon should listen on for
incoming cabling. The port number may be preceded by +notap+ to
indcate that this +rrqnet+ 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 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
2 years ago
remotes for a single +rrqnet+ daemon are declared by using multiple
+rrqnet_remote+ lines.
*rrqnet_options* _options_::
2 years ago
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
2 years ago
+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_::
2 years ago
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
----
2 years ago
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+.
2 years ago
The +rrqnet_options+ in the example tells the +rrqnet+ process to use
7 months ago
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
-----
2 years ago
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.
2 years ago
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>