Remove any visible fat from the duck, including the large skin flap at the neck and in the cavity area. Remove the wing tips. Using a sharp fork or skewer, pierce holes in the skin of the entire duck about 1/2 inch deep.
Fill a 12-quart stockpot with water and add the white vinegar. Bring to a rolling boil. With a sieve or skimmer, carefully lower the duck into the water and blanch it for 30 seconds. Remove the duck from the water, wait for the water to reboil, and blanch the duck again. Pat the duck dry with a dish towel. Rub the salt and five-spice powder all over the bird and inside the cavity. Hang duck overnight in a cold, drafty place or place on a rack and refrigerate. (Duck can be refrigerated at this stage for 2 days.)
The next morning, combine the ginger, rice wine, sugar, soy sauce, hoisin sauce, water, and star anise. Place duck on a rack on a roasting pan and brush evenly with the marinade. Reserve remaining marinade for later use. Using an upright turkey roasting stand, place the duck directly in front of a fan and let it air-dry for 2 hours, turning frequently. (You may also use a hair dryer to blow-dry the bird. This usually takes about 30 minutes.)
Preheat oven to 400 degrees.
Place the remaining marinade (including the ginger slices and star anise) and the green onions and yellow onions into the cavity of the duck. With a metal or wooden skewer, thread the cavity shut. Place the pan on the lower rack of the oven. Roast the duck, uncovered, breast side up for 30 minutes. Reduce heat to 350 degrees, turn the duck over, and roast 30 minutes. Turn the duck over again and roast breast side up until juices run clear and meat is tender, another 30 to 40 minutes. If necessary, cover the legs and wings with foil to prevent burning.
Serve with prepared Cilantro-lime soy sauce.