From dd572eae7639d05066e3d3f8fcde8988f5dbc7b1 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Wed, 6 Oct 2004 21:02:12 +0000 Subject: Add somewhat generic dhcpd addon snippets. --- dhcp3/README | 22 ++++++++++ dhcp3/dhcp3-cilent.cf | 19 +++++++++ dhcp3/dhcpd.etherboot | 73 +++++++++++++++++++++++++++++++++ dhcp3/dhcpd.etherboot-legacy | 83 +++++++++++++++++++++++++++++++++++++ dhcp3/dhcpd.etherboot-pxe | 29 +++++++++++++ dhcp3/dhcpd.etherboot-udhcp | 97 ++++++++++++++++++++++++++++++++++++++++++++ dhcp3/dhcpd.fai | 4 ++ dhcp3/dhcpd.grub | 36 ++++++++++++++++ dhcp3/dhcpd.macintosh | 12 ++++++ dhcp3/dhcpd.pxe | 31 ++++++++++++++ dhcp3/dhcpd.pxe.host | 13 ++++++ dhcp3/dhcpd.pxe.host-mcast | 12 ++++++ dhcp3/dhcpd.pxelinux | 9 ++++ dhcp3/dhcpd.pxelinux.host | 18 ++++++++ dhcp3/dhcpd.wpad | 10 +++++ 15 files changed, 468 insertions(+) create mode 100644 dhcp3/README create mode 100755 dhcp3/dhcp3-cilent.cf create mode 100644 dhcp3/dhcpd.etherboot create mode 100644 dhcp3/dhcpd.etherboot-legacy create mode 100644 dhcp3/dhcpd.etherboot-pxe create mode 100644 dhcp3/dhcpd.etherboot-udhcp create mode 100644 dhcp3/dhcpd.fai create mode 100644 dhcp3/dhcpd.grub create mode 100644 dhcp3/dhcpd.macintosh create mode 100644 dhcp3/dhcpd.pxe create mode 100644 dhcp3/dhcpd.pxe.host create mode 100644 dhcp3/dhcpd.pxe.host-mcast create mode 100644 dhcp3/dhcpd.pxelinux create mode 100644 dhcp3/dhcpd.pxelinux.host create mode 100644 dhcp3/dhcpd.wpad (limited to 'dhcp3') diff --git a/dhcp3/README b/dhcp3/README new file mode 100644 index 0000000..88d00e0 --- /dev/null +++ b/dhcp3/README @@ -0,0 +1,22 @@ +These are general preparation for support of each feature: + + dhcpd.etherboot + dhcpd.fai + dhcpd.pxe + dhcpd.pxelinux + ... + +They must not introduce configuration parameters that interfere with +other hosts. Ideally they must not conflict with each other, but that +may be unavoidable (at least include a note about conflicting files). + + +These are host-specific option, that must be included within a host or +group clause: + + dhcpd.etherboot.host + dhcpd.etherboot.host-udhcp + dhcpd.pxe.host + dhcpd.pxe.host-mcast + dhcpd.pxelinux.host + ... diff --git a/dhcp3/dhcp3-cilent.cf b/dhcp3/dhcp3-cilent.cf new file mode 100755 index 0000000..4231416 --- /dev/null +++ b/dhcp3/dhcp3-cilent.cf @@ -0,0 +1,19 @@ +#! /usr/bin/cfengine -qf + +control: + OutputPrefix = ("${cf_prefix}") + actionsequence = ( editfiles ) + EditfileSize = ( 10000 ) + +editfiles: + any:: + { /etc/dhcp3/dhclient-script + # + # Set hostname to reverse lookup of IP + # + WarnIfNoLineMatching "^[[:blank:]]+([A-Z]+\|)*BOUND(\|[A-Z]+)*\)" + LocateLineMatching "^[[:blank:]]+([A-Z]+\|)*BOUND(\|[A-Z]+)*\)" + BeginGroupIfNoLineMatching "^AllowShutdown=All" + ReplaceLineWith "AllowShutdown=All" + EndGroup + } diff --git a/dhcp3/dhcpd.etherboot b/dhcp3/dhcpd.etherboot new file mode 100644 index 0000000..1f3ef62 --- /dev/null +++ b/dhcp3/dhcpd.etherboot @@ -0,0 +1,73 @@ +# This ISC dhcpd 3.x config snippet is inspired by initrd code in +# contrib area of etherboot source (dhcpd.conf.etherboot.include). + +# Usage: +# +# include "/etc/local-COMMON/dhcp3/dhcpd.etherboot"; +# +# # (...common options...) +# +# # Accepted hosts (syntax is "1:" + MAC address) +# subclass "etherboot-hosts" 00:01:02:03:04:05; +# subclass "etherboot-hosts" 00:01:02:03:04:06 { fixed-address 192.168.1.101; another-option "bla bla"; } +# + +# image-n syntax: "label:server:gateway:filename:passwd:flags:cmdline" + +option space etherboot; + +option etherboot.extensions-path code 18 = string; +option etherboot.magic code 128 = string; +option etherboot.kernel-cmdline code 129 = text; +option etherboot.netdevice code 130 = text; # Root NFS device for multihomed diskless clients (example: "eth1") +option etherboot.menu-opts code 160 = text; +option etherboot.nic-dev-id code 175 = string; +option etherboot.menu-selection code 176 = unsigned integer 8; +option etherboot.motd-1 code 184 = text; +option etherboot.motd-2 code 185 = text; +option etherboot.motd-3 code 186 = text; +option etherboot.motd-4 code 187 = text; +option etherboot.motd-5 code 188 = text; +option etherboot.motd-6 code 189 = text; +option etherboot.motd-7 code 190 = text; +option etherboot.motd-8 code 191 = text; +option etherboot.image-1 code 192 = text; +option etherboot.image-2 code 193 = text; +option etherboot.image-3 code 194 = text; +option etherboot.image-4 code 195 = text; +option etherboot.image-5 code 196 = text; +option etherboot.image-6 code 197 = text; +option etherboot.image-7 code 198 = text; +option etherboot.image-8 code 199 = text; +option etherboot.image-9 code 200 = text; +option etherboot.image-10 code 201 = text; +option etherboot.image-11 code 202 = text; +option etherboot.image-12 code 203 = text; +option etherboot.image-13 code 204 = text; +option etherboot.image-14 code 205 = text; +option etherboot.image-15 code 206 = text; +option etherboot.image-16 code 207 = text; +option etherboot.kmod code 254 = string; + +#class "etherboot-hosts" { +# match pick-first-value (option dhcp-client-identifier, hardware); +#} + +# Etherboot sends a string to identify the NIC in etherboot.nic-dev-id. +# For PCI NICs, this string is of the form "PCI:vvvv:dddd" where vvvv is the +# vendor identifier and dddd the device identifier, in lower-case ASCII hex. +# +# Normally you simply include the file generated by mknbi-set. +# +# Here's a sample output of that tool: +# +#if substring ( option vendor-class-identifier, 0, 9 ) = "Etherboot" { +# if exists etherboot.nic-dev-id { +# # Legacy nic-dev-id mechanism: there are some DLink DFE538 cards in circulation that +# # predated the change to the new nic-dev-id binary structure +# if option etherboot.nic-dev-id = "PCI:1186:1300" { option etherboot.kmod "8139too"; } +# +# # Generated from mknbi-set.conf +# +# } +#} diff --git a/dhcp3/dhcpd.etherboot-legacy b/dhcp3/dhcpd.etherboot-legacy new file mode 100644 index 0000000..0261498 --- /dev/null +++ b/dhcp3/dhcpd.etherboot-legacy @@ -0,0 +1,83 @@ +# Legacy site-local option support +# If client does not include an etherboot-encapsulated-options field in its DHCPREQUEST, then +# it will not understand etherboot-encapsulated-options in the DHCPACK and so we must send +# back the options as site-local options (i.e. not encapsulated). +# Note: we need do this only for options that existed prior to the switch to encapsulation. +# +# For some reason the encapsulation option makes isc-dhcpd-V3.0.1rc11 +# crash (too much info encapsulated?). + +option etherboot-encapsulated-options code 150 = encapsulate etherboot; + +# Some of these options are untested and may clash with reserved code +# numbers when legacy, so they have been commented out here. + +#option legacy-etherboot-extensions-path code 18 = string; +option legacy-etherboot-magic code 128 = string; +option legacy-etherboot-kernel-cmdline code 129 = string; +#option legacy-etherboot-netdevice code 130 = text; +option legacy-etherboot-menu-opts code 160 = string; +option legacy-etherboot-menu-selection code 176 = unsigned integer 8; +option legacy-etherboot-motd-1 code 184 = string; +option legacy-etherboot-motd-2 code 185 = string; +option legacy-etherboot-motd-3 code 186 = string; +option legacy-etherboot-motd-4 code 187 = string; +option legacy-etherboot-motd-5 code 188 = string; +option legacy-etherboot-motd-6 code 189 = string; +option legacy-etherboot-motd-7 code 190 = string; +option legacy-etherboot-motd-8 code 191 = string; +option legacy-etherboot-image-1 code 192 = string; +option legacy-etherboot-image-2 code 193 = string; +option legacy-etherboot-image-3 code 194 = string; +option legacy-etherboot-image-4 code 195 = string; +option legacy-etherboot-image-5 code 196 = string; +option legacy-etherboot-image-6 code 197 = string; +option legacy-etherboot-image-7 code 198 = string; +option legacy-etherboot-image-8 code 199 = string; +option legacy-etherboot-image-9 code 200 = string; +option legacy-etherboot-image-10 code 201 = string; +option legacy-etherboot-image-11 code 202 = string; +option legacy-etherboot-image-12 code 203 = string; +option legacy-etherboot-image-13 code 204 = string; +option legacy-etherboot-image-14 code 205 = string; +option legacy-etherboot-image-15 code 206 = string; +option legacy-etherboot-image-16 code 207 = string; +#option legacy-etherboot-kmod code 254 = string; + +if ( + ( substring ( option vendor-class-identifier, 0, 9 ) = "Etherboot" ) + and + ( not exists etherboot-encapsulated-options ) +) { +# option legacy-etherboot-extensions-path = config-option etherboot.extensions-path; + option legacy-etherboot-magic = config-option etherboot.magic; + option legacy-etherboot-kernel-cmdline = config-option etherboot.kernel-cmdline; +# option legacy-etherboot-netdevice = config-option etherboot.netdevice; + option legacy-etherboot-menu-opts = config-option etherboot.menu-opts; + option legacy-etherboot-menu-selection = config-option etherboot.menu-selection; + option legacy-etherboot-motd-1 = config-option etherboot.motd-1; + option legacy-etherboot-motd-2 = config-option etherboot.motd-2; + option legacy-etherboot-motd-3 = config-option etherboot.motd-3; + option legacy-etherboot-motd-4 = config-option etherboot.motd-4; + option legacy-etherboot-motd-5 = config-option etherboot.motd-5; + option legacy-etherboot-motd-6 = config-option etherboot.motd-6; + option legacy-etherboot-motd-7 = config-option etherboot.motd-7; + option legacy-etherboot-motd-8 = config-option etherboot.motd-8; + option legacy-etherboot-image-1 = config-option etherboot.image-1; + option legacy-etherboot-image-2 = config-option etherboot.image-2; + option legacy-etherboot-image-3 = config-option etherboot.image-3; + option legacy-etherboot-image-4 = config-option etherboot.image-4; + option legacy-etherboot-image-5 = config-option etherboot.image-5; + option legacy-etherboot-image-6 = config-option etherboot.image-6; + option legacy-etherboot-image-7 = config-option etherboot.image-7; + option legacy-etherboot-image-8 = config-option etherboot.image-8; + option legacy-etherboot-image-9 = config-option etherboot.image-9; + option legacy-etherboot-image-10 = config-option etherboot.image-10; + option legacy-etherboot-image-11 = config-option etherboot.image-11; + option legacy-etherboot-image-12 = config-option etherboot.image-12; + option legacy-etherboot-image-13 = config-option etherboot.image-13; + option legacy-etherboot-image-14 = config-option etherboot.image-14; + option legacy-etherboot-image-15 = config-option etherboot.image-15; + option legacy-etherboot-image-16 = config-option etherboot.image-16; +# option legacy-etherboot-kmod = config.option etherboot.kmod; +} diff --git a/dhcp3/dhcpd.etherboot-pxe b/dhcp3/dhcpd.etherboot-pxe new file mode 100644 index 0000000..e953208 --- /dev/null +++ b/dhcp3/dhcpd.etherboot-pxe @@ -0,0 +1,29 @@ +# This ISC dhcpd 3.x config snippet is inspired by initrd code in +# contrib area of etherboot source (dhcpd.conf.etherboot.include). + +# Usage: +# +# include "/etc/local-COMMON/dhcp3/dhcpd.etherboot"; +# include "/etc/local-COMMON/dhcp3/dhcpd.etherboot-pxe"; +# +# (...common options...) +# +# subclass "etherboot-pxe-hosts" 00:01:02:03:04:05; +# subclass "etherboot-pxe-hosts" 00:01:02:03:04:06 { fixed-address 192.168.1.101; another-option "bla bla"; } +# subclass "etherboot-pxe-hosts" 00:01:02:03:04:06 { +# fixed-address 192.168.1.101; +# another-option "bla bla"; +# if substring (option vendor-class-identifier, 0, 9) = "PXEClient" { +# filename "/tftpboot/eepro100.lzpxe"; +# } +# } +# + +if substring (option vendor-class-identifier, 0, 9) = "PXEClient" { + filename "/tftpboot/eepro100.lzpxe"; + } else if substring (option vendor-class-identifier, 0, 9) = "Etherboot" { + filename "/tftpboot/lts/vmlinuz-test.nbi"; + option vendor-encapsulated-options + 3c:09:45:74:68:65:72:62:6f:6f:74:ff; + } +} diff --git a/dhcp3/dhcpd.etherboot-udhcp b/dhcp3/dhcpd.etherboot-udhcp new file mode 100644 index 0000000..9a3e442 --- /dev/null +++ b/dhcp3/dhcpd.etherboot-udhcp @@ -0,0 +1,97 @@ +# This ISC dhcpd 3.x config snippet is inspired by initrd code in +# contrib area of etherboot source (dhcpd.conf.etherboot.include). + +# Usage: +# +# include "/etc/local-COMMON/dhcp3/dhcpd.etherboot"; +# include "/etc/local-COMMON/dhcp3/dhcpd.etherboot-udhcp"; +# include "/etc/local/dhcpd.conf.etherboot-pcimap.include"; # file generated by mknbi-set +# +# (...common options...) +# +# subclass "etherboot-udhcp-hosts" 00:01:02:03:04:05; +# subclass "etherboot-udhcp-hosts" 00:01:02:03:04:06 { fixed-address 192.168.1.101; another-option "bla bla"; } +# + +class "etherboot-udhcp-hosts" { + match pick-first-value (option dhcp-client-identifier, hardware); +} + +# Apply Etherboot options only for Etherboot clients +# +if substring ( option vendor-class-identifier, 0, 9 ) = "Etherboot" { + + # We must specify this value for etherboot-magic, or Etherboot will + # ignore all other options. + # + option etherboot.magic E4:45:74:68:00:00; + + # Bootfile name: derive from etherboot.kmod (calculated below) + # Use boot.nbi if no NIC_DEV_ID option present + # (i.e. if etherboot.kmod doesn't get set) + # Also pass filename back in filename field + # + option bootfile-name = pick-first-value ( + concat ( + "boot-", + config-option etherboot.kmod, + ".nbi" + ), + "boot.nbi" + ) ; + filename = config-option bootfile-name; + + # "Sensible" default values for some options + + # Mount devfs (will probably be needed for a network-boot) + option etherboot.kernel-cmdline " devfs=mount"; + + # Info message (includes client IP address, MAC address, hardware ID string, + # server IP address and name of boot file) + option etherboot.motd-4 = concat ( + "Using Etherboot to boot ", + binary-to-ascii ( 10, 8, ".", leased-address ), + " [", + binary-to-ascii ( 16, 8, ":", suffix ( hardware, 6 ) ), + "] [", + pick-first-value ( option etherboot.nic-dev-id, "unknown card" ), + "]", 0d:0a, " from ", + binary-to-ascii ( 10, 8, ".", option dhcp-server-identifier ), + " with file ", + config-option tftp-server-name, + ":", + config-option bootfile-name, + " [", + pick-first-value ( config-option etherboot.kmod, "unknown module" ), + "]", 0d:0a + ); +} + +# Some options should be set for both Etherboot and the udhcpc client +# +if ( + ( substring ( option vendor-class-identifier, 0, 9 ) = "Etherboot" ) + or + ( substring ( option vendor-class-identifier, 0, 5 ) = "udhcp" ) +) { + + # TFTP server defaults to DHCP server and is specified in both + # next-server field and tftp-server-name option field + # + option tftp-server-name = binary-to-ascii ( 10, 8, ".", config-option dhcp-server-identifier ); + server-name = config-option tftp-server-name; + next-server = config-option dhcp-server-identifier; + + # Root path defaults to root of TFTP server + option root-path = concat ( config-option tftp-server-name, ":/" ); + + # A fallback hostname, generated from the IP address + option host-name = concat ( "client_", binary-to-ascii ( 10, 8, "_", leased-address ) ); +} + +# Force some items onto parameter request list for udhcp +# +if substring ( option vendor-class-identifier, 0, 5 ) = "udhcp" { + # Forcibly add root-path to list + option dhcp-parameter-request-list = concat ( option dhcp-parameter-request-list, 11 ); +} diff --git a/dhcp3/dhcpd.fai b/dhcp3/dhcpd.fai new file mode 100644 index 0000000..bf576bb --- /dev/null +++ b/dhcp3/dhcpd.fai @@ -0,0 +1,4 @@ +# FAI (Fully Automated Install) options +option fai-location code 170 = text; +option fai-action code 171 = text; +option fai-flags code 172 = text; diff --git a/dhcp3/dhcpd.grub b/dhcp3/dhcpd.grub new file mode 100644 index 0000000..a8ac453 --- /dev/null +++ b/dhcp3/dhcpd.grub @@ -0,0 +1,36 @@ +# GRUB (GRand Unified Boot-loader) options + +# Usage: +# Make a symlink from "/usr/share/grub-net/" to "/tftpboot/grub/", and +# place a GRUB menu file at "/tftpboot/grub-hosts/menu.lst" (see +# /usr/share/doc/grub-net/examples/menu.lst for an example). +# Note that symlinks won't work if using chroot with tftp (which is much +# recommended!) - copy pxegrub-all and nbgrub-all instead. + +# # Normal options first (including default filename, if any) +# subnet 192.168.101.0 netmask 255.255.255.0 { +# option broadcast-address 192.168.101.0; +# option subnet-mask 255.255.255.0; +# range 192.168.101.101 192.168.101.199; +# } +# +# include "/etc/local-common/dhcp3/dhcpd.grub"; +# +# # Accepted hosts (syntax is "1:" + MAC address) +# subclass "grub-hosts" 1:00:50:ba:8b:c2:7b; +# subclass "grub-hosts" 1:00:01:02:0a:0b:0c { fixed-address 192.168.1.101; another-option "bla bla"; } + +option grub-configfile code 150 = text; + +class "grub-hosts" { + match pick-first-value (option dhcp-client-identifier, hardware); + + if substring (option vendor-class-identifier, 0, 9) = "PXEClient" { + filename "grub/pxegrub-all"; + } else if substring (option vendor-class-identifier, 0, 9) = "Etherboot" { + filename "grub/nbgrub-all"; + option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff; + } else { + option grub-configfile "(nd)/grub-hosts/menu.lst"; + } +} diff --git a/dhcp3/dhcpd.macintosh b/dhcp3/dhcpd.macintosh new file mode 100644 index 0000000..01d56a2 --- /dev/null +++ b/dhcp3/dhcpd.macintosh @@ -0,0 +1,12 @@ +# Open Transport 2.5.1 and 2.5.2 fails with lease times larger than 1 hour +class "Macintosh_a" { +if ( + ( substring (hardware, 0, 3) = 00:05:02 ) + or + ( (hardware, 0, 3) = 00:61:61 ) +) { + + default-lease-time 3599; + max-lease-time 3599; + min-lease-time 3599; +} diff --git a/dhcp3/dhcpd.pxe b/dhcp3/dhcpd.pxe new file mode 100644 index 0000000..75f3489 --- /dev/null +++ b/dhcp3/dhcpd.pxe @@ -0,0 +1,31 @@ +# This ISC dhcpd 3.x config snippet is inspired by the following: +# http://www.bpbatch.org/docs/linux.html + +# TODO: Otpmize to different releases of PXE. +# According to http://cui.unige.ch/info/pc/remote-boot/howto-3.html +# "PXE 2.0 bootroms can only receive option 128-135". + +# Definition of PXE-specific options +# Code 1: Multicast IP address of bootfile +# Code 2: UDP port that client should monitor for MTFTP responses +# Code 3: UDP port that MTFTP servers are using to listen +# for MTFTP requests +# Code 4: Number of secondes a client must listen for activity before +# trying to start a new MTFTP transfer +# Code 5: Number of secondes a client must listen before trying to +# restart a MTFTP transfer +option space PXE; +option PXE.mtftp-ip code 1 = ip-address; +option PXE.mtftp-cport code 2 = unsigned integer 16; +option PXE.mtftp-sport code 3 = unsigned integer 16; +option PXE.mtftp-tmout code 4 = unsigned integer 8; +option PXE.mtftp-delay code 5 = unsigned integer 8; + +# Sample host config +#host pxetest1 { +# hardware ethernet 00:01:02:03:04:05; +# fixed-address 192.168.1.101; +# next-server 192.168.1.2; +# filename "pxelinux.0"; +# include "/etc/local-COMMON/dhcp3/dhcpd.pxe.host"; +#} diff --git a/dhcp3/dhcpd.pxe.host b/dhcp3/dhcpd.pxe.host new file mode 100644 index 0000000..05c2399 --- /dev/null +++ b/dhcp3/dhcpd.pxe.host @@ -0,0 +1,13 @@ +# Host-specific PXE options +class "pxe" { + match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; + + # Keep identifier + option vendor-class-identifier "PXEClient"; + + # At least one of the vendor-specific option must be set. We set + # the MCAST IP address to 0.0.0.0 to tell the bootrom to still use + # TFTP (address 0.0.0.0 is considered as "no address") + option PXE.mtftp-ip 0.0.0.0; + vendor-option-space PXE; +} diff --git a/dhcp3/dhcpd.pxe.host-mcast b/dhcp3/dhcpd.pxe.host-mcast new file mode 100644 index 0000000..158e237 --- /dev/null +++ b/dhcp3/dhcpd.pxe.host-mcast @@ -0,0 +1,12 @@ +# Host-specific PXE options +class "pxeclients" { + match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; + + # Keep identifier + option vendor-class-identifier "PXEClient"; + + option PXE.mtftp-ip 224.1.5.1; + option PXE.mtftp-cport 1758; + option PXE.mtftp-sport 1759; + vendor-option-space PXE; +} diff --git a/dhcp3/dhcpd.pxelinux b/dhcp3/dhcpd.pxelinux new file mode 100644 index 0000000..c8af5a8 --- /dev/null +++ b/dhcp3/dhcpd.pxelinux @@ -0,0 +1,9 @@ +# This ISC dhcpd 3.x config snippet is inspired by pxelinux.doc, +# part of the syslinux software package. +# Hint: Other goodies here: http://syslinux.zytor.com/hardware.php + +option space pxelinux; +option pxelinux.magic code 208 = string; +option pxelinux.configfile code 209 = text; +option pxelinux.pathprefix code 210 = text; +option pxelinux.reboottime code 211 = unsigned integer 32; diff --git a/dhcp3/dhcpd.pxelinux.host b/dhcp3/dhcpd.pxelinux.host new file mode 100644 index 0000000..33d0c19 --- /dev/null +++ b/dhcp3/dhcpd.pxelinux.host @@ -0,0 +1,18 @@ +class "pxeclient" { + match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; + + # Always include the following lines for all PXELINUX clients + site-option-space "pxelinux"; + option pxelinux.magic f1:00:74:7e; + if exists dhcp-parameter-request-list { + # Always send the PXELINUX options + append dhcp-parameter-request-list 208, 209, 210, 211; + } + + # Allow config based on MAC address + option pxelinux.configfile = concat("/pxelinux.cfg/", binary-to-ascii(16, 8, ":", hardware)); + + # Load pxelinux from subfolder (make that a symlink to the actual location of syslinux binaries) + filename "/pxelinux/pxelinux.0"; + option pxelinux.pathprefix "/"; +} diff --git a/dhcp3/dhcpd.wpad b/dhcp3/dhcpd.wpad new file mode 100644 index 0000000..33bae60 --- /dev/null +++ b/dhcp3/dhcpd.wpad @@ -0,0 +1,10 @@ +# Web Proxy Auto-Discovery Protocol (described in RFC 3040, used in +# Microsoft Internet Explorer 5.0 and later and maybe Mozilla). +option wpad-url code 252 = text; + +# Sample domain config + +# Beware that Microsoft Internet Explorer resolves hostname ahead, +# (A record if CNAME record provided, and raw IP if A record provided), +# so use the default web host if serving name-based virtual hosts. +#option auto-proxy-config "http://wpad.example.net/wpad.pac"; -- cgit v1.2.3