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

    SVN-Update: Error in creating dhcpd.conf

    Scheduled Pinned Locked Moved Solved
    FOG Problems
    4
    26
    5.7k
    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.
    • Wayne WorkmanW
      Wayne Workman @Oleg
      last edited by

      @Oleg said:

      And when I start the installer everything seems ok because both entries are listed correctly:

      If it’s fine now, don’t worry about it. Just update periodically (I update usually daily).

      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
      Daily Clean Installation Results:
      https://fogtesting.fogproject.us/
      FOG Reporting:
      https://fog-external-reporting-results.fogproject.us/

      1 Reply Last reply Reply Quote 0
      • O
        Oleg
        last edited by Oleg

        @Wayne-Workman

        sorry but I completly removed FOG and try to install it again but it doesn’t work.
        I get this error:

        * Setting up and starting DHCP Server.........................../lib/common/functions.sh: line 186: addr:192: syntax error in expression (error token is ":192")
        ../lib/common/functions.sh: line 288: let: octet4+=: syntax error: operand expected (error token is "+=")
         !!! No router address found !!!
         !!! No dns address found !!!
        Failed!
        

        Thanks

        1 Reply Last reply Reply Quote 0
        • Wayne WorkmanW
          Wayne Workman
          last edited by Wayne Workman

          I’m looking at this, looks like the serverip variable inside of lib/common/functions.sh is never getting set for the configureDHCP function.

          I’ve made a few adjustments to show this, along with the contents before/after for the router and dns stuff.

          What’s most concerning is the addr: part in the output…

          serverip=addr:192.168.94.111
          
          configureDHCP() {
              dots "Setting up and starting DHCP Server"
              case $bldhcp in
                  1)
                      [[ -f $dhcpconfig ]] && cp -f $dhcpconfig ${dhcpconfig}.fogbackup
          
          
          echo "--------------------------------------"
          echo interface=$interface
          echo serverip=$serverip
          echo submask=$submask
          echo "---------------------------"
          
                      serverip=$(ip addr show $interface | awk -F'[ /]' '/([0-9][0-9]?[0-9]?\.){3}([0-9][0-9]?[0-9]?){1}/ {print $6}')
                      [[ -z $serverip ]] && serverip=$(/sbin/ifconfig $interface | awk '/inet[:]?.*(cast)/ {print $2}')
                      [[ -z $serverip ]] && serverip=$(/sbin/ip -4 addr show $interface | awk -F'[ /]+' '/global/ {print $3}')
                      [[ -z $submask ]] && submask=$(cidr2mask $(getCidr $interface))
          
          echo "------------------------"
          echo serverip=$serverip
          echo "-------------------"
          
          
                      network=$(mask2network $serverip $submask)
                      [[ -z $startrange ]] && startrange=$(addToAddress $network 10)
                      [[ -z $endrange ]] && endrange=$(subtract1fromAddress $(echo $(interface2broadcast $interface)))
                      [[ -f $dhcpconfig ]] && dhcptouse=$dhcpconfig
                      [[ -f $dhcpconfigother ]] && dhcptouse=$dhcpconfigother
                      if [[ -z $dhcptouse || ! -f $dhcptouse ]]; then
                          echo "Failed"
                          echo "Could not find dhcp config file"
                          exit 1
                      fi
                      [[ -z $bootfilename ]] && bootfilename="undionly.kpxe"
                      echo "# DHCP Server Configuration file\n#see /usr/share/doc/dhcp*/dhcpd.conf.sample" > $dhcptouse
                      echo "# This file was created by FOG" >> "$dhcptouse"
                      echo "#Definition of PXE-specific options" >> "$dhcptouse"
                      echo "# Code 1: Multicast IP Address of bootfile" >> "$dhcptouse"
                      echo "# Code 2: UDP Port that client should monitor for MTFTP Responses" >> "$dhcptouse"
                      echo "# Code 3: UDP Port that MTFTP servers are using to listen for MTFTP requests" >> "$dhcptouse"
                      echo "# Code 4: Number of seconds a client must listen for activity before trying" >> "$dhcptouse"
                      echo "#         to start a new MTFTP transfer" >> "$dhcptouse"
                      echo "# Code 5: Number of seconds a client must listen before trying to restart" >> "$dhcptouse"
                      echo "#         a MTFTP transfer" >> "$dhcptouse"
                      echo "option space PXE;" >> "$dhcptouse"
                      echo "option PXE.mtftp-ip code 1 = ip-address;" >> "$dhcptouse"
                      echo "option PXE.mtftp-cport code 2 = unsigned integer 16;" >> "$dhcptouse"
                      echo "option PXE.mtftp-sport code 3 = unsigned integer 16;" >> "$dhcptouse"
                      echo "option PXE.mtftp-tmout code 4 = unsigned integer 8;" >> "$dhcptouse"
                      echo "option PXE.mtftp-delay code 5 = unsigned integer 8;" >> "$dhcptouse"
                      echo "option arch code 93 = unsigned integer 16;" >> "$dhcptouse"
                      echo "use-host-decl-names on;" >> "$dhcptouse"
                      echo "ddns-update-style interim;" >> "$dhcptouse"
                      echo "ignore client-updates;" >> "$dhcptouse"\
                      echo "next-server $ipaddress;" >> "$dhcptouse"
                      echo "# Specify subnet of ether device you do NOT want service." >> "$dhcptouse"
                      echo "# For systems with two or more ethernet devices." >> "$dhcptouse"
                      echo "# subnet 136.165.0.0 netmask 255.255.0.0 {}" >> "$dhcptouse"
                      echo "subnet $network netmask $submask{" >> "$dhcptouse"
                      echo "    option subnet-mask $submask;" >> "$dhcptouse"
                      echo "    range dynamic-bootp $startrange $endrange;" >> "$dhcptouse"
                      echo "    default-lease-time 21600;" >> "$dhcptouse"
                      echo "    max-lease-time 43200;" >> "$dhcptouse"
          
          
          echo "-----------------------------"
          echo dnsaddress=$dnsaddress
          echo routeraddress=$routeraddress
          echo "--------------------------------------"
          
             [[ ! $(validip $routeraddress) -eq 0 ]] && routeraddress=$(echo $routeraddress | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b")
                      [[ ! $(validip $dnsaddress) -eq 0 ]] && dnsaddress=$(echo $dnsaddress | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b")
                      [[ $(validip $routeraddress) -eq 0 ]] && echo "    option routers $routeraddress;" >> "$dhcptouse" || echo "    #option routers 0.0.0.0" >> "$dhcptouse" && echo " !!! No router address found !!!"
                      [[ $(validip $dnsaddress) -eq 0 ]] && echo "    option domain-name-servers $dnsaddress;" >> "$dhcptouse" || echo "    #option routers 0.0.0.0" >> "$dhcptouse" && echo " !!! No dns address found !!!"
          
          
          
          echo "-----------------------------"
          echo dnsaddress=$dnsaddress
          echo routeraddress=$routeraddress
          echo "--------------------------------------"
           echo "    class \"Legacy\" {" >> "$dhcptouse"
                      echo "        match if substring(option vendor-class-identifier, 0, 20) = \"PXEClient:Arch:00000\";" >> "$dhcptouse"
                      echo "        filename \"undionly.kkpxe\";" >> "$dhcptouse"
                      echo "    }" >> "$dhcptouse"
                      echo "    class \"UEFI-32-2\" {" >> "$dhcptouse"
                      echo "        match if substring(option vendor-class-identifier, 0, 20) = \"PXEClient:Arch:00002\";" >> "$dhcptouse"
                      echo "        filename \"i386-efi/ipxe.efi\";" >> "$dhcptouse"
                      echo "    }" >> "$dhcptouse"
                      echo "    class \"UEFI-32-1\" {" >> "$dhcptouse"
                      echo "        match if substring(option vendor-class-identifier, 0, 20) = \"PXEClient:Arch:00006\";" >> "$dhcptouse"
                      echo "        filename \"i386-efi/ipxe.efi\";" >> "$dhcptouse"
                      echo "    }" >> "$dhcptouse"
                      echo "    class \"UEFI-64-1\" {" >> "$dhcptouse"
                      echo "        match if substring(option vendor-class-identifier, 0, 20) = \"PXEClient:Arch:00007\";" >> "$dhcptouse"
                      echo "        filename \"ipxe.efi\";" >> "$dhcptouse"
                      echo "    }" >> "$dhcptouse"
                      echo "    class \"UEFI-64-2\" {" >> "$dhcptouse"
                      echo "        match if substring(option vendor-class-identifier, 0, 20) = \"PXEClient:Arch:00008\";" >> "$dhcptouse"
                      echo "        filename \"ipxe.efi\";" >> "$dhcptouse"
                      echo "    }" >> "$dhcptouse"
                      echo "    class \"UEFI-64-3\" {" >> "$dhcptouse"
                      echo "        match if substring(option vendor-class-identifier, 0, 20) = \"PXEClient:Arch:00009\";" >> "$dhcptouse"
                      echo "        filename \"ipxe.efi\";" >> "$dhcptouse"
                      echo "    }" >> "$dhcptouse"
                      echo "}" >> "$dhcptouse"
                      case $systemctl in
                          yes)
                              systemctl enable $dhcpd >>$workingdir/error_logs/fog_error_${version}.log 2>&1
                              systemctl stop $dhcpd >>$workingdir/error_logs/fog_error_${version}.log 2>&1
                              sleep 2
                              systemctl start $dhcpd >>$workingdir/error_logs/fog_error_${version}.log 2>&1
                              sleep 2
                              systemctl status $dhcpd >>$workingdir/error_logs/fog_error_${version}.log 2>&1
                              ;;
                          *)
                              case $osid in
                                  1)
                                      chkconfig $dhcpd on >>$workingdir/error_logs/fog_error_${version}.log 2>&1
                                      service $dhcpd stop >>$workingdir/error_logs/fog_error_${version}.log 2>&1
                                      sleep 2
                                      service $dhcpd start >>$workingdir/error_logs/fog_error_${version}.log 2>&1
                                      sleep 2
                                      service status $dhcpd >>$workingdir/error_logs/fog_error_${version}.log 2>&1
                                      ;;
                                  2)
                                      sysv-rc-conf $dhcpd on >>$workingdir/error_logs/fog_error_${version}.log 2>&1
                                      /etc/init.d/$dhcpd stop >>$workingdir/error_logs/fog_error_${version}.log 2>&1
                                      sleep 2
                                      /etc/init.d/$dhcpd start >>$workingdir/error_logs/fog_error_${version}.log 2>&1 && sleep 2
                                      ;;
                              esac
                              ;;
                      esac
                      errorStat $?
                      ;;
                  *)
              echo "Skipped"
                      ;;
              esac
          }
          

          This is the output:

           * Creating auth pub key and cert..............................OK
           * Resetting SSL Permissions...................................OK
           * Setting up SSL FOG Server...................................OK
           * Restarting Apache2 for fog vhost............................OK
           * Changing permissions on apache log files....................OK
           * Backing up database.........................................OK
          
           * You still need to install/update your database schema.
           * This can be done by opening a web browser and going to:
          
             http://192.168.94.111/fog/management
          
           * Press [Enter] key when database is updated/installed.
          
           * Setting up storage..........................................OK
           * Setting up and starting DHCP Server.........................--------------------------------------
          interface=eth0
          serverip=
          submask=255.255.255.0
          ---------------------------
          ------------------------
          serverip=addr:192.168.94.111
          -------------------
          ../lib/common/functions.sh: line 186: addr:192: syntax error in expression (error token is ":192")
          ../lib/common/functions.sh: line 288: let: octet4+=: syntax error: operand expected (error token is "+=")
          -----------------------------
          dnsaddress=192.168.94.1
          routeraddress=192.168.94.1
          --------------------------------------
           !!! No router address found !!!
           !!! No dns address found !!!
          -----------------------------
          dnsaddress=192.168.94.1
          routeraddress=192.168.94.1
          --------------------------------------
          Failed!
          

          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
          Daily Clean Installation Results:
          https://fogtesting.fogproject.us/
          FOG Reporting:
          https://fog-external-reporting-results.fogproject.us/

          Tom ElliottT 1 Reply Last reply Reply Quote 0
          • Tom ElliottT
            Tom Elliott @Wayne Workman
            last edited by

            @Wayne-Workman said:

            ip addr show $interface | awk -F’[ /]’ ‘/([0-9][0-9]?[0-9]?.){3}([0-9][0-9]?[0-9]?){1}/ {print $6}’

            Found a few issues with how the controls were in place and added elements to make corrections as needed. This should be fixed now.

            Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

            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 1
            • O
              Oleg
              last edited by

              Now it’s better - I still get the Info

               * Setting up storage..........................................OK
               * Setting up and starting DHCP Server......................... !!! No router address found !!!
               !!! No dns address found !!!
              OK
               * Setting up and starting TFTP and PXE Servers................OK
              

              but the script continues and everything seems to be ok.

              Wayne WorkmanW 1 Reply Last reply Reply Quote 1
              • Wayne WorkmanW
                Wayne Workman @Oleg
                last edited by

                @Oleg Can you please check to see if there is a Router/DNS address set inside of /etc/dhcp/dhcpd.conf ? Also, what are the router and DNS values inside of /opt/fog/.fogsettings now?

                Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
                Daily Clean Installation Results:
                https://fogtesting.fogproject.us/
                FOG Reporting:
                https://fog-external-reporting-results.fogproject.us/

                1 Reply Last reply Reply Quote 0
                • O
                  Oleg
                  last edited by

                  @Wayne-Workman
                  yes in both files are the addresses set correctly

                  Wayne WorkmanW 1 Reply Last reply Reply Quote 1
                  • Wayne WorkmanW
                    Wayne Workman @Oleg
                    last edited by

                    @And if you re-run the installer, you should no longer get those messages !!! No dns address found !!!

                    If you do not see those messages anymore, then this issue is resolved.

                    Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
                    Daily Clean Installation Results:
                    https://fogtesting.fogproject.us/
                    FOG Reporting:
                    https://fog-external-reporting-results.fogproject.us/

                    1 Reply Last reply Reply Quote 0
                    • O
                      Oleg
                      last edited by

                      @Wayne-Workman I really don’t want to dissapoint you 😇
                      I’ve updated now to the svn 6755 and still get the ! ! ! No router address found ! ! ! and ! ! ! No dns address found ! ! !
                      How I said before - the setup is complete and everything seems to work. I only get these two “warnings”

                      Here is my .fogsettings:

                      ## Start of FOG Settings
                      ## Created by the FOG Installer
                      ## Version: 6755
                      ## Install time: Sat 12 Mar 2016 05:58:49 PM CET
                      ipaddress='192.168.94.111'
                      interface='eth0'
                      submask='255.255.255.0'
                      routeraddress='192.168.94.1'
                      plainrouter='192.168.94.1'
                      dnsaddress='192.168.94.1'
                      dnsbootimage='192.168.94.1'
                      username='fog'
                      password="XXXXXX"
                      osid='2'
                      osname='Debian'
                      dodhcp='Y'
                      bldhcp='1'
                      blexports='1'
                      installtype='N'
                      snmysqluser=''
                      snmysqlpass=""
                      snmysqlhost=''
                      installlang=''
                      donate='0'
                      storageLocation='/images'
                      fogupdateloaded=1
                      docroot='/var/www/html/'
                      webroot='fog/'
                      caCreated='yes'
                      startrange='192.168.94.60'
                      endrange='192.168.94.99'
                      bootfilename='undionly.kpxe'
                      packages='apache2 php5 php5-json php5-gd....
                      noTftpBuild=''
                      notpxedefaultfile=''
                      sslpath='/opt/fog/snapins/ssl/'
                      ## End of FOG Settings
                      

                      And this is the dhcpd.conf:

                      ...
                      next-server 192.168.94.111;
                      # 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.94.0 netmask 255.255.255.0{
                          option subnet-mask 255.255.255.0;
                          range dynamic-bootp 192.168.94.60 192.168.94.99;
                          default-lease-time 21600;
                          max-lease-time 43200;
                          option routers 192.168.94.1;
                          option domain-name-servers 192.168.94.1;
                      ...
                      
                      Wayne WorkmanW 1 Reply Last reply Reply Quote 1
                      • S
                        Sebastian Roth Moderator
                        last edited by Sebastian Roth

                        Confirmed, found, here is the fix:

                        diff --git a/lib/common/functions.sh b/lib/common/functions.sh
                        index 5b3431d..15640c5 100755
                        --- a/lib/common/functions.sh
                        +++ b/lib/common/functions.sh
                        @@ -1834,8 +1834,8 @@ configureDHCP() {
                                     echo "    max-lease-time 43200;" >> "$dhcptouse"
                                     [[ ! $(validip $routeraddress) -eq 0 ]] && routeraddress=$(echo $routeraddress | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b")
                                     [[ ! $(validip $dnsaddress) -eq 0 ]] && dnsaddress=$(echo $dnsaddress | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b")
                        -            [[ $(validip $routeraddress) -eq 0 ]] && echo "    option routers $routeraddress;" >> "$dhcptouse" || echo "    #option routers 0.0.0.0" >> "$dhcptouse" && echo " !!! No router address found !!!"
                        -            [[ $(validip $dnsaddress) -eq 0 ]] && echo "    option domain-name-servers $dnsaddress;" >> "$dhcptouse" || echo "    #option routers 0.0.0.0" >> "$dhcptouse" && echo " !!! No dns address found !!!"
                        +            [[ $(validip $routeraddress) -eq 0 ]] && echo "    option routers $routeraddress;" >> "$dhcptouse" || ( echo "    #option routers 0.0.0.0" >> "$dhcptouse" && echo " !!! No router address found !!!" )
                        +            [[ $(validip $dnsaddress) -eq 0 ]] && echo "    option domain-name-servers $dnsaddress;" >> "$dhcptouse" || ( echo "    #option routers 0.0.0.0" >> "$dhcptouse" && echo " !!! No dns address found !!!" )
                                     echo "    class \"Legacy\" {" >> "$dhcptouse"
                                     echo "        match if substring(option vendor-class-identifier, 0, 20) = \"PXEClient:Arch:00000\";" >> "$dhcptouse"
                                     echo "        filename \"undionly.kkpxe\";" >> "$dhcptouse"
                        

                        Sorry @Tom-Elliott for just posting this here but I don’t think this is worth a pull request… 😄

                        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

                        Tom ElliottT 1 Reply Last reply Reply Quote 1
                        • Tom ElliottT
                          Tom Elliott @Sebastian Roth
                          last edited by

                          @Sebastian-Roth That’s fine, but it doesn’t appear to have all the data.

                          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                          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 1
                          • S
                            Sebastian Roth Moderator
                            last edited by

                            Yeah, just noticed…updated my post. Essentially it’s just some brackets missing to make the logic work like it should [[ ...]] && ... || ( ... && ...)

                            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

                            Tom ElliottT 1 Reply Last reply Reply Quote 1
                            • Tom ElliottT
                              Tom Elliott @Sebastian Roth
                              last edited by

                              @Sebastian-Roth Added to the code and pushed.

                              Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                              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 2
                              • Wayne WorkmanW
                                Wayne Workman @Oleg
                                last edited by

                                @Oleg Can you please update and try again since there has been another fix to this? Ideally, you should no longer get the warnings.

                                Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
                                Daily Clean Installation Results:
                                https://fogtesting.fogproject.us/
                                FOG Reporting:
                                https://fog-external-reporting-results.fogproject.us/

                                1 Reply Last reply Reply Quote 0
                                • O
                                  Oleg
                                  last edited by

                                  Perfect now! Installer and configs are all correct. From my side the problem is solved. Thanks!

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

                                  226

                                  Online

                                  12.0k

                                  Users

                                  17.3k

                                  Topics

                                  155.2k

                                  Posts
                                  Copyright © 2012-2024 FOG Project