style fix
[oweals/gnunet.git] / doc / man / gnunet-nat-server.1
1 .\" This file is part of GNUnet.
2 .\" Copyright (C) 2001-2019 GNUnet e.V.
3 .\"
4 .\" Permission is granted to copy, distribute and/or modify this document
5 .\" under the terms of the GNU Free Documentation License, Version 1.3 or
6 .\" any later version published by the Free Software Foundation; with no
7 .\" Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
8 .\" copy of the license is included in the file
9 .\" FDL-1.3.
10 .\"
11 .\" A copy of the license is also available from the Free Software
12 .\" Foundation Web site at http://www.gnu.org/licenses/fdl.html}.
13 .\"
14 .\" Alternately, this document is also available under the General
15 .\" Public License, version 3 or later, as published by the Free Software
16 .\" Foundation.  A copy of the license is included in the file
17 .\" GPL3.
18 .\"
19 .\" A copy of the license is also available from the Free Software
20 .\" Foundation Web site at http://www.gnu.org/licenses/gpl.html
21 .\"
22 .\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later
23 .\"
24 .Dd February 25, 2012
25 .Dt GNUNET-NAT-SERVER 1
26 .Os
27 .Sh NAME
28 .Nm gnunet-nat-server
29 .Nd
30 help GNUnet setup test network setup with NAT
31 .Sh SYNOPSIS
32 .Nm
33 .Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
34 .Op Fl d | \-daemonize
35 .Op Fl h | \-help
36 .Op Fl L Ar FILENAME | Fl \-logfile= Ns Ar FILENAME
37 .Op Fl v | \-version
38 .Ao Ar PORT Ac
39 .Sh DESCRIPTION
40 Running a gnunet-nat-server is similar to running a hostlist server: it is a special service to the community with special requirements and no benefit to those running the service.
41 .Pp
42 This program will listen on the specified
43 .Ar PORT
44 for incoming requests to test a peer's network connectivity.
45 Incoming requests can ask it to connect to a given IPv4 address (and port) using TCP or UDP and to send a 2-byte test message using the specified address.
46 The program can also be asked to send a "fake" ICMP response message to a given IPv4 address (for autonomous NAT traversal --- see the description in the respective research paper).
47 .Pp
48 The idea is that gnunet-nat-server will be run on some trusted hosts with unrestricted connectivity to allow GNUnet users to test their network configuration.
49 As written, the code allows any user on the Internet to cause the gnunet-nat-server to send 2-bytes of arbitrary data to any TCP or UDP port at any address.
50 We believe that this is generally harmless.
51 .Pp
52 When running gnunet-nat-server, make sure to use a configuration that disables most NAT options but enables 'enable_nat_client' and sets 'internal_address' to the global IP address of your local host.
53 Also, the gnunet-helper-nat-client should be installed locally and run with root privileges (SUID), otherwise the gnunet-nat-server will not work properly.
54 .Pp
55 Note that gnunet-nat-server could be run via gnunet-arm but typically is not.
56 Also, the name of the host and port that gnunet-nat-server is run on should be specified in the NATSERVER option in the [setup] section of the configuration file of hosts that are supposed to autoconfigure with this server.
57 .Pp
58 Normal GNUnet end-users should not concern themselves with gnunet-nat-server.
59 In fact, distributions are encouraged to consider not shipping it at all.
60 .Pp
61 The options are as follows:
62 .Bl -tag -width indent
63 .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
64 Use the configuration file
65 .Ar FILENAME .
66 .It Fl d | \-daemonize
67 Daemonize gnunet-nat-server (detach from terminal).
68 .It Fl h | \-help
69 Print the help page.
70 .It Fl L Ar LOGLEVEL | Fl \-log= Ns Ar LOGLEVEL
71 Configure logging to use
72 .Ar LOGLEVEL .
73 .It Fl l Ar FILENAME | Fl \-logfile= Ns Ar FILENAME
74 Configure logging to write logs to
75 .Ar FILENAME .
76 .It Fl v | \-version
77 Print the GNUnet version.
78 .El
79 .\".Sh EXAMPLES
80 .Sh SEE ALSO
81 .Xr gnunet-transport 1
82 .sp
83 The full documentation for gnunet is maintained as a Texinfo manual.
84 If the
85 .Xr info 1
86 and gnunet programs are properly installed at your site, the command
87 .Pp
88 .Dl info gnunet
89 .Pp
90 should give you access to the complete handbook,
91 .Pp
92 .Dl info gnunet-c-tutorial
93 .Pp
94 will give you access to a tutorial for developers.
95 .sp
96 Depending on your installation, this information is also available in
97 .Xr gnunet 7 and
98 .Xr gnunet-c-tutorial 7 .
99 .\".Sh HISTORY
100 .\".Sh AUTHORS
101 .Sh BUGS
102 Report bugs by using
103 .Lk https://bugs.gnunet.org
104 or by sending electronic mail to
105 .Aq Mt gnunet-developers@gnu.org .