123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- .\" This file is part of GNUnet.
- .\" Copyright (C) 2001-2019 GNUnet e.V.
- .\"
- .\" Permission is granted to copy, distribute and/or modify this document
- .\" under the terms of the GNU Free Documentation License, Version 1.3 or
- .\" any later version published by the Free Software Foundation; with no
- .\" Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
- .\" copy of the license is included in the file
- .\" FDL-1.3.
- .\"
- .\" A copy of the license is also available from the Free Software
- .\" Foundation Web site at http://www.gnu.org/licenses/fdl.html}.
- .\"
- .\" Alternately, this document is also available under the General
- .\" Public License, version 3 or later, as published by the Free Software
- .\" Foundation. A copy of the license is included in the file
- .\" GPL3.
- .\"
- .\" A copy of the license is also available from the Free Software
- .\" Foundation Web site at http://www.gnu.org/licenses/gpl.html
- .\"
- .\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later
- .\"
- .Dd October 26, 2018
- .Dt GNUNET-NAT 1
- .Os
- .Sh NAME
- .Nm gnunet-nat
- .Nd
- interact with the NAT service
- .Sh SYNOPSIS
- .Nm
- .Op Fl b Ar ADDRESS | Fl \-bind= Ns Ar ADDRESS
- .Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
- .Op Fl e Ar ADDRESS | Fl \-external= Ns Ar ADDRESS
- .Op Fl i Ar ADDRESS | Fl \-in= Ns Ar ADDRESS
- .Op Fl r Ar ADDRESS | Fl \-remote= Ns Ar ADDRESS
- .Op Fl S Ar NAME | Fl \-section= Ns Ar NAME
- .Op Fl s | \-stun
- .Op Fl t | \-tcp
- .Op Fl u | \-udp
- .Op Fl W | \-watch
- .Sh DESCRIPTION
- This tool allows testing various NAT traversal functions, as well as attempting auto-configuration.
- .Sh OPTIONS
- .Bl -tag -width indent
- .It Fl b Ar ADDRESS | Fl \-bind= Ns Ar ADDRESS
- Assume that the service is (locally) bound to ADDRESS.
- .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
- Use the configuration file FILENAME.
- .It Fl e Ar ADDRESS | Fl \-external= Ns Ar ADDRESS
- Assume that ADDRESS is the globally visible address of the peer.
- .It Fl i Ar ADDRESS | Fl \-in= Ns Ar ADDRESS
- Assuming we are listening at ADDRESS for connection reversal requests.
- .It Fl r Ar ADDRESS | Fl \-remote= Ns Ar ADDRESS
- Ask the peer at ADDRESS for connection reversal, using the local address for the target address of the reversal.
- .It Fl S Ar NAME | Fl \-section= Ns Ar NAME
- Name of section in configuration file to use for additional options.
- .It Fl s | \-stun
- Enable processing of STUN requests.
- Will try to read UDP packets from the bind address and handle the packets if they are STUN packets.
- Will only work with UDP.
- .It Fl t | \-tcp
- Use TCP.
- .It Fl u | \-udp
- Use UDP.
- .It Fl W | \-watch
- Watch for connection reversal requests.
- .El
- .Sh EXAMPLES
- .Ss Basic examples
- .Pp
- .Dl # gnunet-nat -i 0.0.0.0:8080 -u
- .Pp
- We are bound to "0.0.0.0:8080" on UDP and want to obtain all applicable IP addresses.
- .Pp
- .Dl # gnunet-nat -i '[::0]':8080 -t
- .Pp
- We are bound to "::0" on port 8080 on TCP and want to obtain all applicable IP addresses.
- .Pp
- .Dl # gnunet-nat -i 127.0.0.1:8080 -u
- .Pp
- We are bound to "127.0.0.1:8080" on UDP and want to obtain all applicable IP addresses:
- .Ss ICMP-based NAT traversal
- .Pp
- .Dl # gnunet-nat -Wt -i 192.168.178.12:8080
- .Pp
- Watch for connection reversal request (you must be bound to NAT range or to wildcard, 0.0.0.0), only works for IPv4:
- .Pp
- .Dl # gnunet-nat -t -r 1.2.3.4:8080 -i 2.3.4.5:8080
- .Pp Initiate connection reversal request from peer at external IPv4 address 1.2.3.4, while we are running ourselves at 2.3.4.5:8080 (must use IPv4 addresses):
- .Pp
- .Dl # gnunet-nat -t -r 1.2.3.4:8080 -i 0.0.0.0:8080
- .Pp
- Initiate connection reversal request from peer at external IPv4 address 1.2.3.4, and let the kernel fill in whatever IPv4 address we happen to have:
- .Ss Manual hole punching
- .Pp
- .Dl # gnunet-nat -t -p AUTO:8080
- .Pp
- Assume manually punched NAT, but determine external IP automatically:
- .Ss STUN-based XXX:
- .Pp
- .Dl # gnunet-nat FIXME -s
- .Pp
- XXX
- .Sh SEE ALSO
- .Xr gnunet-transport 1
- .sp
- The full documentation for gnunet is maintained as a Texinfo manual.
- If the
- .Xr info 1
- and gnunet programs are properly installed at your site, the command
- .Pp
- .Dl info gnunet
- .Pp
- should give you access to the complete handbook,
- .Pp
- .Dl info gnunet-c-tutorial
- .Pp
- will give you access to a tutorial for developers.
- .sp
- Depending on your installation, this information is also available in
- .Xr gnunet 7 and
- .Xr gnunet-c-tutorial 7 .
- .\".Sh HISTORY
- .\".Sh AUTHORS
- .Sh BUGS
- Report bugs by using
- .Lk https://bugs.gnunet.org
- or by sending electronic mail to
- .Aq Mt gnunet-developers@gnu.org .
|