По-поводу пробрасывания портов на примере SSH (22/tcp). Правда, у меня другой DLink, в нём это делается так: Advanced -> Virtual Server -> (edit...) -> Apply:
Name Helper: SSH
Protocol Type: tcp
Public Port(s): 2222-2222
Private Port(s): 22-22
Private IP: 192.168.0.2
Входящий пакет приходит на внешний IP - X.X.X.X:2222
Модем его пробрасывает на локальный IP - 192.168.0.2:22
С т.з. хоста 192.168.0.2, должен быть открыт порт 22 на прослушивание. /etc/ssh/sshd_config (или где он там в альте?):
Port 22
Protocol 2
AddressFamily inet
ListenAddress 192.168.0.2
Фаер тоже должен пропускать:
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
Проверяем так:
после запуска SSHD, netstat -Ainet -lp|grep ssh
должен показать один слушающий (LISTEN) процесс.
Соединяемся из-вне так:
ssh -4 -p 2222 -l username X.X.X.X ;)