I had never successfully used the pfsense boot server option previously,
had anyone else?
I just noticed a typo in a the existing line that appends the filename
to the next-server options to be written.
I don't think it would have worked properly.
Attached is my previous patch now also including a correction for that
error as well.
Tim A. wrote:
DHCP Boot Server Options in pfsense are currently implemented only via
the next-server option method, requiring the server IP and boot file.
This works great... if you only have one device to netboot. Or if you
have a complex dhcpd.conf serving different images according to the
requesting MAC. But that's not an option on pfsense and doesn't make
sense anyway.
Most commonly these days, DHCP Boot Server Options are used for IP
Phones--to deliver their config files and update firmware. Most IP
phone systems these days that I've seen (currently using Shoretel)
prefer the option 66 method, only requiring the server IP. The boot
server (phone system) then determines what files to serve based on the
requesting MAC.
Its much easier to administer boot images on the boot server (phone
system) than via DHCP. And makes more sense.
I originally made these modifications to a pfsense router at a remote
site of ours to address this issue for their phones--which were not
getting their expected firmware updates.
I thought I ought to share the mod with you all.
Its very minor.
It only adds boot-server option 66 method if you leave out the file
image, and changes text in the GUI indicating as much.
------------------------------------------------------------------------
--- services.inc.orig Sat Jun 27 04:09:53 2009
+++ services.inc Sat Jun 27 04:35:02 2009
@@ -115,6 +115,7 @@
$dhcpdconf = <<<EOD
option domain-name "{$syscfg['domain']}";
+option boot-server code 66 = string;
default-lease-time 7200;
max-lease-time 86400;
authoritative;
@@ -277,7 +278,11 @@
if(isset($dhcpifconf['netboot'])) {
if (($dhcpifconf['next-server'] <> "") &&
($dhcpifconf['filename'] <> "")) {
$dhcpdconf .= " next-server
{$dhcpifconf['next-server']};\n";
- $dhcpdconf .= " filename
\"{$dhcpifconf['filename']}\";\n";
+ $dhcpdconf .= " filename
\"{$dhcpifconf['filename']};\"\n";
+ }
+/* Add option 066 TFTP boot server */
+ else {
+ $dhcpdconf .= " boot-server
\"{$dhcpifconf['next-server']};\"\n";
}
}
$dhcpdconf .= <<<EOD
---------------------------------------------------------------------
To unsubscribe, e-mail: support-unsubscr...@pfsense.com
For additional commands, e-mail: support-h...@pfsense.com
Commercial support available - https://portal.pfsense.org