If you are using an old version of the notebook, the following could still apply. For new versions see the other answers below.
Relevant section of the IPython docs
The Notebook server listens on localhost by default. If you want it to be visible to all machines on your LAN, simply instruct it to listen on all interfaces:
ipython notebook --ip='*'
Or a specific IP visible to other machines:
ipython notebook --ip=192.168.0.123
Depending on your environment, it is probably a good idea to enable HTTPS and a password when listening on external interfaces.
If you plan on serving publicly a lot, then it’s a also good idea to create an IPython profile (e.g. ipython profile create nbserver) and edit the config accordingly, so all you need to do is:
ipython notebook --profile nbserver
To load all your ip/port/ssl/password settings.