We consider the problem of designing a minimum cost access network to carry traffic from a set of endnodes to a core network. A set of trunks of K differing types are available for leasing or buying. Some trunk-types have a high initial overhead cost but a low-cost per unit bandwidth. Others have a low overhead cost but a high cost per unit bandwidth. When the central core is given, we show how to construct an access network whose cost is within O(K-2) of optimal, under weak assumptions on the cost structure. In contrast with previous bounds, this bound is independent of the network and the traffic. Typically, the value of K is small. Our approach uses a linear programming relaxation and is motivated by a rounding technique of Shmoys, Tardos and Aardal[15]. Our techniques extend to a more complex situation in which the core is not given a priori. In this case we aim to minimize the switch cost of the core in addition to the trunk cost of the access network. We provide the same performance bound.