Every time I reboot, /etc/ntp.conf gets overwritten with some default values ("server fudge" and so on), thus erasing any customizations that have been made to the file.
Are you using dhcpcd? If you are, edit your "/etc/conf.d/net" and add "-N" to your "dhcpcd_ethX" options list.
That fixed it. Should this be the default behavior, though? It's really inconvenient and non-obvious...
dhcpcd support is for different dhcp clients, -N is for a specific version plus, there's a note about this in ntp.conf
Ivan is right, this problem is inconvenient and non-obvious. However, Ivan, in your case it sounds like your DHCP server is misconfigured: it is probably sending bad or non-existant NTP settings. That is something for you to fix on your end. So in the case of a misconfigured or uncooperative DHCP server, I think the right solution is to "dhcdcp_eth?=-N". Meanwhile, I do not want to pass -N to dhcpcd because I *do* want it to update my ntp.conf file. Updates to config files via DHCP is the right thing to allow users to do. I hate having to maintain config files by hand if there is a way to automate the process. It seems to me that the right way to fix this bug is to fix dhcpcd. For one thing, it points the ntp.drift file to the wrong location. According to the ntp-4.1.2.ebuild, ntp.drift lives at /var/lib/ntp/ntp.drift, not /etc/ntp.drift. That said, it seems like my issue is really a bug in dhcpcd -- so I'll stop my whining here... sorry! Thanks for everyone's hard work! --Stuart