From: jkaidor on
Hello,

My name is Jerry Kaidor, and I've been using Slackware Linux for a while.
Actually, a LONG while. Ever since it first came out. And SLS before that,
and MCC before that. I like Slackware because it's nice and simple, without
a bunch of GUI install magic to break and complicate things. Configuration
files are where they belong. If you know Slackware, you know Unix. IMHO,
YMMV of course.

Today my Slackware 12.2 system is giving me a bit of grief. The Apache
2.2 webserver is not serving to the Internet. Yet it works perfectly on my
local LAN. The Slackware box is my gatekeeper: one interface is hooked to
the DSL, the other to the local LAN. When an external host tries to get a
webpage, the browser says "Can't open that host" or something to that effect.
If I try to telnet in to port 80 ( about the simplest thing you can do to test
a webserver ), it says "No Route to Host" after about three seconds.

Normally, I would immediately look at my firewall, but when I turn
firewalling off ( actually change to a completely permissive firewall script
), it still doesn't work.

I would suspect my ISP of filtering port 80, but this does not seem to be
the case. Rather, when a host out on the Internet tries to connect to port
80, my server replies with an ICMP "no route to host" message. In other
words, "Sorry, you can't get there from here".

The next place I would normally look would be tcpd and /etc/hosts.allow &
/etc/hosts.deny. Bzzzt! Sorry, thank you for playing! The webserver does
not use tcpd or inetd. Rather, it just has its own multiple processes that
watch port 80 and port 443.

Strangely enough, the webserver did work some days ago. I know this,
because google has a cache of my web pages dated mid-month.

Anybody have a clue? Some configuration oddity of Apache that knows
about interfaces? I already reinstalled it with pkgtool, no difference.
Thanks in advance,

- Jerry Kaidor
From: Henrik Carlqvist on
jkaidor(a)sonic.net ((null)) wrote:
> The Apache 2.2 webserver is not serving to the Internet. Yet it works
> perfectly on my local LAN.

To debug this in an efficient way you will need another internet
connection than your DSL, maybe some kind of mobile internet access from a
laptop. If you don't have another internet connection you might still be
able to do some tests by using a service like http://browsershots.org/ or
by doing tests from a host on internet were you have logged in by ssh.

> The Slackware box is my gatekeeper: one
> interface is hooked to the DSL, the other to the local LAN. When an
> external host tries to get a webpage, the browser says "Can't open that
> host" or something to that effect. If I try to telnet in to port 80 (
> about the simplest thing you can do to test a webserver ), it says "No
> Route to Host" after about three seconds.

When doing the telnet test, did you use the hostname or ip-address? The
safe bet would be the ip address. Also you should make sure that you are
using the right ip address, maybe your ISP has changed your address? You
could check your ip address at http://www.whatismyip.com/

> Rather, when a host out on the Internet tries to connect to
> port 80, my server replies with an ICMP "no route to host" message. In
> other words, "Sorry, you can't get there from here".

Is it really your server who is giving that reply? You could check that by
running tcpdump on your server.

regards Henrik
--
The address in the header is only to prevent spam. My real address is:
hc3(at)poolhem.se Examples of addresses which go to spammers:
root(a)localhost postmaster(a)localhost

From: Blikje Ham on
On 2010-01-26, (null) <jkaidor(a)sonic.net> wrote:
> Hello,
>
> Today my Slackware 12.2 system is giving me a bit of grief. The Apache
> 2.2 webserver is not serving to the Internet. Yet it works perfectly on my
> local LAN. The Slackware box is my gatekeeper: one interface is hooked to
> the DSL, the other to the local LAN. When an external host tries to get a
> webpage, the browser says "Can't open that host" or something to that effect.
> If I try to telnet in to port 80 ( about the simplest thing you can do to test
> a webserver ), it says "No Route to Host" after about three seconds.
>
> Normally, I would immediately look at my firewall, but when I turn
> firewalling off ( actually change to a completely permissive firewall script
> ), it still doesn't work.
>
> I would suspect my ISP of filtering port 80, but this does not seem to be
> the case. Rather, when a host out on the Internet tries to connect to port
> 80, my server replies with an ICMP "no route to host" message. In other
> words, "Sorry, you can't get there from here".

Have you tried sending a ping to your server? I mean, send a ping from
one internet host to your server; not from your LAN.
The message 'no route to host' indicates that the 'internet' doesn't
know how to reach your server.

Are you using the IP-address to reach your server, or are you using a
domain-name? If you use the IP-address, try verifying the IP-address
(using http://whatismyip.com/ or something similar). If you use a
domainname, verify that the DNS-entry has the correct IP-address (using
`dig`, `nslookup`, `host` or whatever you like, and again
http://whatismyip.com/ ).

"no route to host" seems to indicate a problem outside your server, not
inside your server.
I don't think your ISP is blocking port 80 incoming; you would see a
message saying: "connection refused", or something like that. A "no
route to host" is what it says: the internet doesn't know what route to
take to your host.
From: jkaidor on
In article <slrnhluk6n.oar.blikjeham(a)graff.lan>,
Blikje Ham <blikjeham(a)vierkleurenspreeuw.nl> wrote:
>Have you tried sending a ping to your server? I mean, send a ping from
>one internet host to your server; not from your LAN.

*** I have ICMP echo turned off at the firewall.

>The message 'no route to host' indicates that the 'internet' doesn't
>know how to reach your server.

*** No, it means that my server is responding to the connect request with
an ICMP "no route to host" packet. I have verified this with tcpdump.

The mystery is exactly what - inside the server - is generating this packet.

>
>Are you using the IP-address to reach your server, or are you using a
>domain-name?

*** Tried both ways. No difference. Domain setup is OK. I can telnet
in on port 25 - the SMTP port - works fine.

If I telnet in on some odd unsupported port - it immediately says
"Connection refused".

But on port 80, it waits about 3 seconds, then says "No route to host".

- Jerry Kaidor
--
Jerry Kaidor
From: Henrik Carlqvist on
jkaidor(a)sonic.net ((null)) wrote:
> *** No, it means that my server is responding to the connect request with
> an ICMP "no route to host" packet. I have verified this with tcpdump.

So it is really your server who says it doesn't know how to find itself...

> I can telnet in on port 25 - the SMTP port - works fine.
>
> If I telnet in on some odd unsupported port - it immediately says
> "Connection refused".
>
> But on port 80, it waits about 3 seconds, then says "No route to host".

Then my guess would be that your server in some way has been configured to
do port forwarding of port 80 to some other host on the net which it is
unable to find.

regards Henrik
--
The address in the header is only to prevent spam. My real address is:
hc3(at)poolhem.se Examples of addresses which go to spammers:
root(a)localhost postmaster(a)localhost