Numerical Calculation of impulse response out of frequency response
I would suggest the frequency sampling design method, which results in a linear phase FIR filter. You sample the desired magnitude on an equidistant grid, add a linear phase term, and then you compute the impulse response by taking an inverse DFT. The resulting impulse response is usually windowed. I've explained the details in this answer, which also includes some Matlab/Octave code. Note that windowing is not done in that simple code fragment.