NAME

gogoc.conf -- gogoCLIENT Configuration File

SYNOPSIS

The gogoCLIENT gogoc(8) is a client program which enables a host to query
a tunnel server to establish a tunnel between the host and the server
using the TSP protocol. The gogoc configuration file contains information
that is read by gogoc(8) for specific details regarding the server and
the tunnel to be established.

FILEFORMAT

This file is designed to be human readable and may be edited with any
text editor. The file consists of tokens and values, which are separated
by the equal sign. Each "Token=Value" pair must be on their own line.
The different configuration directives(or options) are grouped in the
following sections:

BASICCONFIGURATION

userid The userid is used for authentication with the server. The TSP
protocol supports both anonymous and authenticated tunnels.
Refer to the server policies for supported modes and related
Services, as well as for how to register your user name. The
syntax to use is given below:
userid=user_name
This variable is MANDATORY if you are using an authenticated
tunnel. Leave empty if you are using anonymous access.
passwd passwd=your_password
Leave empty if you are using anonymous access.
server Name and port number of the tunnel server. This variable is
used to specify the gogoSERVER to be queried. An IPv4 or IPv6
address or FQDN (Fully Qualified Domain Name) can be used. The
port number is optional. The default TSP port is 3653.
server=host[:port]
server=broker.freenet6.net
server=192.168.1.1:3653
This variable is MANDATORY.
auth_method
The tunnel negotiation authentication method. If you are using
anonymous access, enter `anonymous' here. Otherwise, choose one
of the following authentication methods: any|digest-
md5|passdss-3des-1|plain
anonymous sends no username or password.
any is the preferred one. The most secure mechanism common to
the client and the broker will be used.
digest-md5 sends the username in clear text, but not the
password.
passdss-3des-1 sends the username in clear text, but not the
password.
plain sends both username and password in clear text.
Default: any

ROUTERCONFIGURATION

host_type
Set the value of this directive to `router' to configure the
machine as a router. By doing so, you will be given a prefix to
advertise on a local interface.
host_type=host|router
Default: host
prefixlen
prefixlen specifies the required prefix length for the
gogoCLIENT network. Valid values range from 0 to 64; however,
values are usually between 48 and 64.
Default: 64
if_prefix
if_prefix is the name of the OS interface that will be
configured with the first /64 of the received prefix from the
broker. The router advertisement daemon is started to advertise
this prefix on the if_prefix interface.
dns_server
This directive specifies the DNS servers that should be used
for reverse DNS delegation of the prefix allocated.
Syntax is:
dns_server=fqdn[:fqdn]...
For example, to set ns1.example.net and ns2.example.net as
authoritative DNS servers for reverse DNS of the prefix, this
line would be used in gogoc.conf:
dns_server=ns1.example.net:ns2.example.net
NOTE: Never use an IP address as a DNS server name.

ADVANCEDCONFIGURATION

