Making internet interaction universal

Typically you have:

INTERNET
|
|
___________________________________________
|    external ip (example): 252.66.75.43   |
|                                          |
|    YOUR ROUTER                           |
|                                          |
|   manages internal ip ranges like        |
|   192.168.1.1 - 192.168.255.255          |
--------------------------------------------
|       |          |              |   
|     PC#1        PC#2      Personal Computer#3
|      
ARDUINO server
(internal/local IP: 192.168.2.2 port 80)

Then you need to:

  1. From a PC, enter into the router (usually 192.168.1.1) and configure it to forward the (internal) port 80 of the address 192.168.2.2 (Arduino) to the 80 (external) port. (You can also map the internal 80 to another external port, for example 8080, 65000, ...)
  2. Access Arduino from INTERNET using the external address of your router (example): 252.66.75.43:80 (or 252.66.75.43:8080, or 252.66.75.43:65000, using the port configured in point 1)

NOTE: since the (external) address of the router could change in the time, most router have a function called DDNS (Dynamic DNS.. wikipedia), where you can link your (changing) current router external address to a fixed web address. Try services like tzo, no-ip or ddns.org.
In this case, the point 2 becomes:

2.b Access your Arduino from an address like: www.youraddressname.ddns.org:80 (or :8080, or :65000, ... as in point 1)

Bye!

Moderator edit: [code] ... [/code] tags added. (Nick Gammon)