There's a list of public bootstrap nodes, similar to how Tor bootstraps. Nodes report their own IPs as part of a signed (and timestamped) record, which can change over time. Once you've found one node, you can query it for information about its peers. Because connection information ("dialinfo") is signed, it can be re-shared with other peers.
There's also support for nodes that don't have public IPs at all, which connect to the network via some other node acting as a relay. In this case, they report the relay's node ID.