I want to add a defined level of noise to a low-noise/exact signal generator which produces around 2 Mhz. I heard Zener diodes should be good for that job. But how can I get a defined level of noise onto my signal?
Zener noise is variable depending on the device fabrication and parameters, so you can't in general get a fixed noise level from a zener in the same way that you can just order a 5.6V Zener and know that it'll produce that certain breakdown voltage with whatever tolerance is applicable. Of course you can buy characterized and specified purpose built noise diodes which will be guaranteed to produce a certain characteristic of noise under a given set of operating conditions but these are rare or expensive or not necessarily applicable depending on how you want your noise shaped.
The other commenter is correct that you can use a noise source and a variable or selected attenuator to produce a given maximum noise level from a source or some attenuated value from that source, though the source noise density and bandwidth itself might vary depending on age, voltage, current, temperature, load impedance, et. al. so you'll need to measure and select a configuration to produce the appropriate level output for a given source and operating condition.
A common way to adjust the level of a signal would be to use an AGC amplifier such that you apply a variable gain or loss to an input signal such that the power or peak or envelope of the output signal is at some predefined level, and the "automatic" part of the "gain control" will act as a control system to keep the level within your desired setpoint. There are many AGC amplifiers for RF / IF applications that would be applicable -- check Analog Devices, Linear Technology, TI, AVAGO and similar vendors for part options.
Many kinds of resistors have theoretically predictable thermal noise characteristics depending on the measurement bandwidth, resistor temperature, and resistance value, though the noise level is generally much lower than a good noise diode, and often controlled relatively high temperatures are required to generate a lot of noise (relative to other options).
You could use a peseudo random digital generator made by a CPLD, MCU, or other logic device implementing a LFSR or other pseudo random sequence generator and feed that output through whatever kind of DAC, filter, and buffer you require to get a fixed level noise output -- the DAC would generate a predictable output level and the filter / buffer would have known spectral shape and gain/loss.
I suggest a properly biased zener diode with appropriate shielding and construction, in an oven if necessary, followed by an AGC amplifier and filter. If I recall correctly you could probably find some application notes about such a setup from places like LINEAR TECHNOLOGY, AVAGO, the old AGILENT / HP diodes/discretes ANs, BSTJ, probably M/A-COM, maybe FAIRCHILD or MICROCHIP or ON-SEMI / old Motorola. Maybe the old National Semiconductor linear applications too.
If you used a small FPGA plus DDS or Sigma Delta DAC you could probably generate a selectable level / spectrally colored noise (if that matters to you) relatively easily.
Edit -- more information --
(see pages 24-26, and appendix b of an61)
YOu can amplify diode noise and control the bandwidth any way you wish. My preferred way to inject noise in a controlled way is to use a switch selector RF attenuator and a splitter to combine the signals. Otherwise you could use a pot and a splitter and measure the SNR on a scope or spectrum analyzer.