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.