[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Errors from TCP connections (was: How to build circular dependant packages in debian)



On Mon, Sep 20, 2021 at 11:45:06AM +0200, Bastian Blank wrote:
> On Mon, Sep 20, 2021 at 02:11:06AM +0000, Paul Wise wrote:
> > Normally one would get "Connection refused" when connecting to a port
> > that isn't open,
> 
> "Connection refused" is generated by TCP reset packets.

That, or ICMP type 1 code 3 packets ("destination port unreachable). See
below.

> >                  but at this site one gets "No route to host", as if
> > there is no network path to reach the host,
> 
> "No route to host" is generated by an ICMP error.

Specifically, by ICMP type 1 code 1 ("destination host unreachable"). It
has become fashionable to use that code to reject connection attempts,
but personally I find that to be very confusing if it's used for a
single port rather than a whole host or network.

It's possible to use the correct ICMP code in firewalls, and then
connection error messages become far less confusing:

root@pc181009:~# telnet -4 localhost 3000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
root@pc181009:~# iptables -A INPUT -p tcp --dport 3000 -j REJECT --reject-with icmp-port-unreachable
root@pc181009:~# telnet -4 localhost 3000
Trying 127.0.0.1...
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
root@pc181009:~# iptables -D INPUT -p tcp --dport 3000 -j REJECT --reject-with icmp-port-unreachable
root@pc181009:~# iptables -A INPUT -p tcp --dport 3000 -j REJECT --reject-with icmp-host-unreachable
root@pc181009:~# telnet -4 localhost 3000
Trying 127.0.0.1...
Trying 127.0.0.1...
telnet: Unable to connect to remote host: No route to host

but you do you of course ;-)

-- 
     w@uter.{be,co.za}
wouter@{grep.be,fosdem.org,debian.org}


Reply to: