Using a router with NAT is most likely enough...
NAT = Network Address translation. One your computers side of the router, you typically use
RFC 1918 address space. These addresses include:
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
These router/NAT boxes typically have two IP addresses. One is in one of the ranges above (the INTERNAL interface) and is usually configured as the default gateway on your computers using Dynamic Host Configuration Protocol (DHCP). The other is a globally routable (hopefully) address from your ISP (EXTERNAL interface).
In the most secure mode, your router/NAT box has no open ports on its external interface. You can think of these ports as extensions on a company phone line. There are over 65000 ports associated with any given IP address. When you want to run a server of some kind, like a file server, a web server, a mail server, an iTunes sharing server, your computer "opens" a specific port number and associates it with that specific computer process. If you open up an terminal window you can type:
<b>less /etc/services</b>
This will show you the names of some of the servers your computer might possibly run.
So, with a super secure NAT box, there are no open ports for any hacker to access any of your machines.
When you want to talk to the outside world, the NAT box alters the packets and make them look like they come from the router. It then keeps track of the source and destination IP address and port along with the protocol (UDP, TCP, RTP). Packets arriving from the Internet on the routers external interface are compared to this table. If the packet matches an existing flow, it is rewritten so that the destination address matches the computer on your internal network that initiated the flow.
There are other options, but my baby needs attention. They are less secure and only if you need to run a server on your machine.