Consult reference works or websites on genealogy, paying special attention to both the origins of names and the various spellings or forms in which they occur. Once you have a sizeable collection of names you can now begin to work with them, to play games with them. For instance, you could try matching a list of first names against another of surnames to see what combinations take your fancy. For fun alter the spelling or transpose some letters in a name to see what you end up with. Simple reversals sometimes work out very well, as instanced by Nomar Garciaparra, the baseball player, whose first name is 'Ramon' spelt backwards.
Spoonerisms are always fun and a good way to derive an unusual name.
Purely by virtue of his name the character grew in stature and started demanding a greater role in the story. You cannot, for instance, call your hero Hamlet, no matter how tough-minded and decisive he is. And naming your heroine's love interest in a Harlequin romance Richard Speck would be a major mistake. Using a particular name because it has a special meaning or resonance for you, or because you think the character is 'typical' of persons bearing that name. And finally, do not for any reason use the names of individuals known to you, unless, of course, you would like to be involved in a lawsuit.