A KVM VPS communicates through virtual network hardware connected to the provider’s network. Your application must listen on the correct guest address and port, the guest needs a valid route, and each relevant firewall must permit the traffic. KVM identifies virtualization technology; it does not imply one universal IP, gateway or public-port configuration.
Separate the connection layers
| Layer | Question |
|---|---|
| DNS | Does the name resolve to the intended IPv4/IPv6 address? |
| Application | Is the expected process listening on the correct address and protocol? |
| Guest networking | Are the address and route consistent with provider instructions? |
| Guest firewall | Is the actual listener permitted? |
| Provider network | Do platform rules, routing or NAT allow the connection? |
| Client path | Does the failure affect one network or several? |
Start with read-only Linux checks
ip -br address
ip route
ip -6 route
sudo ss -lntup
# Replace with the destination you intend to reach:
ip route get 1.1.1.1These commands inspect state; they do not prove the provider’s desired configuration or Internet reachability. Interface names, gateway arrangements and prefixes vary. Do not paste a netplan or interfaces file from another VPS over a working configuration, especially when SSH is your only access path.
Is the service reachable inside the guest?
A listener bound to 127.0.0.1 is ordinarily local to the guest. A wildcard or external-interface listener has different exposure. Check TCP and UDP separately. A successful local HTTP request proves that particular local path works, not that the provider firewall permits public traffic or that a UDP game endpoint is reachable.
If the connection is refused, inspect the listener and service logs. If it times out, compare the relevant firewall and route layers. These symptoms are clues rather than proof: filtering, rejection policies and intermediate devices can alter what the client sees.
Check IPv4 and IPv6 as separate paths
A hostname with both A and AAAA records can send clients over different address families. Confirm that each advertised address is assigned, routed, served and permitted. A working IPv4 test does not validate an IPv6 record. Correct stale DNS records rather than disabling security controls to compensate for a destination mismatch.
Make network changes recoverable
- Verify console or rescue access and save the current configuration.
- Record the intended change and provider-supplied address, prefix and gateway details.
- Change one layer at a time using the distribution’s supported mechanism.
- Test a fresh external connection and both address families you advertise.
- Restore the prior configuration through the console if access fails; do not reset unrelated firewall rules blindly.
What evidence helps support investigate?
Provide source and destination addresses, protocol/port, UTC interval, service listener evidence and whether the problem reproduces from multiple networks. Share relevant route information with sensitive details handled appropriately. Do not infer that a router is dropping game packets merely because it does not answer diagnostic probes.
Use MTR interpretation for route diagnostics and the Docker networking guide if port publishing is involved. Compare VPS options and EnderHost locations around the actual client paths and required network features.
Sources and references
Hosting documentation. Publication and update dates reflect this edition.
Related articles
- How to Secure a Linux VPS Without Locking Yourself OutEstablish console recovery and a verified SSH key login before tightening authentication and firewall rules on Ubuntu or Debian.5 min read
- How to Read MTR Results Without Mistaking ICMP Loss for an OutageSeparate router reply limits from end-to-end loss and collect a useful network report for a hosting investigation.3 min read
- Docker on a VPS: Limits, Networking and Persistent DataRun containers with deliberate resource limits and port exposure, then protect the data that must survive replacement.3 min read
