Due to the problems I kept on having with my Windows 7 laptop Hamachi connecting to my Debian Server Hamachi, I have switched VPN solutions. So far I have been pleasantly surprised... it has all of the same features of Hamachi (as far as I can tell) and a few more nice features of it's own. For gaming, hamachi, unfortunately, was slightly weak. Trying to play a CS:S game would fail, as the addresses would not all be class C address. However, with NeoRouter, the IP's are all class C addresses (configurable), so this should not be a problem.
However, NeoRouter has a few more configuration steps that need to be taken for it to be set up, compared to Hamachi. For one thing, you must install a server version of NeoRouter, in addition to all of the client versions. Fortunately, NeoRouter has a Linux version in the form of a .deb package for easy installation on Debian. Running the server install on Debian does not give you any configuration options... once it's installed it's installed and running. Interestingly enough, you are unable to edit the server configuration at at all from a linux machine.. you must have a windows machine... in the same LAN (according to their documentation... you should be able to do it externally.. just have to prep your firewall first). However, once you open the server configuration (shown below), you can edit the options. The small screen on the right is the client view. To access the server options, you need to go to File -> Options and then log on to server. This is done by entering the username and password that you use to log onto your linux box. The logon-to value is the IP address of the linux box. That will bring up the screen shown below. The logon-to value is the name of the "Network" that you created (The first time you logon this will be the IP address of the linux box). The IP address box will show the IP address of the server, and below the port number (32976 is default).
Next, you are able to add user accounts (as shown below). These are user accounts that your friends (or you) can use to log on. The value that these accounts add is that you can assign "User" vs "Administrator" accounts, and give your friends user account credentials to sign onto your network.
The computers tab (shown below) helps regulate access permissions that users have to certain computers. You can add users and then turn the firewall on for that user, and add or delete access to certain parts/ports on your computers... very nice, and it has a granularity that Hamachi does not.
The connections tab allows you to set P2P connection settings. This is a very useful feature, as you can tell the computers in the same network to create direct UDP connections. This should allow for faster connection speeds, as you are able to go directly from peer to peer without interacting with the server. As well, (this is a guess) you may be able to continue utilizing NeoRouter even if the server goes down (as long as the UDP connection stays up, once the UDP connection is lost, you will need the server).
Lastly is the settings dialog (shown below). The "Current domain" shows what domain you are currently logged onto. This is the setting that you defined when you logged on by what you entered into the "log into" box. When you first configure the server, you enter the IP address of the server, and you configure and join the network that way.
However, once you leave the LAN, you would have to enter your external IP address. This obviously becomes very difficult if you have a dynamic IP address.. you would first have to find your IP address before you entered it into the "log-on" box. As well, every time that IP address changed you would have to re-enter it. The domain option changes all this. When you enter a domain name your NeoRouter client sends an https request to the NeoRouter servers (not your server) and checks to see what IP is registered to that domain... so essentially NeoRouter acts as a DDNS server for your VPN. This is one step removed from Hamachi, which also sets up the connections... with NeoRouter your server still handles connections, but your clients contact NeoRouter to find the server. However, I actually have a DDNS account, so I can enter my domain name and I will always be able to find my dynamic IP.
Now I'm going to explain exactly how this works, to the best of my ability.. hopefully this is accurate. The server will receive all requests to join your "domain", (sometimes using NeoRouter's DDNS service) and will then (by default) connect each client directly using UDP, after assigning them all IP addresses. The clients are then able to connect directly as a VPN. If a client loses connection it will again contact the server.
The only other thing left to test is NeoRouter's ability as a service. With Hamachi, you did not have to be logged on to Windows to use Hamachi, we will see if NeoRouter is the same way.
Hope that helps some of you if you wanted a better choice than Hamachi.