The problem is now fixed. It turns out that the MTU was set to 1500 on the Gentoo box, which is the ethernet default, but the chip only works with MTU set to 1492 (default for PPPoE). I really don't why this is the case, at least it works now though!
This is a really weird one, I don't know if anyone could shed any light on it but it's a very *interesting* problem, which I'd love to figure out. It's not desperately important, but is really puzzling! I've tried posting it to the Gentoo forums on a different site, but not had any useful responses. I'm not convinced it's a Gentoo issue, so thought I'd try asking here.
I am running a low end web/mail server on my home network. The server itself is set up with Slackware 10.1. There are a number of computers I use, both on the internal network, and externally. For most of these computers, the webserver works fine. However, it doesn't work for my main box on the home network, which runs Gentoo. I'll explain further.
When I connect to the webserver, either on https or http, from my work computer or another computer at home, both of which run Ubuntu, the webserver responds just as expected. When I try to connect to it from my Gentoo box, the connection just sits there for certain directories. In Firefox, it just says "Waiting for server.address.com" (address changed from its actual name) in the status bar at the bottom of the Firefox window. This is not a Firefox issue though, as it also fails to connect in links, for example. Now it starts to get really weird:
- My Gentoo box is on a dual boot with Windows XP. Access to the server is fine from Windows, on the same computer with the same hardware. Both setups even use the same Ethernet NIC and have the same IP address.
- Only some pages aren't accessible. The root of the server (i.e. http(s)://server.address.com/) works alright. However, some users' home pages (or subdirectories thereof) and the /webmail directory don't work. / /home /var and /usr are all on separate partitions, on two hard disks.
- If I ssh into the server, it doesn't seem to be able to connect to itself via links at all; none of the pages are accessible, and the ssh connection hangs. However, if I connect a monitor and keyboard to the server and login locally it seems to be able to connect to all pages okay. I haven't been able to test it with a graphical browser as it's running in runlevel 3 and is usually headless, but I suspect the behaviour would be the same.
- The apache logs show that the page requests are being received, and a 200 response is being sent, but somehow the document never actually gets sent. Wireshark shows the request being made, and some kind of response is made, but I'm not very familiar with Wireshark and can't figure out what's going in any detail.
I read somewhere that having MTU set wrong somewhere can cause something like this, but MTU seems to be set to 1500 on all the computers, which is what I'd expect. Other than that, I really can't understand what's causing this. If anyone has any ideas of other things I could check I'd really appreciate it! If more information on my setup would help, let me know. I'm running Gentoo amd64 with kernel gentoo-2.6.17-r4, but the problem was also occurring when I was using kernel gentoo-2.6.16-r11. The only possibility I can think of is that I missed something when configuring the kernel, but I've no idea what.