updated todo list
[vpnc.git] / vpnc.8
blobcab6bf51818d290ac52518930804b1c40f3d1712
1 .TH "VPNC" "8" "13 Mai 2004" "Debian" "vpnc"
3 .SH NAME
4 vpnc \- client for cisco3000 VPN Concentrator
5 .SH SYNOPSIS
7 .B vpnc  [ \-\-gateway 
8 .I <IP or hostname>
9 .B ] [ \-\-id
10 .I <IPSec group Id>
11 .B ] [ \-\-username
12 .I <user name>
13 .B ] [ \-\-script 
14 .I <command>
15 .B ] [ \-\-domain
16 .I <domain name>
17 .B ] [ \-\-dh
18 .I <dh1/dh2/dh5>
19 .B ] [ \-\-pfs
20 .I <nopfs/dh1/dh2/dh5/server>
21 .B ] [ \-\-enable-1des 
22 .B ] [ \-\-application-version 
23 .I <version string>
24 .B ] [ \-\-ifname 
25 .I <interface>
26 .B ] [ \-\-debug
27 .I <0/1/2/3/99>
28 .B ] [ \-\-no-detach 
29 .B ] [ \-\-pid-file 
30 .I <filename>
31 .B ] [ \-\-local-port
32 .I <0-65535>
33 .B ] [ \-\-non-inter 
34 .B ] 
37 .SH "DESCRIPTION"
38 .PP
39 This manual page documents briefly the
40 \fBvpnc\fR, \fBvpnc\-connect\fR and
41 \fBvpnc\-disconnect\fR commands.
42 .PP
43 \fBvpnc\fR is a 
44 VPN client for the Cisco 3000 VPN  Concentrator,  creating  a IPSec-like
45 connection as a tunneling network device for the local system. It uses
46 the TUN/TAP driver in  Linux  kernel  2.4  and  above  and device tun(4)
47 on BSD. The created connection is presented as a tunneling network
48 device to the local system.
49 .PP
50 The vpnc daemon by it self does not set any routes, the user (or
51 the connect script, see below) has to do it on its own, e.g. for a full
52 tunnel with IP routing under Linux. Further, the user must care about
53 setting a minimal route to the gateway to not cut the essential
54 connection.
55 .PP
56 However, when connection has been established, vpnc will run a simple
57 command (see \-\-script) to configure the interface and care about the
58 route setup. By default, only a simple ifconfig command is executed.
59 .PP
60 The command \fBvpnc\-connect\fR is a helper script that will assist on
61 connection invocation and routing configuration. It can also be used to manage configuration files
62 for multiple VPN connections. The script can be started by the user or
63 from the daemon (see \-\-script) when the connection is established. In
64 the first case, it will simply run the daemon after some environment
65 checks. When executed by the daemon later, it will create a minimalistic
66 host route to the gateway and configures the default gateway
67 configuration of Linux to run over the VPN tunnel.
68 .PP
69 The \fBvpnc\-disconnect\fR command is used to terminate
70 the connection previously created by \fBvpnc\-connect\fR
71 and restore the previous routing configuration.
73 .SH CONFIGURATION
74 The daemon reads configuration data from the following places:
75 .PD 0
76 .IP "- command line options"
77 .IP "- config file(s) specified on the command line"
78 .IP "- /etc/vpnc/default.conf"
79 .IP "- /etc/vpnc.conf"
80 .IP "- prompting the user if not found above"
82 .PP
84 The vpnc-connect script expects the 
85 .B configuration file
86 as the first parameter. This
87 can either be an absolute path or the name
88 of a config file located in 
89 .B /etc/vpnc/<filename>.conf.
90 If no config is specified, 
91 .B vpnc\-connect
92 will try
93 to load 
94 .B /etc/vpnc/default.conf
95 or as a last resort
96 .B /etc/vpnc.conf.
98 .SH OPTIONS
99 The program options can be either given as argument (but not all of them
100 for security reasons) or be stored in a configuration file.
103 .IP "\-\-gateway <ip/hostname>"
104 IP or host name of your IPSec gateway
106 .IP "\-\-id <ASCII string>"
107  Your group name in <ASCII string>
108       
109 .IP "\-\-username <ASCII string>"
110   Your username
112 .IP "\-\-script <command>"
113   The <command> specified here is executed when the connection has been
114   established, in order to configure the interface, routing and so on.
115   Device name, IP, etc. are passed using enviroment variables, see
116   README. This script is executed right after ISAKMP is done, but befor
117   tunneling is enabled. Some environment variables are set and can be
118   used for the detail configuration. Default command: ifconfig $TUNDEV
119   inet $INTERNAL_IP4_ADDRESS pointopoint $INTERNAL_IP4_ADDRESS netmask
120   255.255.255.255 mtu 1412 up
122 .IP "\-\-domain <ASCII string>"
123   Domain name for authentication, sometimes needed for authentification
124   against Windows NT domains.
126 .IP "\-\-dh <dh1/dh2/dh5>"
127   Name of the IKE DH Group (default: dh2)
129 .IP "\-\-pfs <nopfs/dh1/dh2/dh5/server>"
130   Diffie-Hellman group to use for PFS, one of nopfs, dh1, dh2, dh5 or
131   server (default: server).
133 .IP "\-\-enable\-1des"
134  Enables weak Single DES encryption
136 .IP "\-\-application\-version <ASCII string>"
137  Application Version to report to the server when identifying ourself
138  (default: Cisco Systems VPN Client <vpnc-version>)
140 .IP "\-\-ifname <ASCII string>"
141  The virtual name of the Linux network interface assigned to the tunnel
142  endpoint
144 .IP "\-\-debug <0/1/2/3/99>"
145   Show verbose debug messages with different verbosity levels
147 .IP "\-\-no\-detach"
148  Don't detach from the console (go to background) after login
150 .IP "\-\-pid\-file <filename>"
151  Store the pid of background process in a file
153 .IP "\-\-local-port <0-65535>"
154   Local ISAKMP port number to use (0 == use random port, 500 is default)
156 .IP "\-\-non-inter"
157  Don't ask anything, exit on missing options
159 .IP "\-\-print\-config"
160  Prints your configuration; output can be used as vpnc.conf
162 .SH FILES
163 .I /etc/vpnc.conf
165 The default configuration file. You can specify the same config
166 directives as with command line options and additionaly
167 .B IPSec secret
169 .B Xauth password
170 both supplying a cleartext password. Scrambled passwords from the Cisco
171 configuration profiles are not supported.
174 .BR EXAMPLES
175 for further details.
178 .I /etc/vpnc/*.conf
180 The vpnc\-connect will read configuration files in this directory when
181 the config script name (without .conf) is specified on the command line.
185 .SH EXAMPLES
186 This is an example vpnc.conf:
189 .PD 0
190 IPSec gateway vpn.rwth\-aachen.de
192 IPSec ID MoPS
194 IPSec secret mopsWLAN
196 Xauth username abcdef
198 Xauth password 123456
202 The lines begin with a keyword (no leading spaces!).
203 The values start exactly one space after the keywords, and run to the end of
204 line. This lets you put any kind of weird character (except EOL and NUL) in
205 your strings, but it does mean you can't add comments after a string, or spaces
206 before them.
208 See also the
209 .B \-\-print\-config
210 option to generate a config file, and the example file in the package
211 documentation directory where more advanced usage is demonstrated.
213 Advanced features like manual setting of multiple target routes is
214 documented in the example files of the vpnc package.
216 .SH TODO
217 .PD 0
218 Re-keying is not implemented yet (default rekey-intervall is 8 hours).
220 Certificate support (Pre-Shared-Key + XAUTH is known to be insecure).
222 IPSec over UDP
225 .SH AUTHOR
226 This man-page has been written by Eduard Bloch <blade(at)debian.org> and
227 Christian Lackas <delta(at)lackas.net>, based on vpnc README by
228 Maurice Massar <vpnc(at)unix\-ag.uni\-kl.de>.
229 Permission is
230 granted to copy, distribute and/or modify this document under
231 the terms of the GNU General Public License, Version 2 any 
232 later version published by the Free Software Foundation.
234 On Debian systems, the complete text of the GNU General Public
235 License can be found in /usr/share/common\-licenses/GPL.
236 .SH "SEE ALSO"
237 .BR ip (8),
238 .BR ifconfig (8),
239 .BR route (1),
240 .BR http://www.unix\-ag.uni\-kl.de/~massar/vpnc/