]> Cypherpunks.ru repositories - govpn.git/blob - doc/example.texi
[DOC] Example on CLIENTID+verifier creation
[govpn.git] / doc / example.texi
1 @node Example usage
2 @section Example usage
3
4 Let's assume that there is some insecure link between your computer and
5 WiFi-reachable gateway.
6
7 @itemize @bullet
8 @item You have got @code{wlan0} NIC with 192.168.0/24 network on it.
9 @item You want to create virtual encrypted and authenticated 172.16.0/24
10 network and use it as a default transport.
11 @item @code{wlan0} MTU is 1500, 20 bytes overhead per IPv4. So MTU for
12 GoVPN is 1500 - 20 - 8 = 1472.
13 @item During startup client and server will say that TAP interface MTU
14 is 1432.
15 @end itemize
16
17 Do not forget about setting @code{GOMAXPROC} environment variable for
18 using more than one CPU on both sides:
19
20 @example
21 % export GOMAXPROC=4
22 @end example
23
24 As a preparation you have to generate peer directory (register new
25 client) on the server side using @code{utils/newsclient.sh}, generate
26 @ref{Verifier} on client side and place it on the server:
27
28 @example
29 server% ./utils/newclient.sh Alice
30 Place verifier to peers/6d4ac605ce8dc37c2f0bf21cb542a713/verifier
31
32 client% ./utils/storekey.sh /tmp/passphrase
33 Enter passphrase:[my secure passphrase is here]
34 client% govpn-verifier -id 6d4ac605ce8dc37c2f0bf21cb542a713 -key /tmp/passphrase
35 562556cc9ecf0019b4cf45bcdf42706944ae9b3ac7c73ad299d83f2d5a169c55
36 client% rm /tmp/passphrase
37
38 server% cat > peers/6d4ac605ce8dc37c2f0bf21cb542a713/verifier <<EOF
39 562556cc9ecf0019b4cf45bcdf42706944ae9b3ac7c73ad299d83f2d5a169c55
40 EOF
41 @end example
42
43 @code{6d4ac605ce8dc37c2f0bf21cb542a713} is your CLIENTID.
44
45 GNU/Linux IPv4 client-server example:
46
47 @example
48 server% echo "echo tap10" >> peers/6d4ac605ce8dc37c2f0bf21cb542a713/up.sh
49 server% ip addr add 192.168.0.1/24 dev wlan0
50 server% tunctl -t tap10
51 server% ip link set mtu 1432 dev tap10
52 server% ip addr add 172.16.0.1/24 dev tap10
53 server% ip link set up dev tap10
54 server% GOMAXPROC=4 govpn-server -bind 192.168.0.1:1194 -mtu 1472
55 @end example
56
57 @example
58 client% umask 066
59 client% utils/storekey.sh key.txt
60 client% ip addr add 192.168.0.2/24 dev wlan0
61 client% tunctl -t tap10
62 client% ip link set mtu 1432 dev tap10
63 client% ip addr add 172.16.0.2/24 dev tap10
64 client% ip link set up dev tap10
65 client% ip route add default via 172.16.0.1
66 client% export GOMAXPROC=4
67 client% while :; do
68     govpn-client -key key.txt -id 6d4ac605ce8dc37c2f0bf21cb542a713 -iface tap10 \
69         -remote 192.168.0.1:1194 -mtu 1472
70 done
71 @end example
72
73 FreeBSD IPv6 client-server example:
74
75 @example
76 server% ifconfig em0 inet6 fe80::1/64
77 server% GOMAXPROC=4 govpn-server -bind "fe80::1%em0"
78 @end example
79
80 @example
81 client% ifconfig me0 inet6 -ifdisabled auto_linklocal
82 client% ifconfig tap10
83 client% ifconfig tap10 inet6 fc00::2/96 mtu 1412 up
84 client% route -6 add default fc00::1
85 client% export GOMAXPROC=4
86 client% while :; do
87     govpn-client -key key.txt -id 6d4ac605ce8dc37c2f0bf21cb542a713 -iface tap10 \
88         -remote [fe80::1%me0]:1194
89 done
90 @end example