I'm not enough of an expert, but my feelings are:
Yes, its related. The loopback interface is used by the gui (I thought X used it, so I was expecting to see
both KDE and Gnome be unacceptably slow) and if you can't ping yourself that is going to cause problems.
In order to get the firewall out of the equation, I'd disable it completely (flush the rules and set all policies to accept...in passing you do know that setting policies to accept and denying things that you don't want is regarded as less secure than setting policies to deny and accepting things that you do want?). This makes your machine very vulnerable (perhaps not a worry with ethernet-interfaced routers which can be set up to provide primitive firewalling, but with a USB interfaced one a real concern). So, for the purposes of this experiment, you pull out the cable connecting the modem to the internet.
Having stopped the firewall from blocking stuff, then I'd then have a look at pinging lo. I don't know why it doesn't show up in ifconfig; it should. is it possible that you've got something odd set up in nsswitch and you don't get the name resolved until some service (say DNS, which I guess you are not running) times out?
Here is a working /etc/hosts for 'hydrau'. I note, and this is the first time that I've really taken enough notice of this, that I have two lines for the local machine: 127.0.0.1 and 127.0.1.1 . (One of those things I've never taken much notice of because it has 'just worked'.)
Code:
cat /etc/hosts
127.0.0.1 localhost hydrau
127.0.1.1 hydrau
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
I note, looking at Harrison's Linux Quick Fix Notebook this passage:
Quote:
Usually the first entry in /etc/hosts defines the IP address of the server's virtual loopback interface. This is usually mapped to the name localhost.localdomain...by default, Fedora inserts the hostname of the server between the 127.0.0.1 and the localhost entries like this:
Code:
127.0.0.1 bigboy localhost.localdomain localhost
When the server is connected to the internet, this first entry after the 127.0.0.1 needs to be the fully qualified domain name of the server - for example bigboy.my-web-site.org (*)
Code:
127.0.01 bigboy.my-web-site.org localhost.localdomain localhost
some programs such as sendmail are very sensitive to this and if they detect what they feel is an incorrect FQDN they will default to using the name localhost.localdomain when communicating with another server on the network. This can cause confusion, because the other server also feels it is localhost.localdomain.
|
* I've corrected what looks like a typo in the original text here; harrison's book has bigboy.mysite.com on the intro line and bigboy.my-web-site.org in the actual line of code
(so it is possible that when the gui does something with lo, you are actually waiting for another machine on the network to resolve that for you....a bad idea, even if it did work!)
Once you've got it working in the stripped down state, put the firewall back in (before you allow the big bad internet back at you). You may need something like this (again, orig derived from Harrison, but with whatever mods may have seemed appropriate at the time...note though that I've never used a USB modem as opposed to an ethernet router, so I'm only guessing how the USB things work):
Code:
#__________________________________________________________________________
#
# The loopback interface should accept all traffic
# necessary for X-Windows and other socket based services
#
#__________________________________________________________________________
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT