diff --git a/doc/ggsn.8 b/doc/ggsn.8 new file mode 100644 index 0000000..7a98281 --- /dev/null +++ b/doc/ggsn.8 @@ -0,0 +1,262 @@ + +.\" * OpenGGSN - Gateway GPRS Support Node +.\" * Copyright (C) 2002, 2003 Mondru AB. +.\" * +.\" * The contents of this file may be used under the terms of the GNU +.\" * General Public License Version 2, provided that the above copyright +.\" * notice and this permission notice is included in all copies or +.\" * substantial portions of the software. +.\" * +.\" * The initial developer of the original code is +.\" * Jens Jakobsen +.\" * +.\" * Contributor(s): +.\" * +.\" Manual page for ggsn +.\" SH section heading +.\" SS subsection heading +.\" LP paragraph +.\" IP indented paragraph +.\" TP hanging label + +.TH ggsn 8 "July 2003" +.SH NAME +ggsn \- Gateway GPRS Support Node. +.SH SYNOPSIS +.B ggsn +\-\-help + +.B ggsn +\-\-version + +.B ggsn +[ +.BI \-\-fg +] [ +.BI \-\-debug +] [ +.BI \-\-conf " file" +] [ +.BI \-\-pidfile " file" +] [ +.BI \-\-statedir " file" +] [ +.BI \-\-listen " host" +] [ +.BI \-\-net " net" +] [ +.BI \-\-ipup " script" +] [ +.BI \-\-ipdown " script" +] [ +.BI \-\-dynip " net" +] [ +.BI \-\-statip " net" +] [ +.BI \-\-pcodns1 " host" +] [ +.BI \-\-pcodns2 " host" +] [ +.BI \-\-timelimit " seconds" +] +.SH DESCRIPTION +.B ggsn +is part of the +.B OpenGGSN +project, and implements a Gateway GPRS Support Node. It is used by +mobile operators as the interface between the Internet and the rest of +the mobile network infrastructure. + +The GPRS functionality and protocols has been standardised by the +Third Generation Partnership Project (3GPP). According to the 3GPP +specifications a GGSN has two interfaces: The Gn/Gp interface and the +Gi interface. + +The Gn/Gp interface can be seen as the downlink interface of the +GGSN. It is used for communicating with the Serving GPRS Support Node +(SGSN) which again interfaces to the radio access network. The Gn/Gp +interface uses the GPRS tunneling protocol (GTP). User data packets +(typically IP packets) are tunneled over GTP, which again uses UDP +over IP. + +The other interface can be thought of as the uplink interface, and +interfaces the GGSN to an external data network. Gi is most often an +interface to the Internet. +.B ggsn +uses the +.B TUN/TAP driver +for the Gi interface. A tun network interface is established when the +.B ggsn +is started. + +.B ggsn +will accept incoming connections from mobile stations through the +radio access network and the SGSN. When a connection request is +received the ggsn will allocate a dynamic IP address for the mobile +station, and allow the mobile station to access the Gi +interface. Connections are terminated by either the mobile station or +the SGSN. Runtime errors are reported using the +.B syslogd (8) +facility. + +Typically +.B ggsn +will be deployed with two Ethernet interfaces. One for the Gn/Gp +interface, and one for the Gi interface. Policy routing and firewall +rules should be used in order to separate Gi traffic from Gn/Gp +traffic. + +.SH OPTIONS +.TP +.BI --help +Print help and exit. + +.TP +.BI --version +Print version and exit. + +.TP +.BI --fg +Run in foreground (default = off) + +.TP +.BI --debug +Run in debug mode (default = off) + +.TP +.BI --conf " file" +Read configuration +.I file +(default = /etc/ggsn.conf) where each line corresponds to one command +line option, but with the leading '--' removed. Command line options +override the options given in the configuration file. + +.TP +.BI --pidfile " file" +Filename of process id +.I file +(default = /var/run/ggsn.pid) + +.TP +.BI --statedir " path" +.I path +to directory of nonvolatile data (default = /var/lib/ggsn/) + +.TP +.BI --listen " host" +Local interface IP address to use for the Gn/Gp interface. This option +must be specified. For security issues it is not possible to use +INADDR_ANY. + +.TP +.BI --net " net" +Network address of the Gi interface (default = 192.168.0.0/24). The +network address is set during initialisation when +.B ggsn +establishes a tun device for the Gi interface. + +.TP +.BI --ipup " script" +Script executed after the Gi tun network interface has been brought +up. Executed with the following parameters: + +.TP +.BI --ipdown " script" +Script executed after the Gi tun network interface has been taken +down. Executed with the following parameters: + +.TP +.BI --dynip " net" +Dynamic IP address pool. Specifies a pool of dynamic IP addresses. If +this option is omitted the network address specified by the +.BI --net +option is used for dynamic IP address allocation. + +.TP +.BI --pcodns1 " host" +PCO DNS Server 1 (default = 0.0.0.0). PCO stands for Protocol +Configuration options, and is part of the GPRS protocols. It is used +to inform the mobile station about the DNS address to use for host +name resolution. + +.TP +.BI --pcodns2 " host" +PCO DNS Server 2 (default = 0.0.0.0). PCO stands for Protocol +Configuration options, and is part of the GPRS protocols. It is used +to inform the mobile station about the DNS address to use for host +name resolution. + +.TP +.BI --timelimit " seconds" +Exit +.b ggsn +after \fIseconds\fP. Used for debugging. + + +.SH FILES +.I /etc/ggsn.conf +.RS +The configuration file for +.B ggsn. +.RE +.I /var/run/ggsn.pid +.RS +Process ID file. +.RE +.I /var/lib/ggsn +.RS +Directory holding nonvolatile data. +.RE + +.SH BUGS +Report all bugs to the OpenGGSN bug tracking list at +.I http://sourceforge.net/projects/ggsn/ + +.B ggsn +has very limited management support. Currently both SNMP as well as +billing mechanisms are missing. + + +.SH "SEE ALSO" +.BR sgsnemu (8), +.BR syslogd (8) + +.SH NOTES +.LP + +Besides the long options documented in this man page +.B ggsn +also accepts a number of short options with the same functionality. Use +.B ggsn --help +for a full list of all the available options. + +The TUN/TAP driver is required for proper operation of +.B ggsn. +For linux kernels later than 2.4.7 the TUN/TAP driver is included in the kernel, but typically needs to be loaded manually with +.B modprobe tun. +For automatic loading the line +.B alias char-major-10-200 tun +can be added to +.B /etc/modules.conf. +For other platforms see +.I http://vtun.sourceforge.net/tun/ +for information on how to install and configure the tun driver. + +.B ggsn +uses the GPRS Tunneling Protocol (GTP) as specified by the Third +Generation Partnership Project (3GPP). 3GPP protocols specifications +can be found at +.I http://www.3gpp.org + +.SH COPYRIGHT + +Copyright (C) 2002, 2003 by Mondru AB. + +The contents of this file may be used under the terms of the GNU +General Public License Version 2, provided that the above copyright +notice and this permission notice is included in all copies or +substantial portions of the software. + +.SH AUTHORS +Jens Jakobsen