you definately need a firewall to block traffic from getting into your network. Top end are Cisco routers, and depending on your needs you might want to consider a SonicWall router for its blocking capabilities. However, for a DSL connection a common D-Link or Netgear DSL/Cable firewall router will give you internet access. If your needs increase beyond providing basic services on the internet and also providing inbound services you may want to consider going to a mid range firewall. Firewalls do a great job, but if you intend to serve web or FTP service to people on the internet accessing your systems you will need someone to configure it if you do not know how. If you check with a local networking company they can set it up for you.
Having 150 computers you definitely want to get switches and not hubs to start segmenting the traffic on the network and cut down on collisions which will slow down your network. You also have to consider your network infrastructure, how the cabling is done, and what the needs of your users are. Make sure all your cables terminate in a patch panel, and get a handful of switches. Definitely take the time to figure out and label every port on the patch panel, because trust me, you will thank yourself for it later.
Are you going to be setting up a windows network or something else? You will want to setup one of your servers to be a DHCP server to hand out addresses to the computers on the network. This server can also do the DNS for you. All computers can get their DNS information from it and that server can go out the router to get it’s DNS information from your ISP.
Are you going to log internet traffic and block sites such as pornography and such? Some companies don’t care but it is becoming increasingly more important to block such sites because if an employee walks by and sees it on another person’s computer they will sue stating that you did nothing to stop this activity and it “harmed” them in some way. If so look into software such as SurfControl, Barracuda Webfilter from Barracuda Networks, Web Washer from Secure Computing or other such products. SpecterSoft is another good utility, but it’s more for spying and tracking than for blocking.
You will want to setup a server for File and Print services. This is where everyone will share their files and printers on the network. Setup a USER share and have each person have their H: (HOME) directory point to a folder within that share named after their username. You could also setup mappings for a G: (GROUP) drive for each department so that, for example, everyone in accounting will have an ACCOUNTING share mapped to their G: drive for sharing files only within their department. Then you could also have a PUBLIC FOLDER share mapped to everyone’s W: (WORLD) drive that everyone in the company could see. These are just a few suggestions.
Managing all these resources would best be done if you create a local domain. If it’s windows, active directory will handle your needs and it’s included in the server software. I would recommend at least 2 domain controllers. A separate email server running Microsoft exchange will inteegrate nicely with AD.
For email, Spam/vulnerability filtering is a must. Appliances are available as well as outside services (MXLogic is very nice) can mitigate email problems. I suggest you contact some local IT consultants, send out an RFP (request for proposal), and let them provide possible solutions that will fit your needs