ⓘ Accuracy Disclaimer
Technical content in this article was researched and compiled with AI assistance under the direct supervision of the author. While every effort has been made to ensure accuracy, errors may still be present. If you spot an inaccuracy or have a correction, the author welcomes feedback — please reach out at github@it-solutionsusa.com or open an issue at github.com/ikonstas70.
Author: Ioannis Alexander Konstas — IT Solutions USA
Analysis of a Bitcoin node running inside an LXD container (bitcoin-sandbox) on Ubuntu 24.04, confirming correct network isolation from the host LAN.
lxc list
+-----------------+---------+--------------------+-----------------------------------------------+
| NAME | STATE | IPV4 | IPV6 |
+-----------------+---------+--------------------+-----------------------------------------------+
| bitcoin-sandbox | RUNNING | 10.76.85.28 (eth0) | fd42:378b:51f4:dbd1:216:3eff:fea5:503c (eth0)|
+-----------------+---------+--------------------+-----------------------------------------------+
10.76.85.28)lxc exec bitcoin-sandbox -- ss -tuln
| Port | Protocol | Service |
|---|---|---|
| 8333 | TCP (0.0.0.0 + [::]) | Bitcoin P2P — accepts inbound connections |
| 8332 | TCP (127.0.0.1 only) | Bitcoin RPC — localhost only, not exposed externally |
| 8334 | TCP (127.0.0.1 only) | ZMQ / internal Bitcoin service |
| 22 | TCP | SSH — container management |
| 53 | UDP/TCP | Local DNS resolver |
Key finding: RPC (8332) is bound to 127.0.0.1 only — it cannot be reached from outside the container.
lxc exec bitcoin-sandbox -- ping -c 3 192.168.1.1
# Result: 100% packet loss
The container cannot reach your internal LAN. Isolation is confirmed.
name: lxdbr0
config:
ipv4.address: 10.76.85.1/24
ipv4.nat: "true"
ipv6.address: fd42:378b:51f4:dbd1::1/64
ipv6.nat: "true"
lxdbr0 bridge — full control| Check | Result |
|---|---|
| Container isolated from LAN | ✅ Confirmed (100% packet loss to 192.168.1.1) |
| RPC port externally accessible | ✅ No — bound to 127.0.0.1 only |
| Only expected ports open | ✅ 8333 (P2P), 8332 (RPC local), 22 (SSH) |
| Internet access for P2P | ✅ Enabled via NAT |
| IPv6 ULA (not publicly routable) | ✅ fd42::/7 prefix — unique local only |
# Enter the container
lxc exec bitcoin-sandbox -- bash
# Check container network
lxc exec bitcoin-sandbox -- ip addr show eth0
# Monitor open ports
lxc exec bitcoin-sandbox -- ss -tuln
# Check Bitcoin node status from host
lxc exec bitcoin-sandbox -- bitcoin-cli getblockchaininfo
# Stop the container
lxc stop bitcoin-sandbox
# Start the container
lxc start bitcoin-sandbox
The sandbox is operating correctly. Bitcoin P2P traffic flows through NAT to the Internet while the internal LAN remains fully protected. All RPC endpoints are localhost-only. The container cannot be used as a pivot point to reach internal network devices.
© Ioannis Alexander Konstas — IT Solutions USA