summaryrefslogtreecommitdiff
path: root/doc/uanytun.8.txt
diff options
context:
space:
mode:
authorChristian Pointner <equinox@anytun.org>2016-02-25 00:34:22 +0100
committerChristian Pointner <equinox@anytun.org>2016-02-25 00:34:22 +0100
commit59106bf1a66a4e210f8cc98bddb760cfa8cff06a (patch)
tree998eda912f48de7523aa22e446531c2129feb429 /doc/uanytun.8.txt
parentupdated doc and other stuff after moving to GIT (diff)
parentfixed checking (missing OpenssL License File) (diff)
merged rail mode to master
Diffstat (limited to 'doc/uanytun.8.txt')
-rw-r--r--doc/uanytun.8.txt50
1 files changed, 45 insertions, 5 deletions
diff --git a/doc/uanytun.8.txt b/doc/uanytun.8.txt
index ed978d4..5a507ca 100644
--- a/doc/uanytun.8.txt
+++ b/doc/uanytun.8.txt
@@ -21,9 +21,10 @@ uanytun
[ -L|--log <target>:<level>[,<param1>[,<param2>[..]]] ]
[ -U|--debug ]
[ -i|--interface <ip-address> ]
- [ -p|--port <port> ]
+ [ -p|--port <port>[:<port>] ]
+ [ -Y|--rail-mode ]
[ -r|--remote-host <hostname|ip> ]
- [ -o|--remote-port <port> ]
+ [ -o|--remote-port <port>[:<port>] ]
[ -4|--ipv4-only ]
[ -6|--ipv6-only ]
[ -d|--dev <name> ]
@@ -110,10 +111,16 @@ passed to the daemon:
packets. The default is to not use a special inteface and just
bind on all interfaces.
-*-p, --port '<port>'*::
+*-p, --port '<port>[:<port>]'*::
The local UDP port that is used to send and receive the
payload data. The two tunnel endpoints can use different
- ports. default: 4444
+ ports. The default port is 4444.
+ In *RAIL* mode you must specify a port range. See section
+ *RAIL* below to find out what this is.
+
+*-Y, --rail-mode*::
+ This option instructs *uAnytun* to run in RAIL mode. See section
+ *RAIL* below to find out what this is.
*-r, --remote-host '<hostname|ip>'*::
This option can be used to specify the remote tunnel
@@ -122,11 +129,14 @@ passed to the daemon:
an address, it is automatically determined after receiving
the first data packet.
-*-o, --remote-port '<port>'*::
+*-o, --remote-port '<port>[:<port>]'*::
The UDP port used for payload data by the remote host
(specified with -p on the remote host). If you do not specify
a port, it is automatically determined after receiving
the first data packet.
+ When RAIL mode is enabled the port range must be of the same length
+ as the range defined with *-p, --port*.
+ See section *RAIL* below for more information about this mode.
*-4, --ipv4-only*::
Resolv to IPv4 addresses only. The default is to resolv both
@@ -248,6 +258,21 @@ passed to the daemon:
unless the 'null' auth algo is used in which case it defaults to 0.
+RAIL
+----
+
+*RAIL* stands for Redundant Array of Inexpensive Links. Like RAID spreads
+the blocks of a disk volume over multiple physical disks, *RAIL* will spread the
+UDP packets over multiple physical links. More precisly for each packet *uAnytun*
+reads, from the TUN/TAP device, it will send out multiple UDP packets. All of those to
+the same host but with different destination ports. Using policy-based routing mechanisms
+these packets can now be seperated and sent out on several interfaces.
+The server-side will then pick the first of the packets that arrive and discards all others.
+For this to work the size of the sequence window (*-w*) must not be set to 0.
+As soon as the server-side learns the remote endpoints of all or some of the links it will
+as well send multiple UDP packets for each payload packet.
+
+
EXAMPLES
--------
@@ -280,6 +305,21 @@ As *uAnytun* can't work as an anycast endpoint it can't be used for this purpose
have to use *Anytun* for that job.
+Rail Setup for 3 links:
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Client:
+^^^^^^^
+
+uanytun -t tun -n 192.168.42.2/30 -c aes-ctr-256 -k aes-ctr-256 -E rail_MODE_is_VERY_cool
+ -e client -w 64 -Y -p 1233:1235 -r rail.example.com -o 4440:4442
+
+Server:
+^^^^^^^
+uanytun -t tun -n 192.168.42.1/30 -c aes-ctr-256 -k aes-ctr-256 -E rail_MODE_is_VERY_cool
+ -e server -w 64 -Y -p 4440:4442
+
+
BUGS
----