I don't usually have trouble with port forwarding, I've been able to do it successfully on a number of different routers, including Linksys, Belkin, Netgear and Apple (Time Capsule / Airport Extreme).
So I'm quite confused here. I had been using my Apple Time Capsule as my router for a few years now, with several port mappings all working fine. But it died recently, so I've had to resort to using the BT Home Hub 2.0 that was supplied with my BT Infinity broadband subscription.
The forwarding interface for the Home Hub is simplified for the most part, allowing you to select an application or game and assign it to a particular computer on the network which you choose from a list that the Home Hub has 'discovered'.
My Mac Pro has a manually assigned static IP 192.168.1.4 and my router is static at 192.168.1.
I have chosen SSH from the list of applications and assigned it to my Mac Pro (the only computer in the list currently).
The Home Hub also has a feature to keep a DNS service updated, and I have set it to keep my external IP address updated on my hostname. This is how I had it setup in the past with other routers and not had trouble before.
I am able to ping my hostname (and external IP) from outside the network and get a response.
But when I try to connect using SSH, the connection times out.
The Home Hub also has "Firewall settings". The currently selected setting is:
Default: Allow all outgoing connections and block all incoming traffic. Games and application sharing is allowed.
But I've tried changing it to:
Disabled: All traffic is allowed to pass through your BT Home Hub to your devices. Note: you’ll still need to use the games and application sharing feature to make sure that certain applications work properly.
And the connection still times out... So frustrating.
The OS X firewall on my Mac is disabled, so I don't think that's in the way.
I have tried setting the port forwarding manually, instead of relying on the preset "SSH" option (incase it's not using the port I expect). So I set up my own "application" (as the Home Hub calls it) and forwarded external port 22 TCP to internal port 22 TCP to 192.168.1.4 - but that just gives the same result - unable to connect.
Next, with the router's firewall disabled and OS X's firewall disabled, I ran the Shields Up test (https://www.grc.com/x/ne.dll?bh0bkyd2) and the result was that all my service ports (0 - 1055) are in 'Stealth' mode. I.e. nothing even exists at my IP as far as any outsider is concerned... Strange.
The only thing that seems to work is setting my Mac Pro as the DMZ - which I don't want to do for obvious reasons.
Any help with this would be extremely appreciated, thanks.