Well, google was only an example. To be sure about hostname resolution, I pinged a computer at my university using it's ip address. It didn't work from my box but worked from my gateway. So this leaves hostname resolution out... or at least is not the only problem...
tcpdump prints (in a formated way) the headers of packets that go through a network interface.
So if I type tcpdump -i eth1 I'm telling it to dump the header of every packet coming or going through eth1. I used in on my gateway to listen eth1, my internal network card so I should be seeing icmp requests coming from my box and directed to an exterior IP address.
Those requests would then go out through eth0 but I woudn't see them because I was only dumping eth1. The responses would also come from eth0 and my gateway should send them to my box via eth1 and I should also see them.
When that strange problem happens, I don't see the requests reaching my gateway unless I'm pinging my gateway. When it happens again, I will also try pinging other IP address in my local network.
Runnig ifconfig I can see I still have the IP address I should have. How can I see if the gatewat address is set correctly? And if it isn't set correctly, why does it get unset