Wash the bones in cold water to remove any scales or unwanted materials, then combine all ingredients in a large pot. Quickly bring just to a boil, then lower the heat to a slow simmer and cook 1 hour.
While the stock simmers, skim and discard any coagulated proteins from the fish bones that rise to the surface. Remove from the heat, pour the stock through a fine-mesh sieve lined with cheesecloth, and then cool as quickly as possible in an ice water bath. Refrigerated and covered, the fish stock should keep well for up to 1 week. The stock can also be kept frozen as long as 6 months.