CertGrid CertGrid
Hands-on Lab·CompTIA Linux+

Publishing a service and the three ways a client fails

A service can be running, its port open in the firewall, and a client still get nowhere. This guide installs a real service on one host and connects to it from another, producing all three failures on purpose - nothing listening, the firewall refusing, and a service bound to loopback - and reads the server-side line that distinguishes them. It ends with a reload that reported success and changed nothing.

Services and Users Guide 22 of 28 Intermediate

The RPM-family host runs the service; the Debian-family host is only ever the client. Two machines, because a client proof made on the server itself proves nothing.
Server NameIP AddressOSRolesCPURAMHDD
LPLUS-A01192.168.0.73Ubuntu 26.04 LTSDebian-family host - apt, ufw, netplan, AppArmor2 Core4 GB50 GB
LPLUS-B01192.168.0.74AlmaLinux 10.2RPM-family host - dnf, firewalld, NetworkManager, SELinux2 Core4 GB50 GB

This guide includes

Use this when something works on the server and not from anywhere else. This matters because the client reports the same failure for causes that need completely different fixes, and because the bind address is the one people check last after an hour on the firewall.

Before you start

  1. Three services, three meanings of listening

  2. The client, before there is anything to reach

  3. A real service on a port nobody opened

  4. The service is perfect and the client still fails

  5. Opening the port, and one honest client proof

  6. A reload that reports success and changes nothing

  7. The failure the firewall cannot explain

  8. Putting both machines back

Official sources