dtcpclient —
Dynamic Tunnel Configuration Protocol client
dtcpclient |
[-b udp-port]
[-B nat-port]
[-d] [-D]
[-f pidfile]
[-l] [-m
mtu] [-n]
[-p port]
[-s script]
[-t tuntype]
[-u user]
[-U] server |
dtcpclient implements Dynamic Tunnel
Configuration Protocol (DTCP for short) proposed by Trumpet.
dtcpclient will first ask the DTCP password to the
user. Then, the program will try to connect DTCP server via IPv4 TCP, login
as DTCP client, and maintain IPv6 over IPv4 tunnel connection.
The following options are available:
-b
port
- Sets the port number to bind on local for an UDP tunnel to
port. The default is “4028”.
-B
port
- If you are behind NAT which is statically configured to forward the UDP
tunnel traffic arrived to the specific port, sets the port number to
port. This option is meaningful only with
-U option, and is usually used with
-n. The default is not defined.
-D
dtcpclient becomes daemon.
-d
- Put
dtcpclient to debug mode.
-f
file
- If
dtcpclient is invoked as daemon, the process ID
of the dtcpclient are held in
/var/run/dtcpclient.pid by default. You may want
to change the file name.
-l
- By default, when connection to the server is closed,
dtcpclient will exit. When this option is
specified, dtcpclient doesn't exit on connection
close, and continuously tries to re-connect.
-m
mtu
- Sets the MTU of the tunnel to mtu. The default is
“1280”.
-n
- By default,
dtcpclient checks if the IPv4 address
which DTCP server recognized is equal to the actuall IPv4 address of your
box. This check can be ommitted by specifying this option. It may save the
user lives behind NAT that maps private IPv4 address to global IPv4
address.
-p
port
- Sets the port number to port. The default is
“20200”.
-s
script
- Specify the command to invoke on DTCP session is established or closed.
The default is
/usr/local/etc/dtcpclient.script.
-t
tuntype
- The spec defines several kind of tunnel requests.
dtcpclient will request tunnel typed
tuntype to the DTCP server.
“tunnelonly”,
“host” and
“network” are available for
tuntype. The default value is
“tunnelonly”.
-u
user
- Specifies the user. It is needed when DTCP user account is different from
the login name on the host.
-U
- By default,
dtcpclient creates a generic tunnel.
If this option is set, dtcpclient creates an IPv6
over an UDP/IPv4 tunnel instead. An IPv6 over an UDP/IPv4 tunnel requires
Netgraph. (Experimental)
- server
- DTCP server which
dtcpclient try to connect.
Upon receipt of signal SIGHUP,
dtcpclient will try to reconnect to the DTCP
server.
dtcpclient will exit with positive value
on errors.
The invoked scripts get passed these parameters:
- state
- Why this script is called. Possible
state are
“up” and “down”.
- server
- DTCP server which
dtcpclient connect to.
- myaddr
- My actuall IPv4 address.
- tuntype
- The tunnel type. The value is one of
“
tunnelonly”,
“host” or
“network”
- me
- My IPv4 address which DTCP server recognize.
- her
- The destination IPv4 address of the tunnel.
- me6
- The IPv6 address for local tunnel end point if this is a
“host” tunnel type or numbered tunnel when tunnel type is
“network”.
- her6
- The IPv6 address for remote tunnel end point if this is a
“host” tunnel type or numbered tunnel when tunnel type is
“network”.
- prefix
- The IPv6 prefix assigned to local network when this is a
“network” tunnel type .
- /usr/local/etc/dtcpclient.auth
- You can specify your password to connect to DTCP server in this file. If
your password is found in this file,
dtcpclient
does not ask for your password. The format is a colon-separated list of
the server name, the user name and the password.
- /usr/local/etc/dtcpclient.script
- Default script invoked for setup or cleanup tunnel when DTCP session is
established or closed.
- /var/run/dtcpclient.pid
- Contains the process ID of the
dtcpclient
listening for connections. The content of this file is not sensitive; it
can be world-readable. This file name may be changed by
-f option.
Hajimu UMEMOTO
⟨ume@mahoroba.org⟩.
dtcpclient will not work if you are behind
a NAT box (This is a protocol feature, not a bug).
-n may help you on such case. But, it is still
depend on the behavior of your NAT box.