github.com/decred/dcrlnd@v0.7.6/docs/nat_traversal.md (about) 1 # NAT Traversal 2 3 `dcrlnd` has support for NAT traversal using a number of different techniques. 4 At the time of writing this documentation, UPnP and NAT-PMP are supported. NAT 5 traversal can be enabled through `dcrlnd`'s `--nat` flag. 6 7 ```shell 8 $ dcrlnd ... --nat 9 ``` 10 11 On startup, `dcrlnd` will try the different techniques until one is found that's 12 supported by your hardware. The underlying dependencies used for these 13 techniques rely on using system-specific binaries in order to detect your 14 gateway device's address. This is needed because we need to be able to reach the 15 gateway device to determine if it supports the specific NAT traversal technique 16 currently being tried. Because of this, due to uncommon setups, it is possible 17 that these binaries are not found in your system. If this is case, `dcrlnd` will 18 exit stating such error. 19 20 As a bonus, `lnd` spawns a background thread that automatically detects IP 21 address changes and propagates the new address update to the rest of the 22 network. This is especially beneficial for users who were provided dynamic IP 23 addresses from their internet service provider.