Уфф, почитал еще раз маны на ntpd и ntp.conf, понял вот что:
Чтобы stratum не сбрасывался в 16 нужно в ntp.conf сделать что-то типа:
server 127.127.1.1
fudge 127.127.1.1 stratum 10
Тогда, если другие источники недоступны, будет stratum 11 и все отлично работает. Можно даже ntpdate использовать для получения времени, когда есть соединение.
Проблема в другом - ntpd по-идиотски биндится ко всем локальным адресам:
% sockstat -4l | grep ntpd
root ntpd 87403 4 udp4 *:123 *:*
root ntpd 87403 5 udp4 192.168.0.1:123 *:*
root ntpd 87403 6 udp4 172.16.0.1:123 *:*
root ntpd 87403 7 udp4 127.0.0.1:123 *:*
root ntpd 87403 8 udp4 192.168.2.2:123 *:*
root ntpd 87403 9 udp4 192.168.2.3:123 *:*
root ntpd 87403 10 udp4 192.168.2.4:123 *:*
root ntpd 87403 11 udp4 192.168.2.1:123 *:*
root ntpd 87403 12 udp4 10.7.11.76:123 *:*
И, если IP меняется (а именно это у меня при переподключении и происходит), ntpd встает раком... Рестартовать его некрасиво, потому что, пока он синхронизируется, минут 30 он будет недоступен для клиентов, да и когда он постоянно работает, насколько я понял из мана, он собирает информацию о задержках на линии, о том, на сколько бегут/отстают локальные часы и т.д.
И, самое обидное - на jail'овских адресах ведь слушает, паразит...
Посему вопрос меняется на: "Как сделать чтобы он слушал ТОЛЬКО на *:123?"