Skip to content

VPS

KVM VPS Networking: IP Addresses, Ports and Firewalls

Trace a failed connection from the guest listener through routing and firewall layers without replacing provider network settings blindly.

VPSKVMNetworkingIPPortsFirewall
Reading time
3 min read
Published
Updated
Maintained by
EnderHost Team

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

Where a connection can fail
LayerQuestion
DNSDoes the name resolve to the intended IPv4/IPv6 address?
ApplicationIs the expected process listening on the correct address and protocol?
Guest networkingAre the address and route consistent with provider instructions?
Guest firewallIs the actual listener permitted?
Provider networkDo platform rules, routing or NAT allow the connection?
Client pathDoes 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.1

These 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

  1. Verify console or rescue access and save the current configuration.
  2. Record the intended change and provider-supplied address, prefix and gateway details.
  3. Change one layer at a time using the distribution’s supported mechanism.
  4. Test a fresh external connection and both address families you advertise.
  5. 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

Related topics

Hardware we trust. Software you know.

PREPARING YOUR EXPERIENCE