You want them all doing 301 redirects to the website, you can use free 301 redirect tools like those from GoDaddy or if your server/hosting allows for this that would be the better option.
If you do 301 redirects then your rankings often will increase as the value from the other names are passed to your main site, if you mirror them or 302 then you run into problems, won't go into all the problems as the solution is just to use 301 and you will have no problems.
So if I want to have 20 more mirror domains will I need seperate hosting for each domain?
In a word, yes. You cannot perform a permanent redirect from the DNS zone file and "mask" the url as they say. In order for permanent redirection the request must travel beyond the name server to the http server where the host container resides for each domain. You can lump them all in one virtual host container by using a ServerAlias directive. Inside that virtual host container you redirect to the canonical domain.
what are you trying to achieve by pointing 20-30 domains to one site?
Likely name-branding on the TLD (.com, .net, .org, etc) and/or variations of brand name in the domain label itself, perhaps full company name, company initials, etc.
free 301 redirect tools
Nothing is free :) The "free" service at GoDaddy only exists if you register the domain name(s) there. At that point, GoDaddy has the http service available to perform your redirection.
The reason for wanting 20+ is as coopster says, tlds and different name combinations etc.
So to clarify, if I register all the new domains with godaddy there will be an option within the godaddy account to have all the domains point to my site that is hosted with hosting company? And this will be available without the need for hosting for each new domain?
Is using the 301 method the same as an alias? As that is what I currently have with the extra domain? Or is it complexly different?