Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
DTCPS(8)		  BSD System Manager's Manual		      DTCPS(8)

     dtcps -- Dynamic Tunnel Configuration Protocol daemon

     dtcps [-cdDoU] [-b	udp-port] [-g address] [-i interfaces]
	   [-I udp-interface] [-p port]	[prefix]

     dtcps implements Dynamic Tunnel Configuration Protocol (DTCP for short)
     proposed by Trumpet.  This	listens	to IPv4	TCP port 20200 (or port
     specified by port), for DTCP client connections.

     dtcps will	use APOP password database file	(pop.auth) as password data-

     Clients requesting	tunnel typed "tunnelonly" will get simple IPv6-over-
     IPv4 tunnel.  No global address will be assigned to the configured	tunnel
     link.  It is up to	administrators to assign global	IPv6 address to	the
     client host, or to	the client network.  Static assignment by hand or use
     of	router advertisement packet should do the trick.  Use of router	renum-
     bering protocol may be a candidate.

     Clients requesting	tunnel typed "network" aka "tunnelroute" will get
     IPv6-over-IPv4 tunnel with	appropriate static route for the connected
     user installed.  This can be used for prefix delegation.  The routes for
     each user is specified in /usr/local/etc/routetable.  No global address
     will be assigned to the configured	tunnel link.

     If	prefix argument	is specified, dtcps will accept	tunnel request for
     "host" tunnel type.  The tunnel type needs	a pair of temporary global
     IPv6 address for the configured tunnel link, like 3ffe:ffff:ffff:ffff::5
     and 3ffe:ffff:ffff:ffff::6.  The address pair will	be assigned from spec-
     ified prefix.  Prefixlen for the temporary	global address will be 128,
     and it will be computed by	using interface	number of tunnel interface.

     dtcps assumes all gif interfaces are available to use.  If	-i interfaces
     argument is specified, dtcps will use only	specified interfaces.
     interfaces	accepts	regular	expression.

     If	interfaces is not regular expression but an exact interface name,
     dtcps acts	as interface cloning mode which	dtcps creates and deletes in-
     terfaces appropriately.  In this mode, interfaces means a lower interface
     to	be created.

     With interface cloning mode, if -o	is specified, dtcps creates the	inter-
     faces appropriately, but prevents destroying and reuses created inter-

     If	-U is specified, dtcps accepts request for an IPv6 over	an UDP/IPv4
     tunnel as well.  The lower	value of an UDP	port is	specified by -b, and
     its default is "4028".  dtcps assumes all netgraph	interfaces are avail-
     able to use.  If -I interface argument is specified, dtcps	creates	and
     deletes interfaces	appropriately.	interface means	a lower	interface to
     be	created.  An IPv6 over an UDP/IPv4 tunnel requires Netgraph.  (Experi-

     You may want to use specific interface for	certain	user.  You can specify
     the interface to 3rd field	of /usr/local/etc/routetable.  It can be used
     not only for tunnel typed "network" but also "tunnelonly" and "host".  If
     you don't want to assign prefix for your user, you	can specify `-'	for
     2nd field.

     -D	prevents dtcps from daemonizing	on invocation.

     -c	disables interface cloning mode.

     -d	puts dtcps into	debug mode.

     In	normal situation, you cannot serv DTCP from behind your	NAT box.  How-
     ever, you may serv	DTCP in	such situation with the	help of	NAT box.  In
     such case,	you need to respond actual global address to a client.	-g
     address is	specified, dtcps responds the address as the actuall IPv4
     global address of your NAT	box.

     dtcps will	exit with positive value on errors.

	       This file is used for "network" tunnel type, and	maps between
	       the user	and the	assigned IPv6 prefix for the user.  The	format
	       is a space separated list of the	user name, the assigned	IPv6
	       prefix and the interface.  The IPv6 prefix is a pair of IPv6
	       address and prefixlen like addr/prefixlen.  Multiple IPv6 pre-
	       fixes can be specified by using comma as	separator.  The	inter-
	       face is optional, and if	interface is specified,	the interface
	       is used for the user.
	       The APOP	password database.
	       Contains	the process ID of the dtcps listening for connections.
	       The content of this file	is not sensitive; it can be world-

     daemon(3),	gif(4),	dtcpauth(8), dtcpc(8), gifconfig(8), ifconfig(8),

     The dtcps command first appeared in WIDE/KAME IPv6	protocol stack kit.

     "network" tunnel type and other useful facilities were added by Hajimu
     UMEMOTO <>.

     DTCP needs	to keep	TCP connection between server and client.  Therefore,
     maximum number of client served by	single dtcps will be bounded by	the
     maximum number of filehandle allowed to a process (100 or so).

     dtcps invokes several external commands, like ifconfig(8) and
     gifconfig(8).  Command search path	must be	configured properly before in-
     voking dtcps.

     dtcps requires qpopauth shipped with qpopper to maintain APOP password
     database.	There is dtcpauth for this purpose.  Though the	ability	of
     dtcpauth is still limitted, you can use it	for the	replacement for

     dtcps was written in Ruby.	:-)

				  Jan 6, 2006


Want to link to this manual page? Use this URL:

home | help