Since I now have two computers, it was time to start messing around with networking them. I've done it a little bit before, but mainly just sharing files when I was at home.
The first problem was I had nicked the graphics card out of my old computer, and so it refused to boot. Thankfully at work they've got load of old ones they don't need, so I got one of those installed (though the computer doesn't need it at all).
When I was winding down my old computer (named 'edwards'), I set it up with future networking in mind, and the fact that I wouldn't be able to log in directly to change stuff - set a static local network IP address, enabled the 'eth0' ethernet interface on boot, set some firewall rules, and set sshd to run so I could log in and change stuff.
On the new computer ('calvin'), all I then had to do was configure the ethernet card with another static IP and turn on the device, and it worked - they would talk over ssh and I could log on to each machine from the other.
The first network problem I had was that turning on 'eth0' on calvin had set a new default route, so my normal Internet wouldn't work (it was trying to route it through edwards, which isn't connected to the net). Removing this route and adding the correct one with the 'route' command worked, and I eventually found the configuration file to stop it happening by default (Mandrake organises things quite different from Debian here) - setting "GATEWAYDEV=ppp0" in "/etc/sysconfig/network" seemed to do the trick. I added 'calvin' and 'edwards' to the respective /etc/hosts files on each machine, so they can now talk on a first name basis.
Mandrake's 'Internet connection sharing' worked fine when I let it do all the configuration itself, but I decided it was overkill - it was loading DHCP servers and other things I didn't need. Being a firm believer in 'KISS' (Keep It Simple Stupid), and also in understanding what I'm doing a bit more, I disabled it and used Guidedog instead, which was very, very simple to use. I'm using its sister program Guarddog to configure the firewall on each machine, which works very well.
(While I'm here, Guarddog is a great example of a firewall done right. If you know nothing about firewalls or networks, you have to consult the help file in order to use it, which is exactly the way It Ought To Be (contrary to what a lot of people think and like), since you must know what a security tool does in order to use and configure it correctly. Anything else is a liability, and there are many people out there who have a false sense of security about what their firewall does, and so having it can actually make things worse. Lots of people don't know, for instance, that a firewall will do nothing to stop viruses in e-mails, nor will it make surfing the web one iota more secure).
The X Window system also allows me to run any app on edwards and have it display on calvin - I was pleased to find this worked very well, and easy too, though I probably need to make some things a bit more automatic just because I'm lazy. It means I can run Guarddog on edwards to graphically change my firewall - I haven't learned how to do this from the console yet!
Update: I tried to run Win4Lin from edwards, displayed on calvin, but unfortunately the performance is terrible. It is taking a very, very long time to boot up, and still hasn't got to a state where I can use it - it's like it's constantly redrawing the desktop icons or something. I guess this is why NeTraverse sell "Win4Lin Terminal Server".