Steam.exe (main exception): To run Steam, you must first connect to the Internet
I tried changing port-forwarding rules in my router, and disabling the Windows firewall entirely. In the end, the problem turned out to be PeerBlock, which is used in P2P networking. PeerGuardian would cause the same problem, as would any software which performs network blocking functionality.
Rather than disable PeerBlock, I added Steam’s servers to PeerBlock’s allowed list. To do this, open PeerBlock and, as Valve servers appear on the list, right click them and select “Allow x.x.x.x permanently”:
Connections to Valve’s servers should appear in the TCP range of 27014 – 27050 and UDP 4380, and 27000 – 27030. It appears that their servers are identified as “VALVE CORPORATION” or “Limelight Networks”.