Use a NE555 astable timer. See http://www.doctronics.co.uk/555.htm#astable . If you need to keep the same duty cycle as you vary the frequency, then varying the capacitor is best. If you want a 50% duty cycle, then divide the NE555 output by 2 with a 7474 D-type flip flop, which would then permit varying a resistor to vary frequency.
They also make direct digitial synthesization chips. I know maxim makes one. I think this method is filling the space where analog waveform chips have begun to be obsolete or at least to not be manufactured anymore.