Providing anonymous communications in mobile ad hoc networks (MANETs) is an effective countermeasure against malicious traffic analysis. This paper presents AOS, an Anonymous Overlay System for MANETs, which provides provably strong source and destination anonymity under a rather strong adversary model. AOS differs significantly from previous anonymous communication systems for MANETs mainly in three aspects. First, AOS is an overlay system independent of the underlying MANET protocol stack. Second, AOS resolves the conflict between anonymous communications and secure routing in MANETs and enables providing both at the same time. Last but not least, AOS can satisfy diverse anonymity requirements with different communication and computation overhead. AOS is the first system of its kind, and its efficacy and efficiency are confirmed by detailed qualitative and quantitative analysis.