Rinse the fish bones and heads well in a large colander under cold running water.
Put all of the ingredients in a stockpot. Add enough cold water to cover by 1 inch. Bring to a boil over high heat. Lower the heat to medium-low and simmer, uncovered, for 1 hour, skimming occasionally to remove the foam that forms on the surface.
Ladle through a fine-mesh strainer into a large bowl. Cool completely. Cover and refrigerate. (The stock can be refrigerated for up to three days. Or freeze in airtight containers for up to two months.)
Yield: 1 gallon