Running services behind firewall

This web service is running at my home. The network structure is like:

Internet <-+
           |
         +------+
         |Router|
         +------+
             |    Internal network
             +-------------+--------...-----+----
                           |                |
                        +------+          +----+
                        |Sheeva|          | PC |
                        +------+          +----+

I am running the web service on Sheeva on port 8080.

Since the router gets dynamic IP address, I need to use nusupdate to update an entry of DNS A records of www.gniibe.org. See nsupdate for a machine behind firewall with dynamic IP address for detail.

Since the service is running on Sheeva and it's in internal network, I need port forwardings from Router. I use UPnP for the setup. See UPnP and running a web service behind firewall for detail.

Since I want to access www.gniibe.org from my PC at home as well as from outside, I am running local name server on Sheeva to serve gniibe.org for internal network. This technic is called 'Split horizon DNS'.

While HTTP access from outside goes through the port forwarding 80 to 8080, internal HTTP access goes to the port 80. It is needed to redirect this. See Running port 8080 but accessing through port 80 for detail.