Bitcoin Core – Listening Node Behind CG-NAT

My router is behind CG-NAT protocol.
I suspect this because my WAN IP and public IP are different.
This way I can’t run a full listening node because my public IP doesn’t uniquely identify me.
As a result, exposing port 8333 on your router will not allow inbound node connections.
So you can run a fully validating node, but you can’t run a receiving node because it can’t receive incoming requests.
Bitcoin Core v22.0.0 - 70016/Satoshi:22.0.0/
ipv4 ipv6 onion total block
in 0 0 0 0
out 10 0 0 10 2
total 10 0 0 10
I find being a leech very unsatisfying.
To solve this problem, I tried exposing the server running my btc node using a cloudflare tunnel. Cloudflared configuration below:
tunnel: <my_tunnel_id_string>
credentials-file: /home/me/.cloudflared/<my_tunnel_id_string>.json
ingress:
- hostname: dashboard.<my_domain>.online
service: http://192.168.20.16:8333
- service: http_status:404
warp-routing:
enabled: true
The Cloudflare tunnel is working successfully. For example, I can expose a nextcloud instance on port 80, but I still can’t get my nodes to accept inbound connections.
This problem is driving me crazy.
Thanks for your help.