Knowledge

OpenNTPD

Source 📝

327:. In December 2004, Darren Tucker, the principal developer on the portable branch of OpenNTPD, wrote a detailed response to Knowles, acknowledging some issues as valid, rejecting several others as unwarranted, and considering yet others as misleading. Among the more serious issues raised by Knowles was that OpenNTPD servers claimed to be stratum 1 servers. The issue had however already been fixed by the time of Tucker's response. In March 2005, Knowles acknowledged Tucker's response, and stated that he was "going to do everything to work with to get any remaining issues resolved". Additionally, the OpenBSD networking FAQ was expanded with a response to Knowles' initial criticism. 883: 295:$ grep ntpd /var/log/daemon.log | grep adjusting Aug 4 03:32:20 nikolai ntpd: adjusting local clock by -1.162333s Aug 4 03:36:08 nikolai ntpd: adjusting local clock by -1.023899s Aug 4 03:40:02 nikolai ntpd: adjusting local clock by -0.902637s Aug 4 03:43:43 nikolai ntpd: adjusting local clock by -0.789431s Aug 4 03:47:35 nikolai ntpd: adjusting local clock by -0.679320s Aug 4 03:50:45 nikolai ntpd: adjusting local clock by -0.605858s Aug 4 03:53:31 nikolai ntpd: adjusting local clock by -0.529821s 271:. In order to simplify the use of NTP, OpenNTPD implements a smaller set of functionalities than those available in other NTP daemons, such as that provided by the Network Time Protocol Project. The objective is to provide enough features to satisfy typical usage at the risk of unsuitability for esoteric or niche requirements. OpenNTPD is configured through the configuration file, 29: 311:
that increase accuracy in favour of code simplicity. The OpenNTPD project acknowledged the criticism, but stated that the lack of microsecond precision was a design tradeoff that benefited simplicity and security. The OpenNTPD design goals state the project's intent is to "each a reasonable accuracy"
246:
The development of OpenNTPD was motivated by a combination of issues with current NTP daemons: difficult configuration, complicated and difficult to audit code, and unsuitable licensing. OpenNTPD was designed to solve these problems and make time synchronization accessible to a wider userbase. After
259:, trivial to set up and administer, reasonably accurate, and light on system resources. As such, the design goals for OpenNTPD are: security, ease of use, and performance. Security in OpenNTPD is achieved by robust validity check in the network input path, use of bounded buffer operations via 234:, is developed as a child project which adds the portability code to the OpenBSD version and releases it separately. The portable version is developed by Brent Cook. The project developers receive some funding from the 369:
recommends that systems not implementing leap seconds be referenced to International Atomic Time, or directly to GPS time signals. However, no current version of NTP (As of 2023) supports non-UTC time scales.
279:
to be used, and the set of servers from which the time will be synchronized. The accuracy of OpenNTPD is best-effort; the daemon attempts to be as accurate as possible but no specific accuracy is guaranteed.
319:
criticizing various aspects of OpenNTPD's implementation of the NTP protocol, as well as the split development model that the project employs, which is also used in the development of
307:
produced by the NTP Project (ntp.org). Internally, OpenNTPD does not maintain millisecond accuracy and can vary 50-200ms from "real" time because it omits a variety of
742: 346:. Care should be taken when using OpenNTPD as a higher-stratum source for other ntpd servers, or with high-resolution time requirements that reference 685: 215: 1201: 1013: 211: 207:
to synchronize the local clock of a computer system with remote NTP servers. It is also able to act as an NTP server to NTP-compatible clients.
366: 634: 772: 1186: 315:
In September 2004, shortly after the release of OpenNTPD 3.6, ntp.org contributor Brad Knowles published an article entitled
256: 888: 1003: 945: 847: 247:
a period of development, OpenNTPD first appeared in OpenBSD 3.6. Its first release was announced on 2 November 2004.
148: 749: 362: 255:
OpenNTPD is an attempt by the OpenBSD team to produce an NTP daemon implementation that is secure, simple to
83: 693: 223: 57: 553: 347: 130: 980: 355: 351: 275:. A minimal number of options are offered: IP address or hostname on which OpenNTPD should listen, a 566: 98: 975: 330:
The current OpenNTPD accuracy claim is, from the 2004 21C3 presentation, "typically 50 ms".
288:
OpenNTPD gradually adjusts the system clock, as seen here in the output of OpenNTPD running on a
821: 533: 1191: 938: 204: 153: 581: 1110: 312:
without sacrificing "secure design for getting that last nanosecond or obscure edge case."
268: 264: 8: 913: 455: 642: 1149: 780: 716: 235: 200: 137: 222:
project, with further help by many authors. Its design goals include being secure (
1196: 1033: 931: 160: 105: 1165: 918: 276: 267:
to mitigate the effects of possible security bugs exploiting the daemon through
1018: 358:
time signals. The 50-ms accuracy is also not typical of a high-stratum source.
430: 1180: 1128: 1068: 1133: 855: 343: 165: 408: 1080: 88: 39: 923: 803: 607: 1058: 1053: 665: 635:"FAQ 6.12.1: 'But OpenNTPD isn't as accurate as the ntp.org daemon!'" 481: 308: 1105: 1043: 1038: 1023: 908: 617: 324: 507: 226:), easy to configure, and accurate enough for most purposes. Its 1063: 970: 955: 904: 898: 613: 339: 320: 260: 231: 227: 219: 114: 110: 45: 773:"FAQ: 6.12.2: 'Someone has claimed that OpenNTPD is 'harmful'!'" 1073: 1028: 998: 350:. Leap seconds are used in Coordinated Universal Time, but not 118: 1090: 1085: 303:
OpenNTPD has been criticized as being less accurate than the
289: 126: 122: 1100: 1095: 1008: 387: 304: 197: 28: 176: 878: 770: 632: 505: 1178: 663: 479: 210:OpenBSD NTP Daemon was initially developed by 939: 914:A paper explaining OpenNTPD by Henning Brauer 628: 626: 620:. 26 May 2006. Retrieved 16 September 2006. 16:Implementation of the Network Time Protocol 946: 932: 717:"Response to OpenNTPd Considered Harmful" 367:Bureau International des Poids et Mesures 708: 623: 953: 822:"Handling Leap Seconds the OpenBSD Way" 740: 683: 506:The OpenBSD Project (1 November 2004). 401: 1202:OpenBSD software using the ISC license 1179: 771:The OpenBSD Project (21 August 2006). 714: 633:The OpenBSD Project (21 August 2006). 579: 531: 927: 456:"openntpd-portable/openntpd-portable" 889:Free and open-source software portal 89:https://github.com/openntpd-portable 715:Tucker, Darren (12 December 2004). 684:Knowles, Brad (22 September 2004). 532:Brauer, Henning (2 November 2004). 33:"Saving the world again... on time" 13: 801: 580:Brauer, Henning (September 2004). 14: 1213: 874: 582:"Page 3: OpenNTPD – Design Goals" 22:OpenNTPD (aka OpenBSD NTP Daemon) 881: 27: 852:United States Naval Observatory 840: 814: 795: 764: 741:Knowles, Brad (12 March 2005). 734: 677: 657: 363:United States Naval Observatory 333: 63:6.8p1 / 7 December 2020 599: 573: 525: 499: 473: 448: 423: 380: 1: 1187:Network time-related software 686:"OpenNTPd Considered Harmful" 373: 298: 7: 919:OpenBSD FAQ: Using OpenNTPD 409:"OpenNTPD Portable Release" 317:OpenNTPd Considered Harmful 10: 1218: 721:Advogato: Blog for dtucker 431:"openssh/openssh-portable" 348:Coordinated Universal Time 283: 241: 1158: 1142: 1121: 991: 963: 664:OpenNTPD authors (2004), 356:Global Positioning System 352:International Atomic Time 171: 159: 147: 136: 104: 94: 82: 78: 56: 52: 38: 26: 250: 804:"OpenBGPD and OpenNTPD" 534:"OpenNTPD 3.6 released" 277:timedelta sensor device 480:The OpenNTPD Project. 230:version, like that of 743:"Update: OpenNTPd..." 205:Network Time Protocol 65:; 3 years ago 783:on 24 September 2006 486:The OpenNTPD Project 269:privilege escalation 265:privilege separation 154:Time synchronization 858:on 24 December 2017 777:The OpenBSD Project 639:The OpenBSD Project 586:The OpenBSD Project 512:The OpenBSD Project 23: 1150:OpenBSD Foundation 746:Considered Harmful 690:Considered Harmful 672:, OpenNTPD project 645:on 5 February 2016 561:Unknown parameter 338:OpenNTPD (and the 236:OpenBSD Foundation 194:OpenBSD NTP Daemon 143:RFC 1305, RFC 5905 21: 1174: 1173: 981:security features 907:System Manager's 802:Brauer, Henning. 554:cite mailing list 203:implementing the 187: 186: 1209: 992:Related projects 964:Operating system 948: 941: 934: 925: 924: 902: 901: 891: 886: 885: 884: 868: 867: 865: 863: 854:. Archived from 844: 838: 837: 835: 833: 818: 812: 811: 799: 793: 792: 790: 788: 779:. Archived from 768: 762: 761: 759: 757: 748:. Archived from 738: 732: 731: 729: 727: 712: 706: 705: 703: 701: 692:. Archived from 681: 675: 673: 661: 655: 654: 652: 650: 641:. Archived from 630: 621: 611: 610: 603: 597: 596: 594: 592: 577: 571: 570: 564: 559: 557: 549: 547: 545: 538:openbsd-announce 529: 523: 522: 520: 518: 503: 497: 496: 494: 492: 482:"OpenNTPD Goals" 477: 471: 470: 468: 466: 452: 446: 445: 443: 441: 427: 421: 420: 418: 416: 405: 399: 398: 396: 394: 384: 183: 180: 178: 106:Operating system 73: 71: 66: 31: 24: 20: 1217: 1216: 1212: 1211: 1210: 1208: 1207: 1206: 1177: 1176: 1175: 1170: 1166:OpenBSD Journal 1154: 1138: 1117: 987: 976:version history 959: 952: 897: 896: 887: 882: 880: 877: 872: 871: 861: 859: 846: 845: 841: 831: 829: 826:OpenBSD Journal 820: 819: 815: 800: 796: 786: 784: 769: 765: 755: 753: 739: 735: 725: 723: 713: 709: 699: 697: 696:on 4 March 2005 682: 678: 662: 658: 648: 646: 631: 624: 606: 605: 604: 600: 590: 588: 578: 574: 562: 560: 551: 550: 543: 541: 530: 526: 516: 514: 504: 500: 490: 488: 478: 474: 464: 462: 454: 453: 449: 439: 437: 429: 428: 424: 414: 412: 407: 406: 402: 392: 390: 386: 385: 381: 376: 342:kernel) ignore 336: 301: 296: 286: 253: 244: 224:non-exploitable 218:as part of the 192:(also known as 175: 74: 69: 67: 64: 34: 17: 12: 11: 5: 1215: 1205: 1204: 1199: 1194: 1189: 1172: 1171: 1169: 1168: 1162: 1160: 1156: 1155: 1153: 1152: 1146: 1144: 1140: 1139: 1137: 1136: 1131: 1125: 1123: 1119: 1118: 1116: 1115: 1114: 1113: 1103: 1098: 1093: 1088: 1083: 1078: 1077: 1076: 1066: 1061: 1056: 1051: 1046: 1041: 1036: 1031: 1026: 1021: 1016: 1011: 1006: 1001: 995: 993: 989: 988: 986: 985: 984: 983: 978: 967: 965: 961: 960: 951: 950: 943: 936: 928: 922: 921: 916: 911: 893: 892: 876: 875:External links 873: 870: 869: 848:"Leap Seconds" 839: 828:. 28 June 2015 813: 808:quigon.bsws.de 794: 763: 752:on 25 May 2006 733: 707: 676: 656: 622: 598: 572: 540:(Mailing list) 524: 498: 472: 447: 422: 400: 378: 377: 375: 372: 335: 332: 300: 297: 294: 285: 282: 252: 249: 243: 240: 216:Henning Brauer 185: 184: 173: 169: 168: 163: 157: 156: 151: 145: 144: 141: 134: 133: 108: 102: 101: 96: 92: 91: 86: 80: 79: 76: 75: 62: 60: 58:Stable release 54: 53: 50: 49: 42: 36: 35: 32: 15: 9: 6: 4: 3: 2: 1214: 1203: 1200: 1198: 1195: 1193: 1190: 1188: 1185: 1184: 1182: 1167: 1164: 1163: 1161: 1157: 1151: 1148: 1147: 1145: 1143:Organizations 1141: 1135: 1132: 1130: 1129:Theo de Raadt 1127: 1126: 1124: 1120: 1112: 1109: 1108: 1107: 1104: 1102: 1099: 1097: 1094: 1092: 1089: 1087: 1084: 1082: 1079: 1075: 1072: 1071: 1070: 1067: 1065: 1062: 1060: 1057: 1055: 1052: 1050: 1047: 1045: 1042: 1040: 1037: 1035: 1032: 1030: 1027: 1025: 1022: 1020: 1017: 1015: 1012: 1010: 1007: 1005: 1002: 1000: 997: 996: 994: 990: 982: 979: 977: 974: 973: 972: 969: 968: 966: 962: 957: 949: 944: 942: 937: 935: 930: 929: 926: 920: 917: 915: 912: 910: 906: 903: –  900: 895: 894: 890: 879: 857: 853: 849: 843: 827: 823: 817: 809: 805: 798: 782: 778: 774: 767: 751: 747: 744: 737: 722: 718: 711: 695: 691: 687: 680: 671: 667: 660: 644: 640: 636: 629: 627: 619: 616:File Formats 615: 612: –  609: 602: 587: 583: 576: 568: 563:|agency= 555: 539: 535: 528: 513: 509: 508:"OpenBSD 3.6" 502: 487: 483: 476: 461: 457: 451: 436: 432: 426: 410: 404: 389: 383: 379: 371: 368: 364: 359: 357: 353: 349: 345: 341: 331: 328: 326: 322: 318: 313: 310: 306: 293: 291: 281: 278: 274: 270: 266: 262: 258: 248: 239: 237: 233: 229: 225: 221: 217: 213: 212:Alexander Guy 208: 206: 202: 199: 195: 191: 182: 174: 170: 167: 164: 162: 158: 155: 152: 150: 146: 142: 139: 135: 132: 128: 124: 120: 116: 112: 109: 107: 103: 100: 97: 93: 90: 87: 85: 81: 77: 61: 59: 55: 51: 47: 43: 41: 37: 30: 25: 19: 1192:BSD software 1159:Publications 1134:Niels Provos 1048: 860:. Retrieved 856:the original 851: 842: 830:. Retrieved 825: 816: 807: 797: 787:16 September 785:. Retrieved 781:the original 776: 766: 756:16 September 754:. Retrieved 750:the original 745: 736: 726:16 September 724:. Retrieved 720: 710: 700:16 September 698:. Retrieved 694:the original 689: 679: 669: 659: 647:. Retrieved 643:the original 638: 608:ntpd.conf(5) 601: 591:16 September 589:. Retrieved 585: 575: 542:. Retrieved 537: 527: 515:. Retrieved 511: 501: 489:. Retrieved 485: 475: 463:. Retrieved 459: 450: 438:. Retrieved 434: 425: 413:. Retrieved 403: 391:. Retrieved 382: 360: 344:leap seconds 337: 334:Leap Seconds 329: 316: 314: 302: 287: 272: 254: 245: 209: 193: 189: 188: 40:Developer(s) 18: 862:27 February 1181:Categories 393:9 December 388:"OpenNTPD" 374:References 309:algorithms 305:NTP daemon 95:Written in 84:Repository 70:2020-12-07 1059:OpenSMTPD 1054:OpenOSPFD 832:9 October 565:ignored ( 411:. OpenBSD 299:Criticism 273:ntpd.conf 179:.openntpd 1106:Xenocara 1049:OpenNTPD 1044:OpenIKED 1039:OpenBGPD 1024:LibreSSL 670:OpenNTPD 365:and the 325:OpenBGPD 292:system: 228:portable 190:OpenNTPD 138:Standard 1197:OpenBSD 1081:sensors 1064:OpenSSH 971:OpenBSD 958:Project 956:OpenBSD 905:OpenBSD 899:ntpd(8) 666:"Goals" 614:OpenBSD 517:3 April 491:3 April 415:3 April 340:OpenBSD 321:OpenSSH 284:Example 261:strlcpy 242:History 232:OpenSSH 220:OpenBSD 196:) is a 172:Website 161:License 131:Solaris 115:FreeBSD 111:OpenBSD 68: ( 48:Project 46:OpenBSD 1122:People 1074:pfsync 1029:mandoc 909:Manual 649:14 May 618:Manual 544:7 June 465:13 May 460:GitHub 440:13 May 435:GitHub 263:, and 201:daemon 119:NetBSD 1091:spamd 1086:sndio 1014:httpd 290:Linux 257:audit 251:Goals 127:macOS 123:Linux 1101:tmux 1096:sudo 1009:doas 1004:CARP 954:The 864:2019 834:2018 789:2006 758:2006 728:2006 702:2006 651:2020 593:2006 567:help 546:2014 519:2016 493:2016 467:2016 442:2016 417:2016 395:2020 361:The 323:and 214:and 198:Unix 181:.org 149:Type 44:The 1111:cwm 1019:fdm 999:bio 354:or 177:www 166:ISC 140:(s) 1183:: 1069:PF 1034:mg 850:. 824:. 806:. 775:. 719:. 688:. 668:, 637:. 625:^ 584:. 558:: 556:}} 552:{{ 536:. 510:. 484:. 458:. 433:. 238:. 129:, 125:, 121:, 117:, 113:, 947:e 940:t 933:v 866:. 836:. 810:. 791:. 760:. 730:. 704:. 674:. 653:. 595:. 569:) 548:. 521:. 495:. 469:. 444:. 419:. 397:. 99:C 72:)

Index


Developer(s)
OpenBSD
Stable release
Repository
https://github.com/openntpd-portable
C
Operating system
OpenBSD
FreeBSD
NetBSD
Linux
macOS
Solaris
Standard
Type
Time synchronization
License
ISC
www.openntpd.org
Unix
daemon
Network Time Protocol
Alexander Guy
Henning Brauer
OpenBSD
non-exploitable
portable
OpenSSH
OpenBSD Foundation

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.