GNUNET-NAT(1)

NAME
gnunet-nat - interact with the NAT service

SYNOPSIS
gnunet-nat [-b ADDRESS | --bind=ADDRESS] [-c FILENAME | --config=FILENAME] [-e ADDRESS | --external=ADDRESS] [-i ADDRESS | --in=ADDRESS] [-r ADDRESS | --remote=ADDRESS] [-S NAME | --section=NAME] [-s | --stun] [-t | --tcp] [-u | --udp] [-W | --watch]

DESCRIPTION
This tool allows testing various NAT traversal functions, as well as attempting auto-configuration.

OPTIONS

-b ADDRESS | --bind=ADDRESS
    Assume that the service is (locally) bound to ADDRESS.

-c FILENAME | --config=FILENAME
    Use the configuration file FILENAME.

-e ADDRESS | --external=ADDRESS
    Assume that ADDRESS is the globally visible address of the peer.

-i ADDRESS | --in=ADDRESS
    Assuming we are listening at ADDRESS for connection reversal requests.

-r ADDRESS | --remote=ADDRESS
    Ask the peer at ADDRESS for connection reversal, using the local address for the target address of the reversal.

-S NAME | --section=NAME
    Name of section in configuration file to use for additional options.

-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.

-t | --tcp
    Use TCP.

-u | --udp
    Use UDP.

-W | --watch
    Watch for connection reversal requests.

EXAMPLES

  Basic examples

    # gnunet-nat -i 0.0.0.0:8080 -u

We are bound to "0.0.0.0:8080" on UDP and want to obtain all applicable IP addresses.

    # gnunet-nat -i '[::0]':8080 -t

We are bound to "::0" on port 8080 on TCP and want to obtain all applicable IP addresses.

    # gnunet-nat -i 127.0.0.1:8080 -u

We are bound to "127.0.0.1:8080" on UDP and want to obtain all applicable IP addresses:

  ICMP-based NAT traversal

    # gnunet-nat -Wt -i 192.168.178.12:8080

Watch for connection reversal request (you must be bound to NAT range or to wildcard, 0.0.0.0), only works for IPv4:

    # gnunet-nat -t -r 1.2.3.4:8080 -i 2.3.4.5:8080

    # gnunet-nat -t -r 1.2.3.4:8080 -i 0.0.0.0:8080

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:

  Manual hole punching

    # gnunet-nat -t -p AUTO:8080

Assume manually punched NAT, but determine external IP automatically:

  STUN-based XXX:

    # gnunet-nat FIXME -s

XXX

SEE ALSO
gnunet-transport(1)

The full documentation for gnunet is maintained as a Texinfo manual. If the info(1) and gnunet programs are properly installed at your site, the command

    info gnunet

should give you access to the complete handbook,

    info gnunet-c-tutorial

will give you access to a tutorial for developers.

Depending on your installation, this information is also available in gnunet(7) and gnunet-c-tutorial(7).

BUGS
Report bugs by using https://bugs.gnunet.org or by sending electronic mail to <gnunet-developers@gnu.org>.