Afterwards, install the program through ports:
cd /usr/ports/net/freenet6/
make; make install
The program's configuration file is "/usr/local/etc/freenet6/gw6c.conf", herewith my configuration:
template freebsd # FreeBSD Specific
server broker.freenet6.net # default value
auth_method=any
userid=your_username # Different from gogonet web login.
passwd=your_passwd
host_type=router
if_prefix=wlan0 # internal interface routing with IPv6 tunnel interface.
prefixlen=64 # value could be 48 or 60 depending on gogoServer.
tunnel_mode v6anyv4 # v6anyv4 - gogoSERVER suggest correct encapsulation to client
log_file=3 # Set maximum verbosity option for "file" log option.
log_filename=/var/log/gw6c.log # Define full path
last_server Tsp-last-server.txt # (info) last gogoSERVER with successful connection
broker_list tsp-broker-list.txt # (info) gogoSERVER list
gogoClient program is invoked through CLI "gw6c", invoked in the directory where configuration file resides.
I live in Melbourne, Australia. Invoking gw6c returns the following message:
The Gateway6 redirection list is [ taipei.freenet6.net, sydney.freenet6.net, amsterdam.freenet6.net, montreal.freenet6.net ].
The optimized Gateway6 redirection list is [ sydney.freenet6.net, montreal.freenet6.net, taipei.freenet6.net, amsterdam.freenet6.net ].
So I updated the configuration file's "server" parameter accordingly.
I initiate the program again, and looking at the log-file "/var/log/gw6c.log". I have added some comments to the excerpt of my logs:
# gogClient version is v6.0-Release
2010/03/26 23:51:44 I gw6c: Gateway6 Client v6.0-RELEASE build Mar 16 2010-22:51:10
2010/03/26 23:51:44 I gw6c: Built on ///FreeBSD HomeFreeBSD 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Mon Feb 15 20:33:54 EST 2010 root@HomeFreeBSD:/usr/obj/usr/src/sys/HomeFreeBSD i386///
2010/03/26 23:51:44 I gw6c: Establishing connection to Gateway6 sydney.freenet6.net using reliable UDP.
# Negotiating tunnel parameters. Host requested to be "router" mode with /64 prefix, but received a /56 prefix.
2010/03/26 23:51:48 I gw6c: Sending: 'Content-length: 269(tunnel action="create" type="v6anyv4" proxy="no") (client) (address type="ipv4")local-public-ipv4(/address) (keepalive interval="30") (address type="ipv6")::(/address) (/keepalive) (router) (prefix length="64"/) (/router) (/client)(/tunnel)'
2010/03/26 23:51:48 I gw6c: Received: '200 Success(tunnel action="info" type="v6v4" lifetime="604800") (server) (address type="ipv4")(ipv4-address)(/address) (address type="ipv6")(ipv6-address)(/address) (/server) (client) (address type="ipv4")(ipv4-address)(/address) (address type="ipv6")(ipv6-address)(/address) (address type="dn")your_username.broker.freenet6.net(/address) (router) (prefix length="56")(local-ipv6-address)(/prefix) (/router) (keepalive interval="30") (address type="ipv6")(ipv6-address)(/address) (/keepalive) (/client)(/tunnel)'
# IPv6 interface, gif0, being created and configured locally. Sysctl parameters and wlan0 interface updated:
2010/03/26 23:51:48 I gw6c: /sbin/ifconfig gif0 create
2010/03/26 23:51:48 I gw6c: /sbin/ifconfig gif0 tunnel (local ipv4) (remote ipv4)
2010/03/26 23:51:48 I gw6c: /sbin/ifconfig gif0 inet6(ipv6-address) prefixlen 128 alias
2010/03/26 23:51:48 I gw6c: /sbin/ifconfig gif0 mtu 1280
2010/03/26 23:51:48 I gw6c: /sbin/route add -inet6 default (ipv6-address)
2010/03/26 23:51:48 I gw6c: /sbin/sysctl -w net.inet6.ip6.forwarding=1
2010/03/26 23:51:48 I gw6c: net.inet6.ip6.forwarding: 1 -> 1
2010/03/26 23:51:48 I gw6c: /sbin/sysctl -w net.inet6.ip6.accept_rtadv=0
2010/03/26 23:51:48 I gw6c: net.inet6.ip6.accept_rtadv: 0 -> 0
2010/03/26 23:51:48 I gw6c: /sbin/ifconfig wlan0 inet6 (local-ipv6-address) prefixlen 64
# Tunnel Creation success message...
2010/03/26 23:51:48 I gw6c: The host type is 'router'.
2010/03/26 23:51:48 I gw6c: The tunnel type is v6v4.
2010/03/26 23:51:48 I gw6c: Your IPv6 address is (ipv6-address).
2010/03/26 23:51:48 I gw6c: Your IPv6 prefix is (local-ipv6-address)/56.
Also note the gw6c script pushes the IPv6 default route onto BSD system. To check, use "netstat -rn".
I have not been able to find a startup configuration for gw6c program. However, I have enabled both IPv6 and IPv6 Gateway parameters in "/etc/rc.conf":
ipv6_enable="YES"
ipv6_gateway_enable="YES"
I use a Windows laptop as an IPv6 client, residing in the WiFi blanket. Its IPv6 address is set to match BSD's Wifi adapter (wlan0) IP subnet.