tunnel_mode
The tunnel encapsulation mode. It can take the following
values:
v6anyv4 This mode lets the broker determine whether or not the
gogoCLIENT is behind a NAT. The broker will then inform the
gogoCLIENT which tunnel mode to use: v6v4 or v6udpv4.
v6v4 Explicitly requests an IPv6-in-IPv4 tunnel.
v6udpv4 Explicitly requests an IPv6-in-UDP-IPv4 tunnel (for
clients behind a NAT). This type of tunnel is supported under
Linux, FreeBSD and Windows.
v4v6 Explicitly requests an IPv4-in-IPv6 tunnel (for dual-stack
transition mechanism).
Default: v6anyv4
auto_retry_connect
This directive is used when a keepalive timeout or similar
error occurred, resulting in a loss of connectivity with the
tunnel endpoint. If you wish the gogoCLIENT to re-establish
connectivity with tunnel endpoint when such an error occurs,
set this variable to `yes'.
auto_retry_connect=yes|no
Default: yes
retry_delay
The retry_delay directive is used to set the number of seconds
to sleep before reattempting to establish a tunnel with the
gogoSERVER. It will retry until it succeeds, unless you have
set the auto_retry_connect variable to `no'.
Default: 30
keepalive
keepalive indicates that this client will send keepalive
packets to maintain tunnel activity and detect inactive tunnels
(if no response is received from the server). This directive
must be set to `yes' when using v6udpv4 tunnels to keep the NAT
entry active.
keepalive=yes|no
Default: yes
keepalive_interval
The keepalive_interval is a suggestion from the gogoCLIENT to
the broker for the interval to wait between sending keepalive
messages. The broker may impose a different interval value to
the client if the suggested value is too low.
keepalive_interval=30
Default: 30
if_tunnel_v6v4
The logical interface name that will be used for the configured
tunnel (IPv6 over IPv4). The syntax is:
if_tunnel_v6v4=name
Under *BSD: gif0
Under Linux: sit0
Under Windows: 2
This variable is MANDATORY.
if_tunnel_v6udpv4
The logical interface name that will be used for v6udpv4
tunnels (IPv6 over UDPv4). The syntax is:
if_tunnel_v6udpv4=name
Under FreeBSD: tun1
Under Linux: tun
Under Windows: tunv6
if_tunnel_v4v6
The logical interface name that will be used for v4v6 tunnels
(IPv4 over IPv6). The syntax is:
if_tunnel_v4v6=name
gogoc_dir
The directory where the gogoCLIENT program is installed.
Binaries, manual pages, this configuration file and templates
are all located in this directory. This variable may resemble
the following:
gogoc_dir=/usr/local/gogoc
This variable is MANDATORY.
template This directive indicates which configuration template must be
used when configuring the tunnel. The configuration template is
a script file, located in the template directory of the
package, that contains the system commands to be executed for
tunnel setup. The directives are passed to the script file as
environment variables. The template directive is normally set
when the package is built for the specific operating system.
View the contents of the template directory to learn which ones
are available. The template name must be the file name without
the .sh or .cmd suffix.
template=linux
This variable is MANDATORY.
proxy_client
The proxy_client directive indicates that this client acts as a
TSP proxy for a remote client tunnel endpoint machine. It is
set to `yes' if the machine running the gogoCLIENT requests a
tunnel for another machine. (e.g.: cisco template). This
directive must be used in conjunction with a static IPv4
address assigned to the client_v4 variable.
NOTE: proxy_client=yes is incompatible with tunnel_mode=v6udpv4
Default: no
client_v4
The IPv4 address of the client tunnel endpoint. If the host has
more than one IPv4 address, it is recommended to manually set
this variable with its local IPv4 address as the value. If set
to auto, it chooses the source IP address used when
communicating with the server. This variable may resemble the
following:
client_v4=auto|a.b.c.d
Default: auto
client_v6
This directive is similar te client_v4, except that this one is
for users that have enabled IPv4 in IPv6 encapsulation (i.e.,
DSTM).
client_v6=auto|XX:XX::XX:XX
Default: auto
broker_list
The 'broker_list' directive specifies the name of the file
where the broker list received during broker redirection will
be saved.
Default: tsp-broker-list.txt
last_server
The 'last_server' directive specifies the name of the file
where the address of the last broker to which a connection was
successfully established will be saved.
Default: tsp-last-server.txt
always_use_same_server
The value of the 'always_use_same_server' directive determines
whether the client should always try to connect to the broker
specified by the 'last_server' directive (if any).
Default: no

LOGGINGCONFIGURATION

log_file This directive is used to specify the quantity of information
that will be logged to the file. Values range inclusively from
0 (no logging) to 3 (full logging).
Default: 0
log_stderr
This directive is used to specify the quantity of information
that will be logged to the standard error device. Values range
inclusively from 0 (no logging) to 3 (full logging).
Default: 1
log_console
This directive is used to specify the quantity of information
that will be logged to the console. Values range inclusively
from 0 (no logging) to 3 (full logging).
Default: 0
log_syslog
This directive is used to specify the quantity of information
that will be logged to the syslog. Values range inclusively
from 0 (no logging) to 3 (full logging).
Default: 0
log_filename
When logging to file is requested via the 'log_file' directive,
the name and path of the file to use may be specified using the
'log_filename' directive.
log_filename=[/path/to/the/]file
Default: gogoc.log
log_rotation
When logging to file is requested via the 'log_file' directive,
log file rotation may be enabled using the 'log_rotation'
directive.
When enabled, the contents of the log file will be moved to a
backup file just before it reaches the maximum log file size
specified via the
`log_rotation_size' directive.
The name of the backup file is the name of the original log
file with `.<timestamp>' inserted before the file extension. If
the file does not have an extension, `.<timestamp>' is appended
to the name of the original log file. The timestamp specifies
when the rotation occurred.
After the contents of the log file have been moved to the
backup file, the original file is cleared, and logging resumes
at the beginning of the file.
log_rotation=yes|no
Default: yes
log_rotation_size
The `log_rotation_size' directive specifies the maximum size a
log file may reach before rotation occurs (if rotation has been
enabled via the `log_rotation' directive).
The value is expressed in kilobytes.
log_rotation_size=16|32|128|1024
Default value: 32
log_rotation_delete
The `log_rotation_delete' directive specifies that the log file
will be recycled on rotation. No backup log files will be kept.
(if rotation has been enabled via the 'log_rotation'
directive).
log_rotation_delete=yes|no
Default: no
syslog_facility
When logging to syslog is requested using the `log' directive,
the facility to use may be specified using the
`syslog_facility' directive.
Valid values are USER, and LOCAL[0-7].
syslog_facility=FACILITY
Default: USER