config for disabling NAT port mapping

This commit is contained in:
Łukasz Magiera 2021-08-27 19:14:29 +02:00
parent 982a3774f1
commit 17b7dcef6f
3 changed files with 17 additions and 1 deletions

View File

@ -195,7 +195,6 @@ var LibP2P = Options(
Override(new(routing.Routing), lp2p.Routing),
// Services
Override(NatPortMapKey, lp2p.NatPortMap),
Override(BandwidthReporterKey, lp2p.BandwidthCounter),
Override(AutoNATSvcKey, lp2p.AutoNATService),
@ -277,6 +276,8 @@ func ConfigCommon(cfg *config.Common, enableLibp2pNode bool) Option {
Override(AddrsFactoryKey, lp2p.AddrsFactory(
cfg.Libp2p.AnnounceAddresses,
cfg.Libp2p.NoAnnounceAddresses)),
If(!cfg.Libp2p.DisableNatPortMap, Override(NatPortMapKey, lp2p.NatPortMap)),
),
Override(new(dtypes.MetadataDS), modules.Datastore(cfg.Backup.DisableMetadataLog)),
)

View File

@ -348,6 +348,15 @@ Format: multiaddress`,
Comment: ``,
},
{
Name: "DisableNatPortMap",
Type: "bool",
Comment: `When not disabled (default), lotus asks NAT devices (e.g., routers), to
open up an external port and forward it to the port lotus is running on.
When this works (i.e., when your router supports NAT port forwarding),
it makes the local lotus node accessible from the public internet`,
},
{
Name: "ConnMgrLow",
Type: "uint",

View File

@ -292,6 +292,12 @@ type Libp2p struct {
BootstrapPeers []string
ProtectedPeers []string
// When not disabled (default), lotus asks NAT devices (e.g., routers), to
// open up an external port and forward it to the port lotus is running on.
// When this works (i.e., when your router supports NAT port forwarding),
// it makes the local lotus node accessible from the public internet
DisableNatPortMap bool
ConnMgrLow uint
ConnMgrHigh uint
ConnMgrGrace Duration