---
name: "gogoc.conf"
section: "5"
platform: "linux"
package: "gogoc"
version: "1:1.2-5"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/gogoc.conf"
---

# gogoc.conf(5)

gogoCLIENT Configuration File

## NAME

**gogoc.conf** – gogoCLIENT Configuration File

## SYNOPSIS

The gogoCLIENT [gogoc(8)](/gogoc/8.md) 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)](/gogoc/8.md) for specific details regarding the server and the tunnel to be established.

## FILE FORMAT

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:

## BASIC CONFIGURATION

- **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

## ROUTER CONFIGURATION

- **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.

## ADVANCED CONFIGURATION

- **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

## LOGGING CONFIGURATION

- **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

## FILES

- *\<gogoc\_dir\>/bin/gogoc.conf*

  - *\<gogoc\_dir\>/bin/gogoc.conf.sample*

  ## SEE ALSO

[gogoc(8)](/gogoc/8.md)
