Linux Networking Basics Checklist for VPS Operators
Cloud VPS work always involves networking. A website can fail because DNS is wrong, a port is closed, a service is not listening, firewall rules block traffic or the app only listens on localhost. This checklist teaches the practical networking model.
Core principle
A network request needs an address, a port, a listening service and a path through firewall rules. If one layer is missing, the connection fails.
Checklist
- Identify the server public IP.
- Check whether the domain points to that IP.
- Check which ports should be open.
- Check whether a service is listening on the expected port.
- Check firewall rules.
- Check Nginx or reverse proxy routing.
- Test localhost access from the server.
- Test public access from outside.
- Separate DNS failure from port failure.
- Document exposed ports and internal ports.
Reusable lesson
This applies to websites, Nginx reverse proxy, Docker apps, n8n, webhooks, APIs and admin dashboards.
When to Use This Checklist
Use this checklist when learning how domains, ports, firewalls, listening services and reverse proxies connect on a VPS.
Required Tools
SSH access, domain DNS, UFW, ss or netstat, curl, Nginx, service port information
Before You Start
Know which ports should be public and which should remain internal before changing firewall or proxy settings.
Structured Checklist Steps
- Identify public IP.
- Check DNS.
- List required ports.
- Check listening services.
- Check firewall.
- Check reverse proxy.
- Test localhost.
- Test public URL.
- Separate DNS from port issue.
- Document network map.
Verification Steps
- Domain resolves correctly.
- Required port is listening.
- Firewall allows intended traffic.
- Internal app is reachable locally.
- Public URL reaches the right service.
Rollback Plan
If public access breaks, revert the latest firewall or Nginx change and verify local service access before testing public routing again.
Common Mistakes
- Opening every port publicly.
- Confusing localhost with public access.
- Debugging app code before checking listening port.
- Forgetting Cloudflare or DNS layer.
- Not documenting internal ports.
Related Commands
ip addr
dig example.com
sudo ss -tulpn
sudo ufw status
curl -I http://127.0.0.1:3000
curl -I https://example.com