gnunet-nat-server.1 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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 help GNUnet setup test network setup with NAT
  30. .Sh SYNOPSIS
  31. .Nm
  32. .Op Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME
  33. .Op Fl d | -daemonize
  34. .Op Fl h | -help
  35. .Op Fl L Ar FILENAME | Fl -logfile= Ns Ar FILENAME
  36. .Op Fl v | -version
  37. .Ao Ar PORT Ac
  38. .Sh DESCRIPTION
  39. 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.
  40. .Pp
  41. This program will listen on the specified
  42. .Ar PORT
  43. for incoming requests to test a peer's network connectivity.
  44. 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.
  45. 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).
  46. .Pp
  47. 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.
  48. 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.
  49. We believe that this is generally harmless.
  50. .Pp
  51. 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.
  52. 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.
  53. .Pp
  54. Note that gnunet-nat-server could be run via gnunet-arm but typically is not.
  55. 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.
  56. .Pp
  57. Normal GNUnet end-users should not concern themselves with gnunet-nat-server.
  58. In fact, distributions are encouraged to consider not shipping it at all.
  59. .Pp
  60. The options are as follows:
  61. .Bl -tag -width indent
  62. .It Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME
  63. Use the configuration file
  64. .Ar FILENAME .
  65. .It Fl d | -daemonize
  66. Daemonize gnunet-nat-server (detach from terminal).
  67. .It Fl h | -help
  68. Print the help page.
  69. .It Fl L Ar LOGLEVEL | Fl -log= Ns Ar LOGLEVEL
  70. Configure logging to use
  71. .Ar LOGLEVEL .
  72. .It Fl l Ar FILENAME | Fl -logfile= Ns Ar FILENAME
  73. Configure logging to write logs to
  74. .Ar FILENAME .
  75. .It Fl v | -version
  76. Print the GNUnet version.
  77. .El
  78. .\".Sh EXAMPLES
  79. .Sh SEE ALSO
  80. .Xr gnunet-transport 1
  81. .sp
  82. The full documentation for gnunet is maintained as a Texinfo manual.
  83. If the
  84. .Xr info 1
  85. and gnunet programs are properly installed at your site, the command
  86. .Pp
  87. .Dl info gnunet
  88. .Pp
  89. should give you access to the complete handbook,
  90. .Pp
  91. .Dl info gnunet-c-tutorial
  92. .Pp
  93. will give you access to a tutorial for developers.
  94. .sp
  95. Depending on your installation, this information is also available in
  96. .Xr gnunet 7 and
  97. .Xr gnunet-c-tutorial 7 .
  98. .\".Sh HISTORY
  99. .\".Sh AUTHORS
  100. .Sh BUGS
  101. Report bugs by using
  102. .Lk https://bugs.gnunet.org
  103. or by sending electronic mail to
  104. .Aq Mt gnunet-developers@gnu.org .