Merge branch 'master' of ssh://gnunet.org/gnunet
[oweals/gnunet.git] / doc / man / gnunet-nat.1
1 .TH GNUNET\-NAT 1 "27 Nov 2016" "GNUnet"
2
3 .SH NAME
4 gnunet\-nat \- interact with the NAT service
5
6 .SH SYNOPSIS
7 .B gnunet\-nat
8 .RI [ options ]
9 .br
10
11 .SH DESCRIPTION
12
13 This tool allows testing various NAT traversal functions, as well
14 as attempting auto\-configuration.
15
16 .SH OPTIONS
17
18 .B
19 .IP "\-b ADDRESS,  \-\-bind=ADDRESS"
20 Assume that the service is (locally) bound to ADDRESS.
21
22 .B
23 .IP "\-c FILENAME,  \-\-config=FILENAME"
24 Use the configuration file FILENAME.
25
26 .B
27 .IP "\-e ADDRESS,  \-\-external=ADDRESS"
28 Assume that ADDRESS is the globally visible address of the peer.
29
30 .B
31 .IP "\-i ADDRESS,  \-\-in=ADDRESS"
32 Assuming we are listening at ADDRESS for connection reversal requests.
33
34 .B
35 .IP "\-r ADDRESS,  \-\-remote=ADDRESS"
36 Ask the peer at ADDRESS for connection reversal, using the local
37 address for the target address of the reversal.
38
39 .B
40 .IP "\-S NAME,  \-\-section=NAME"
41 Name of section in configuration file to use for additional options.
42
43 .B
44 .IP "\-s,  \-\-stun"
45 Enable processing of STUN requests.  Will try to read UDP packets from
46 the bind address and handle the packets if they are STUN packets. Will
47 only work with UDP.
48
49 .B
50 .IP "\-t,  \-\-tcp"
51 Use TCP.
52
53 .B
54 .IP "\-u,  \-\-udp"
55 Use UDP.
56
57 .B
58 .IP "\-W,  \-\-watch"
59 Watch for connection reversal requests.
60
61 .SH EXAMPLES
62 .PP
63
64 \fBBasic examples\fR
65
66 We are bound to "0.0.0.0:8080" on UDP and want to obtain all
67 applicable IP addresses:
68
69   # gnunet-nat -i 0.0.0.0:8080 -u
70
71 We are bound to "::0" on port 8080 on TCP and want to obtain all
72 applicable IP addresses:
73
74   # gnunet-nat -i '[::0]':8080 -t
75
76 We are bound to "127.0.0.1:8080" on UDP and want to obtain all
77 applicable IP addresses:
78
79   # gnunet-nat -i 127.0.0.1:8080 -u
80
81 \fBICMP-based NAT traversal:\fR
82
83 Watch for connection reversal request (you must be bound to NAT range
84 or to wildcard, 0.0.0.0), only works for IPv4:
85
86   # gnunet-nat -Wt -i 192.168.178.12:8080
87
88 Initiate connection reversal request from peer at external IPv4
89 address 1.2.3.4, while we are running ourselves at 2.3.4.5:8080 (must
90 use IPv4 addresses):
91
92   # gnunet-nat -t -r 1.2.3.4:8080 -i 2.3.4.5:8080
93
94 Initiate connection reversal request from peer at external IPv4
95 address 1.2.3.4, and let the kernel fill in whatever IPv4 address we
96 happen to have:
97
98   # gnunet-nat -t -r 1.2.3.4:8080 -i 0.0.0.0:8080
99
100 \fBManual hole punching:\fR
101
102 Assume manually punched NAT, but determine external IP automatically:
103
104   # gnunet-nat -t -p AUTO:8080
105
106 \fBSTUN-based XXX:\fR
107
108 XXX:
109
110   # gnunet-nat FIXME -s
111
112
113 .SH BUGS
114 Report bugs by using Mantis <https://gnunet.org/bugs/> or by sending electronic mail to <gnunet\-developers@gnu.org>
115
116 .SH SEE ALSO
117 gnunet\-transport(1)
118