If you can't get to your CP via the external IP from within your LAN, but you can from the outside, then something is obviously weird. This problem needs to be fixed first and it may be something to do with firewall rules on either your desktop or server. If you are using a DMZ on your router than perhaps make sure any previous port forwarding rules are removed. This may make no difference but you need to nudge a few things to try and get access from your desktop to the server via the external IP of your router. Running tcpdump
on the server is invaluable but there can be a lot of RTFM involved using it... usually something like tcpdump -i eth0 not port 22
on the server will reveal what traffic is or is not hitting the server.
As for the /etc/hosts "trick", it should not be necessary if you have real registered domains that you can use. But for the sake of testing, something like this...
192.168.1.201 blackbird.mydomain1.tld blackbird
192.168.1.200 www.mydomain1.tld www.mydomain2.tld mydomain1.tld mydomain2.tld
needs to be added to both /etc/hosts (or windows equiv) so that both machines know about each others temporary domainnames for testing. "192.168.1.201" is a placeholder for whatever your desktop IP is.
You might find nano
a friendlier editor unless you actually prefer vi. I use this alias in my ~/.bashrc...
alias e='nano -t -x -c'