In this paper, we exploit the heterogeneity of wireless channels and propose an efficient opportunistic cognitive routing (OCR) scheme for dynamic spectrum access (DSA) networks. We first introduce a novel routing metric by jointly considering physical characteristics of spectrum bands and diverse activities of primary users (PU) in each band. To effectively explore the spectrum opportunities, a proper channel sensing sequence for fast and reliable message delivery is determined by secondary users (SU) in a distributed way. We then develop a greedy forwarding scheme that SUs can select the next hop relay based on the geometry information and channel access opportunity of their one hop neighbors. For the proposed OCR, as routing control messages are locally exchanged, SUs can efficiently make the routing decision and opportunistically access the available channels. We further evaluate the performance of OCR via extensive simulations. It is shown that our proposed scheme outperforms existing opportunistic routing schemes in DSA networks by exploiting the heterogeneity of spectrum bands for opportunistic channel access.