• Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login
  • Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login

Cannot get DHCP to work to see if PXE will work on FOG v1.54/Ubuntu Server 18.04 LTS

Scheduled Pinned Locked Moved Solved
Linux Problems
2
21
2.9k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D
    dbrilliant @Sebastian Roth
    last edited by Oct 31, 2018, 12:11 PM

    @Sebastian-Roth Also, one more question, since I told FOG no to DHCP, do I see your sample doesn’t have “authoritative;” not added to it, do I leave that part out, or uncommented?

    1 Reply Last reply Reply Quote 0
    • D
      dbrilliant @Sebastian Roth
      last edited by Oct 31, 2018, 1:46 PM

      @Sebastian-Roth I tried copying your code to the bottom of the /etc/dhcp/dhcpd.conf file, and commented out all but what you had and left “authoritative;” enabled/uncommented and also changed the “next-server” to the FOG Server 192.168.2.1. DHCP no longer work, it’s failed at handing out IP addresses, and PXE doesn’t work. Any ideas?

      1 Reply Last reply Reply Quote 0
      • S
        Sebastian Roth Moderator
        last edited by Oct 31, 2018, 3:01 PM

        @dbrilliant Please post the full config you have at the moment. Otherwise we can’t tell you what’s wrong.

        Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

        Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

        D 1 Reply Last reply Oct 31, 2018, 3:10 PM Reply Quote 0
        • D
          dbrilliant @Sebastian Roth
          last edited by Sebastian Roth Oct 31, 2018, 12:41 PM Oct 31, 2018, 3:10 PM

          @Sebastian-Roth

          # dhcpd.conf
          #
          # Sample configuration file for ISC dhcpd
          #
          # Attention: If /etc/ltsp/dhcpd.conf exists, that will be used as
          # configuration file instead of this file.
          #
          
          # option definitions common to all supported networks...
          #option domain-name "example.org";
          #option domain-name-servers ns1.example.org, ns2.example.org;
          
          #default-lease-time 600;
          #max-lease-time 7200;
          
          # The ddns-updates-style parameter controls whether or not the server will
          # attempt to do a DNS update when a lease is confirmed. We default to the
          # behavior of the version 2 packages ('none', since DHCP v2 didn't
          # have support for DDNS.)
          #ddns-update-style none;
          
          # If this DHCP server is the official DHCP server for the local
          # network, the authoritative directive should be uncommented.
          authoritative;
          
          # Use this to send dhcp log messages to a different log file (you also
          # have to hack syslog.conf to complete the redirection).
          #log-facility local7;
          
          # No service will be given on this subnet, but declaring it helps the 
          # DHCP server to understand the network topology.
          
          #subnet 10.152.187.0 netmask 255.255.255.0 {
          #}
          
          # This is a very basic subnet declaration.
          
          #subnet 192.168.2.0 netmask 255.255.255.0 {
          #   range 192.168.2.5 192.168.2.15;
          #   option routers 192.168.2.1;
           #}
          
          # This declaration allows BOOTP clients to get dynamic addresses,
          # which we don't really recommend.
          
          #subnet 10.254.239.32 netmask 255.255.255.224 {
          #  range dynamic-bootp 10.254.239.40 10.254.239.60;
          #  option broadcast-address 10.254.239.31;
          #  option routers rtr-239-32-1.example.org;
          #}
          
          # A slightly different configuration for an internal subnet.
          #subnet 192.168.2.1 netmask 255.255.255.0 {
          #  range 192.168.2.5 192.168.2.15;
          #  option domain-name-servers ns1.internal.example.org;
          #  option domain-name "internal.example.org";
          #  option subnet-mask 255.255.255.0;
          #  option broadcast-address 192.168.2.255;
          #  default-lease-time 600;
          #  max-lease-time 7200;
            GNU nano 2.9.3                               dhcpd.conf                                Modified  
          
          #   option routers 192.168.2.1;
          #}
          
          # This declaration allows BOOTP clients to get dynamic addresses,
          # which we don't really recommend.
          
          #subnet 10.254.239.32 netmask 255.255.255.224 {
          #  range dynamic-bootp 10.254.239.40 10.254.239.60;
          #  option broadcast-address 10.254.239.31;
          #  option routers rtr-239-32-1.example.org;
          #}
          
          # A slightly different configuration for an internal subnet.
          #subnet 192.168.2.1 netmask 255.255.255.0 {
          #  range 192.168.2.5 192.168.2.15;
          #  option domain-name-servers ns1.internal.example.org;
          #  option domain-name "internal.example.org";
          #  option subnet-mask 255.255.255.0;
          #  option broadcast-address 192.168.2.255;
          #  default-lease-time 600;
          #  max-lease-time 7200;
          #}
          
          # Hosts which require special configuration options can be listed in
          # host statements.   If no address is specified, the address will be
          # allocated dynamically (if possible), but the host-specific information
          # will still come from the host declaration.
          
          #host fogserver {
          #  hardware ethernet 78:2b:cb:55:ee:0c;
          #  filename "vmunix.passacaglia";
          #  server-name "toccata.example.com";
          #}
          
          # Fixed IP addresses can also be specified for hosts.   These addresses
          # should not also be listed as being available for dynamic assignment.
          # Hosts for which fixed IP addresses have been specified can boot using
          # BOOTP or DHCP.   Hosts for which no fixed address is specified can only
          # be booted with DHCP, unless there is an address range on the subnet
          # to which a BOOTP client is connected which has the dynamic-bootp flag
          # to which a BOOTP client is connected which has the dynamic-bootp flag
          # set.
          host fogserver {
            hardware ethernet 78:2b:cb:55:ee:0c;
            fixed-address 192.168.2.1;
          }
          
          # You can declare a class of clients and then do address allocation
          # based on that.   The example below shows a case where all clients
          # in a certain class get addresses on the 10.17.224/24 subnet, and all
          # other clients get addresses on the 10.0.29/24 subnet.
          
          #class "foo" {
          #  match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
          #}
          
          #shared-network 224-29 {
          #  subnet 10.17.224.0 netmask 255.255.255.0 {
          #    option routers rtr-224.example.org;
          #  }
          #  subnet 10.0.29.0 netmask 255.255.255.0 {
              option routers rtr-29.example.org;
          #  }
          #  pool {
          #    allow members of "foo";
          #    range 10.17.224.10 10.17.224.250;
          #  }
          #  pool {
          #    deny members of "foo";
          #    range 10.0.29.10 10.0.29.230;
          #  }
          #}
          # DHCP Server Configuration file\n#see /usr/share/doc/dhcp*/dhcpd.conf.sample
          # This file was created by FOG
          #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 seconds a client must listen for activity before trying
          #         to start a new MTFTP transfer
          # Code 5: Number of seconds 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;
          option arch code 93 = unsigned integer 16;
          use-host-decl-names on;
          ddns-update-style interim;
          ignore client-updates;
          # Specify subnet of ether device you do NOT want service.
          # For systems with two or more ethernet devices.
          # subnet 136.165.0.0 netmask 255.255.0.0 {}
          subnet 192.168.2.0 netmask 255.255.255.0{
              option subnet-mask 255.255.255.0;
              range dynamic-bootp 192.168.2.10 192.168.2.254;
              default-lease-time 21600;
              max-lease-time 43200;
              option routers 192.168.2.1;
             option domain-name-servers 192.168.1.1;
              next-server 192.168.2.1;
              class "Legacy" {
                  match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00000";
                  filename "undionly.kkpxe";
              }
              class "UEFI-32-2" {
                  match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00002";
                  filename "i386-efi/ipxe.efi";
              }
              class "UEFI-32-1" {
                  match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00006";
                  filename "i386-efi/ipxe.efi";
              }
              class "UEFI-64-1" {
                  match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00007";
                  filename "ipxe.efi";
              }
              class "UEFI-64-2" {
                  match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00008";
                  filename "ipxe.efi";
              }
              class "UEFI-64-3" {
                  match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00009";
                  filename "ipxe.efi";
              }
              class "SURFACE-PRO-4" {
                  match if substring(option vendor-class-identifier, 0, 32) = "PXEClient:Arch:00007:UNDI:003$
                  filename "ipxe.efi";
              }
              class "Apple-Intel-Netboot" {
                  match if substring(option vendor-class-identifier, 0, 14) = "AAPLBSDPC/i386";
                  option dhcp-parameter-request-list 1,3,17,43,60;
                  if (option dhcp-message-type = 8) {
                      option vendor-class-identifier "AAPLBSDPC";
                      if (substring(option vendor-encapsulated-options, 0, 3) = 01:01:01) {
                          # BSDP List
                          option vendor-encapsulated-options 01:01:01:04:02:80:00:07:04:81:00:05:2a:09:0D:81$
                          filename "ipxe.efi";
                      }
                  }
              }
          }
          
          1 Reply Last reply Reply Quote 0
          • D
            dbrilliant
            last edited by Oct 31, 2018, 6:20 PM

            this reply is missing a lot of"#" symbols, where I commented lines out.

            1 Reply Last reply Reply Quote 0
            • S
              Sebastian Roth Moderator
              last edited by Oct 31, 2018, 7:00 PM

              @dbrilliant First off, you can use the buttons above the input text box to format configs as code blocks (symbol </>). This way the # are and other texts are shown as is.

              I have not tested the config myself but there are three things that jump at me.

              • In the first third of the config there is a line not commented but that might be just a copy & paste thing from the nano editor you use. Possibly this is not in your text file but please check to make sure:
              ...
              #  default-lease-time 600;
              #  max-lease-time 7200;
                GNU nano 2.9.3                               dhcpd.conf                                Modified  
              
              #   option routers 192.168.2.1;
              #}
              ...
              
              • Second you have an uncommented block for your FOG server host. This is ok in general although I myself prefer to configure servers with a static address in the server’s network config. This way you don’t have to use the fixed address section here. Quick note: I am not exactly sure if you can have a host declaration outside of any class or group defintion. From reading the man page quickly I think it is possible but I am not exactly sure and have not tested it yet.
              host fogserver {
                hardware ethernet 78:2b:cb:55:ee:0c;
                fixed-address 192.168.2.1;
              }
              
              • Third there seems to be another uncommented piece about half way down the config file. Although option routers ... should be possible to use in a global scope I am not exactly sure. Possibly this is causing the error:
              #  }
              #  subnet 10.0.29.0 netmask 255.255.255.0 {
                  option routers rtr-29.example.org;
              #  }
              #  pool {
              

              If you still can’t start dhcp server run systemctl status isc-dhcp-server and journalctl -l -u isc-dhcp-server to figure out what is wrong in the config file.

              Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

              Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

              1 Reply Last reply Reply Quote 0
              • D
                dbrilliant
                last edited by Oct 31, 2018, 7:18 PM

                It still won’t start, and the “journal” command doesn’t tell me exactly what the problem lies, but states that it errors with 0 and gives no leases. DHCP status gives configuration error,
                topic 1- was from the copy & paste and are no part of the dump.
                topic 2: I commented the host fogserver and fixed-address out just in case as well as the bracket on the line below.
                topic3: subnet 10.0.29.0… all these are commented out, as I just quintuple checked.

                Since none of these are working, I’m leaning a complete format of Ubuntu 18.04 LTS with all universal repositories, NO DHCP download, and statically assign 192.168.2.1/24 as my eno1 (ethernet) adapter IP, and install updates ubuntu-desktop, and any basic updates, then install FOG. In FOG yes for DHCP on eno1 w/ no DNS, and let it do the rest and see if I can get lucky. The first runs w/ FOG on 16.04 & 18.04 failed miserably. Hopefully, I won’t need to edit files.

                1 Reply Last reply Reply Quote 0
                • S
                  Sebastian Roth Moderator
                  last edited by Oct 31, 2018, 9:39 PM

                  @dbrilliant For Ubuntu 18.04 you ought to use FOG working branch as I have fixed a couple of things there - either use git or if you don’t know how to handle that you can find a ZIP for download.

                  It still won’t start, and the “journal” command doesn’t tell me exactly what the problem lies, but states that it errors with 0 and gives no leases.

                  You might need to scroll down in that view (arrow/page down) to see the very latest messages. Do a systemctl restart isc-dhcp-server before so you have the latest error messages in the output.

                  DHCP status gives configuration error,

                  Please post the full output or a picture of it here and we might be able to help.

                  Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                  Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                  1 Reply Last reply Reply Quote 0
                  • D
                    dbrilliant
                    last edited by Nov 1, 2018, 12:42 PM

                    I rebuilt 18.04 from scratch, and got way farther. updated both 32 bit & 64 bit kernels in FOG. The fog install I allowed it to dictate DHCP, and I can register hosts. I have a Dell 790 Windows 7 64 bit image I’m testing now. Seems to be hung up on the image upload for the 790, where it says “Saving original disk/parts” for about 5-7 minutes, and finally progressed. I will test Windows 10 afterwards.

                    Thanks for your help.

                    D 1 Reply Last reply Nov 1, 2018, 3:51 PM Reply Quote 0
                    • D
                      dbrilliant @dbrilliant
                      last edited by Nov 1, 2018, 3:51 PM

                      @dbrilliant -It’s all good. Working fantastic!

                      1 Reply Last reply Reply Quote 0
                      • 1
                      • 2
                      • 2 / 2
                      2 / 2
                      • First post
                        21/21
                        Last post

                      197

                      Online

                      12.1k

                      Users

                      17.3k

                      Topics

                      155.4k

                      Posts
                      Copyright © 2012-2024 FOG Project