@node Example @section Example usage Let's assume that there is some insecure link between your computer and WiFi-reachable gateway. @itemize @item You have got @code{wlan0} NIC with 192.168.0/24 network on it. @item You want to create virtual encrypted and authenticated 172.16.0/24 network and use it as a default transport. @item Assume that outgoing GoVPN packets can be fragmented, so we do not bother configuring MTU of TUN/TAP interfaces. For better performance just lower it and check that no fragmentation of outgoing UDP packets occurs. @end itemize @strong{Install}. At first you must @ref{Installation, install} this software: download, @ref{Integrity, check the signature}, compile. @strong{Prepare the client}. Generate client's verifier for Alice as an example: @verbatim client% ./utils/newclient.sh Alice Passphrase: Your client verifier is: $balloon$s=32768,t=16,p=2$bwR5VjeCYIQaa8SeaI3rqg Place the following YAML configuration entry on the server's side: Alice: up: /path/to/up.sh iface: or TUN/TAP interface name verifier: $balloon$s=32768,t=16,p=2$bwR5VjeCYIQaa8SeaI3rqg$KCNIqfS4DGsBTtVytamAzcISgrlEWvNxan1UfBrFu10 @end verbatim @strong{Prepare the server}. Add this entry to @file{peers.yaml} configuration file: @verbatim Alice: iface: tap10 verifier: $balloon$s=32768,t=16,p=2$bwR5VjeCYIQaa8SeaI3rqg$KCNIqfS4DGsBTtVytamAzcISgrlEWvNxan1UfBrFu10 @end verbatim @strong{Prepare network on GNU/Linux IPv4 server}: @verbatim server% ip addr add 192.168.0.1/24 dev wlan0 server% ip tuntap add dev tap10 mode tap server% ip addr add 172.16.0.1/24 dev tap10 server% ip link set up dev tap10 @end verbatim @strong{Run server daemon itself}: @verbatim server% govpn-server -bind 192.168.0.1:1194 @end verbatim @strong{Prepare network on GNU/Linux IPv4 client}: @verbatim client% ip addr add 192.168.0.2/24 dev wlan0 client% ip tuntap add dev tap10 mode tap client% ip addr add 172.16.0.2/24 dev tap10 client% ip link set up dev tap10 client% ip route add 0/1 via 172.16.0.1 client% ip route add 128/1 via 172.16.0.1 @end verbatim @strong{Run client daemon itself}: @verbatim client% govpn-client \ -verifier '$balloon$s=32768,t=16,p=2$bwR5VjeCYIQaa8SeaI3rqg' \ -iface tap10 \ -remote 192.168.0.1:1194 @end verbatim @strong{FreeBSD IPv6 similar client-server example}: @verbatim server% ifconfig em0 inet6 fe80::1/64 server% govpn-server -bind "fe80::1%em0" @end verbatim @verbatim client% ifconfig me0 inet6 -ifdisabled auto_linklocal client% ifconfig tap10 client% ifconfig tap10 inet6 fc00::2/96 up client% route -6 add default fc00::1 client% govpn-client \ -verifier '$balloon$s=32768,t=16,p=2$bwR5VjeCYIQaa8SeaI3rqg' \ -iface tap10 \ -remote "[fe80::1%me0]":1194 @end verbatim