Place beef bones in a large stockpot and cover with cold water. Bring to a boil and simmer for 15 minutes, skimming off any foam that rises to the surface.
Drain the bones and rinse them under cold water. Return the bones to the stockpot.
Add the onion, carrots, celery, bay leaf, peppercorns, and apple cider vinegar to the pot. Cover with fresh cold water.
Bring to a boil, then reduce heat to low and simmer for at least 6 hours, or up to 24 hours. Skim off any foam that rises to the surface during the first few hours of simmering.
Strain the stock through a fine-mesh sieve lined with cheesecloth. Discard the solids.
Let the stock cool, then skim off any fat that rises to the surface. (Optional: save the fat for cooking.)
Store the stock in the refrigerator for up to 3 days, or freeze for up to 3 months.