{"id":2393,"date":"2022-03-02T08:01:50","date_gmt":"2022-03-02T14:01:50","guid":{"rendered":"https:\/\/mrguitar.net\/?p=2393"},"modified":"2023-04-03T10:29:17","modified_gmt":"2023-04-03T16:29:17","slug":"using-uefi-http-boot-with-pfsense","status":"publish","type":"post","link":"https:\/\/mrguitar.net\/?p=2393","title":{"rendered":"Using UEFI HTTP Boot with pfSense"},"content":{"rendered":"\n<p>About a year ago I started<a href=\"https:\/\/mrguitar.net\/blog\/?p=2300\"> working with HTTP boot<\/a>. It&#8217;s great that we no longer need a TFTP server for network booting, but there are also a few less than ideal challenges with the newer method. The biggest one is lack of documentation and simple configuration with DHCP servers. There are some examples available for the isc-dhcp-server used in many Linux\/Unix systems, but if you&#8217;re using something like Ubiquiti or pfSense, good luck! It&#8217;s been a while since I&#8217;ve looked at an enterprise IPAM setup, but I fully expect support to be lacking there as well.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mrguitar.net\/wp-content\/uploads\/2023\/04\/New-PfSense-Logo.png\" alt=\"\" class=\"wp-image-2493\" width=\"551\" height=\"185\" srcset=\"https:\/\/mrguitar.net\/wp-content\/uploads\/2023\/04\/New-PfSense-Logo.png 734w, https:\/\/mrguitar.net\/wp-content\/uploads\/2023\/04\/New-PfSense-Logo-300x101.png 300w\" sizes=\"auto, (max-width: 551px) 100vw, 551px\" \/><\/figure>\n<\/div>\n\n\n<p>I<a href=\"https:\/\/redmine.pfsense.org\/issues\/11659\"> opened a bug<\/a> on this issue and was really impressed with how quickly the team jumped on it. Now if you&#8217;re running the 2.6.0 release, which is the latest as I write this, it&#8217;s pretty simple to get this up and running. Basically they added a field for UEFI HTTPBoot. It sounds simple enough right?<\/p>\n\n\n\n<p>But adding it wasn&#8217;t working on either of my systems. I did a little packet sniffing and compared the response I was getting from my pfSense system vs a working dhcpd config in RHEL. In short, pfSense wasn&#8217;t sending option vendor-class-identifier &#8220;HTTPClient&#8221; with the response so my systems weren&#8217;t responding to the URL. Luckily it&#8217;s super simple to add this in the UI. Basically just add an additional option w\/ the number 60, Type Text, and HTTPClient in the Value section. As seen here:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"372\" src=\"https:\/\/mrguitar.net\/wp-content\/uploads\/2022\/03\/Screenshot-from-2022-02-28-17-34-03-1024x372.png\" alt=\"\" class=\"wp-image-2382\" srcset=\"https:\/\/mrguitar.net\/wp-content\/uploads\/2022\/03\/Screenshot-from-2022-02-28-17-34-03-1024x372.png 1024w, https:\/\/mrguitar.net\/wp-content\/uploads\/2022\/03\/Screenshot-from-2022-02-28-17-34-03-300x109.png 300w, https:\/\/mrguitar.net\/wp-content\/uploads\/2022\/03\/Screenshot-from-2022-02-28-17-34-03-768x279.png 768w, https:\/\/mrguitar.net\/wp-content\/uploads\/2022\/03\/Screenshot-from-2022-02-28-17-34-03.png 1146w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>And that&#8217;s pretty much it. My network now offers up both PXE and HTTP boot to clients and it works really well. Hopefully this will help someone until this option is provided by default when the &#8220;UEFI HTTPBoot URL&#8221; is used.<\/p>\n\n\n\n<p>Now all that&#8217;s left is to come up with a menu system that&#8217;s as powerful as syslinux that works with HTTP Boot. To date, I&#8217;ve only used GRUB and &#8230;&#8230;it really makes me miss the menu system from syslinux. It&#8217;s superior in every way IMO.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>About a year ago I started working with HTTP boot. It&#8217;s great that we no longer need a TFTP server for network booting, but there are also a few less than ideal challenges with the newer method. The biggest one is lack of documentation and simple configuration with DHCP servers. There are some examples available &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/mrguitar.net\/?p=2393\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Using UEFI HTTP Boot with pfSense&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[6],"tags":[],"class_list":["post-2393","post","type-post","status-publish","format-standard","hentry","category-open-sourcenerd-stuff"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mrguitar.net\/index.php?rest_route=\/wp\/v2\/posts\/2393","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrguitar.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mrguitar.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mrguitar.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mrguitar.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2393"}],"version-history":[{"count":4,"href":"https:\/\/mrguitar.net\/index.php?rest_route=\/wp\/v2\/posts\/2393\/revisions"}],"predecessor-version":[{"id":2495,"href":"https:\/\/mrguitar.net\/index.php?rest_route=\/wp\/v2\/posts\/2393\/revisions\/2495"}],"wp:attachment":[{"href":"https:\/\/mrguitar.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2393"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mrguitar.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2393"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mrguitar.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2393"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}