<p>Your experience was coincidental, there's no requirement for <code>bitcoind</code> to be listening on a public interface while using <code>lightningd</code>.</p>

CC BY-SA 4.0
2021-05-05T04:41:02.340Z
Thanks for the concise response! So in order to actually find the problem, where should one start looking? Do you know of documented debugging strategy that is published somewhere?
Mikael Lindqvist
CC BY-SA 4.0
2021-05-05T00:21:05.373Z
2021-05-05T00:21:05.373Z
Claris
<p>I have been part of experimenting with setting up a system to send and receive lightning network payments. The system uses bitcoin-core (bitcoind) and lnd. Initially, the system was set up on a home network, behind a NAT, so neither bitcoind nor lnd could listen for incoming connections from the public internet. In this initial configuration, it was possible to use lnd to send payments, but it could not receive incoming payments.</p>
<p>In the process of troubleshooting, we moved the bitcoind to a server outside the NAT, so it had a public IP number and opened the port 8333 for inbound connections. The lnd server is still behind the NAT, and it does not have any ports opened for inbound connections. Suddenly the system started to work and we could receive incoming lightning networks payments.</p>
<p>So we solved the problem, but I'm kind of baffled as to why this actually works. Was this just a fluke? Or is there a reason why a bitcoin node needs to be able to receive inbound connections in order to properly support a lightning network node?</p>
<p>Edit: For extra context, let me also mention that when using Electrum behind a NAT everything works fine, even though it does not listen to any public port. Which is consistent with the reply I got from @Anonymous.</p>

<bitcoin-core><full-node><lightning-network-daemon>
Why does bitcoind have to listen to the public internet when supporting lnd?
Mikael Lindqvist
# Why does bitcoind have to listen to the public internet when supporting lnd?

(Asked by: username_0 on 2021-05-05)

I have been part of experimenting with setting up a system to send and receive lightning network payments. The system uses bitcoin-core (bitcoind) and lnd. Initially, the system was set up on a home network, behind a NAT, so neither bitcoind nor lnd could listen for incoming connections from the public internet. In this initial configuration, it was possible to use lnd to send payments, but it could not receive incoming payments.

In the process of troubleshooting, we moved the bitcoind to a server outside the NAT, so it had a public IP number and opened the port 8333 for inbound connections. The lnd server is still behind the NAT, and it does not have any ports opened for inbound connections. Suddenly the system started to work and we could receive incoming lightning networks payments.

So we solved the problem, but I'm kind of baffled as to why this actually works. Was this just a fluke? Or is there a reason why a bitcoin node needs to be able to receive inbound connections in order to properly support a lightning network node?

Edit: For extra context, let me also mention that when using Electrum behind a NAT everything works fine, even though it does not listen to any public port. Which is consistent with the reply I got from @Anonymous.

**Tags:** bitcoin-core, full-node, lightning-network-daemon


---

## 1 answers

### Answer by username_1 on 2021-05-05. Score: 1 | Accepted answer

Your experience was coincidental, there's no requirement for `bitcoind` to be listening on a public interface while using `lightningd`.

> **Comments:**
> **username_0**: Thanks for the concise response! So in order to actually find the problem, where should one start looking? Do you know of documented debugging strategy that is published somewhere?  

---

