Uplink and downlink cloud radio access networks are modeled as two-hop K-user L-relay networks, whereby small base-stations act as relays and are connected to a central processor via orthogonal links of finite capacity. Simplified versions of noisy network coding and distributed decode-forward are used to establish inner bounds on the capacity region for uplink and downlink communications, respectively. Through a careful analysis, the uplink inner bound is shown to achieve the cutset bound on the capacity region universally within O (log L) bits per user. The downlink inner bound achieves the cutset bound with a slightly looser gap of O(log(KL)). These tight per-user gap results are extended to the situations in which the nodes have multiple antennas.