A VM is running and has an IP, but it can't access the internet. What should I check first?

I would troubleshoot from the VM outward rather than immediately changing the host configuration.

A basic flow is:


VM
 ↓
VM Gateway
 ↓
Virtual Router
 ↓
NAT/Public IP
 ↓
CloudStack Network
 ↓
Physical Network
 ↓
Internet

Check:

  1. Does the VM have the expected IP?

  2. Is the default gateway correct?

  3. Is the Virtual Router running?

  4. Can the VM reach its gateway?

  5. Is the required NAT/public IP configuration present?

  6. Can the Virtual Router reach the external network?

  7. Are there any host or physical-network issues?

The goal is to identify the exact point where connectivity stops, instead of randomly restarting services.