My first question is, why does it not work in the first case? When I am on the same network? The way I see it, I type the address myfirm.dyndns.com:445 in my browser, DynDNS translates it and I get the address 82.13.45.96:445 and I try to establish the connection with it aaaand... port forwarding doesn't happen? Why?
O encaminhamento de porta não reescreve a fonte, apenas o destino. Isso funciona se a fonte estiver fora da rede, porque esses pacotes já vão para o roteador. Mas se a fonte estiver dentro da rede, o roteador nunca receberá os pacotes de resposta e não poderá reescrevê-los.
Veja o que acontece:
-
A máquina local tenta estabelecer uma conexão com o endereço público.
-
Como esse endereço não é local, ele envia os pacotes para o gateway padrão, o roteador.
-
O roteador, desde que esteja configurado para a porta, reescreve o endereço de destino e encaminha o pacote para o servidor.
-
O servidor forma uma resposta ao pacote, mas percebe que o destino desse pacote é local. Por isso, envia a resposta diretamente para a máquina de origem.
-
A máquina de origem vê uma resposta com um endereço IP local como a origem e não pode associá-la à solicitação de origem enviada, pois essa solicitação tinha um endereço IP de destino não local. Isto é, porque o roteador reescreveu a solicitação mas não pode reescrever a resposta, as respostas não correspondem mais às solicitações.
Você precisa de alguma forma de NAT duplo, como hairpin, se quiser que isso funcione. O encaminhamento de porta não pode fazer isso.
The second question is about NAS. I'd like to access NAS when I am on the ADSL connection as well. Right now I can't, since the NAS is in the 192.168.200 subdomain with its static IP address (there is an error in the picture showing the NAS belongs to the other domain, I made a mistake while drawing it). Is there a way to make this possible?
Atribua estatisticamente à máquina um endereço IP dentro de cada sub-rede.