vendorclassid.txt 4.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. From: Dax Kelson
  2. To: Etherboot users list
  3. Subject: [Etherboot-users] Example ISC DHCP v3 dhcpd.conf using conditional operations
  4. Date: Wed, 13 Jun 2001 20:22:21 -0600
  5. Hopefully someone will find this useful. I spent a long time tracking
  6. down and figuring out all the pieces. To the powers that be, feel free to
  7. stick this in contrib if you like it.
  8. Goal: Use the vendor-class-identifier and ISC DHCP v3 "match" option to
  9. conditionally send proper options only when the DHCP discover/request from
  10. etherboot comes in. We use static-MAC-to-IP mappings for classroom
  11. computers, and dynamic dhcp ranges for other clients (student laptops,
  12. etc).
  13. I used Etherboot 5.0.1 and the patch (required) in this email:
  14. http://www.geocrawler.com/lists/3/SourceForge/5299/0/5952625/
  15. Furture versions of Etherboot will likely already have this patch
  16. included.
  17. Dax Kelson
  18. Guru Labs
  19. ######### Begin ISC DHCP v3 dhcpd.conf #############
  20. ddns-update-style ad-hoc;
  21. # Global default, can be overridden
  22. filename "/exports/kickstart/class1-rh7.1.ks";
  23. # Define options for Etherboot
  24. # There are more, these are just the ones I'm using
  25. option ebootmagic code 128 = string;
  26. option cmdline code 129 = string;
  27. option menudflts code 160 = string;
  28. option menuline1 code 192 = string;
  29. option menuline2 code 193 = string;
  30. option menuline3 code 194 = string;
  31. option menuline4 code 195 = string;
  32. option menuline5 code 196 = string;
  33. option menuline6 code 197 = string;
  34. option menuline7 code 198 = string;
  35. option menuline8 code 199 = string;
  36. option menuline9 code 200 = string;
  37. option menuline10 code 201 = string;
  38. option menuline11 code 202 = string;
  39. option menuline12 code 203 = string;
  40. option menuline13 code 204 = string;
  41. option menuline14 code 205 = string;
  42. option menuline15 code 206 = string;
  43. option menuline16 code 207 = string;
  44. option motdline1 code 184 = string;
  45. class "Etherboot" {
  46. match if substring (option vendor-class-identifier, 0, 9) = "Etherboot";
  47. option ebootmagic = E4:45:74:68:00:00;
  48. # We don't use this here, because different menu items require
  49. # different cmdlines. In our ".nbi" files we specify the cmdlines
  50. # option cmdline = "ks initrd=initrd.img lang= devfs=nomount";
  51. option motdline1 = "Welcome to Guru Labs classroom";
  52. option menudflts = "timeout=30:default=192";
  53. option menuline1 = "Boot from Hard Drive (Default):::/dev/hda:::";
  54. option menuline2 = "Boot from Floppy:::/dev/fd0:::";
  55. option menuline3 = "Boot from CDROM::::::";
  56. option menuline4 = "Kickstart install Red Hat 7.1:::rh71-ks-etherboot.nbi:::";
  57. option menuline5 = "Red Hat 7.1 network rescue:::rh71-rescue-etherboot.nbi:::";
  58. option menuline6 = "Boot Win98SE startup floppy:::win98se-startupdisk.nbi:::";
  59. option menuline7 = "Jumpstart install Solaris 8 (not working yet):::/dev/hda:::";
  60. option menuline8 = "Install Windows 98 SE (not working yet):::/dev/hda:::";
  61. option menuline9 = "Install Windows 2000 (not working yet):::/dev/hda:::";
  62. option menuline10 = "Install FreeBSD 4.3 (not working yet):::/dev/hda:::";
  63. option menuline11 = "Install OpenBSD 2.9 (not working yet):::/dev/hda:::";
  64. # This is a hidden menu item, it should be password protected too
  65. option menuline12 = "^[[3D^[[K^[[1A^M:::/dev/hda:::";
  66. # We are using the menu, with different bootfiles. So we don't use this.
  67. # If you weren't using a menu, you could use this override the global
  68. # default "filename" setting.
  69. # filename "rh71-ks-etherboot";
  70. # Use the following if etherboot compiled with -DREQUIRE_VCI_ETHERBOOT
  71. option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;
  72. }
  73. subnet 10.100.0.0 netmask 255.255.255.0 {
  74. authoritative;
  75. option routers 10.100.0.254;
  76. option subnet-mask 255.255.255.0;
  77. option domain-name "example.com";
  78. option domain-name-servers 10.100.0.254;
  79. option time-offset -7; # US/Mountain
  80. option ntp-servers 10.100.0.254;
  81. range dynamic-bootp 10.100.0.175 10.100.0.250;
  82. default-lease-time 21600;
  83. max-lease-time 43200;
  84. option netbios-name-servers 10.100.0.254;
  85. option netbios-node-type 2;
  86. use-host-decl-names on;
  87. next-server server1.example.com;
  88. }
  89. host station1 {
  90. hardware ethernet 00:01:03:de:57:e2;
  91. fixed-address 10.100.0.1;
  92. }
  93. host station2 {
  94. hardware ethernet 00:01:03:de:57:e7;
  95. fixed-address 10.100.0.2;
  96. }
  97. host station3 {
  98. hardware ethernet 00:01:03:de:57:b4;
  99. fixed-address 10.100.0.3;
  100. }
  101. host station4 {
  102. hardware ethernet 00:01:03:de:57:38;
  103. fixed-address 10.100.0.4;
  104. }
  105. host station5 {
  106. hardware ethernet 00:01:03:de:58:3d;
  107. fixed-address 10.100.0.5;
  108. }
  109. #
  110. # Etc, etc
  111. #
  112. ############## End ISC DHCP v3 dhcpd.conf #############