14 Replies Latest reply on Mar 23, 2010 10:50 AM by Adam Bowen

    tftp/pxe with multiple NICs

    Bill Robinson

      I have a PXE/TFTP server that has 4 NICs in it.  Each nic is on a different subnet, and there is no routing between subnets.  from what I can tell, when PXE responds w/ the 'next-server' option to the DHCP request from the PXE client (the target server) w/ the IP of the tftp server's IP as configured in the bladelogic PM GUI (Tools | Configurations | TFTP) or potentially what's in the config file.

       

      so how would we handle this?  do i need multiple instances of the pxe server installed?

        • 1. Re: tftp/pxe with multiple NICs

          I believe PXE functions very much like a DHCP helper. And you need one bound to each interface for that subnet that it is helping.

          • 2. Re: tftp/pxe with multiple NICs
            Bill Robinson

            But the problem is that it seems to be handing out the ip of the tftp server set in the db.  Pxe can 'bind' to eth* but it still sends out the 1 ip, not the appropriate for each network.  I think if I had multiple pxe instances that would work, it should read the tftp config out of the config file.   need to see about hacking multiple '_pxe' deployments...

            • 3. Re: tftp/pxe with multiple NICs

              Right. I think so too. Multiple pxe instances each bound to thier own interface configured for the right address for tftp.

              • 4. Re: tftp/pxe with multiple NICs
                Bill Robinson

                Even if I tell the pxe server to bind to eth0, it's still binding to 0.0.0.0 for some stuff so I can't startup a 2nd instance.  I also tried changing the tftpserver ip to a hostname that will resolve properly for each network, however it looks like pxe resolves the name and sends the ip, which does me no good.

                • 5. Re: tftp/pxe with multiple NICs
                  Bill Robinson

                  My pxe process is bound to:

                  tcp        0      0 0.0.0.0:6897                0.0.0.0:*                   LISTEN      25609/java         

                  tcp        0      0 0.0.0.0:9907                0.0.0.0:*                   LISTEN      25609/java         

                  tcp        0      0 0.0.0.0:9855                0.0.0.0:*                   LISTEN      25609/java         

                  udp        0      0 0.0.0.0:4011                0.0.0.0:*                               25609/java         

                  udp        0      0 127.0.0.1:4011              0.0.0.0:*                               25609/java         

                  udp        0      0 192.168.1.220:4011          0.0.0.0:*                               25609/java         

                  udp        0      0 0.0.0.0:67                  0.0.0.0:*                               25609/java         

                   

                  even though I told it to bind to eth0.  I get rmi errors when I startup a 2nd instance.

                  • 6. Re: tftp/pxe with multiple NICs

                    I remember this same issue back in 7.4. Are you using the pxesvr.conf file?

                    • 7. Re: tftp/pxe with multiple NICs
                      Bill Robinson

                      Pxe.conf  there's a pxesvr.cf which seems to be only logging.  I'm on 7.6.  I was able to change the rmi port in blasadmin (duh), but now it stops w/:

                       

                      [] Will bind to eth1

                      [] Address already in use

                      [] UDP Port 68 is blocked by some service

                      If DHCP Server is running on same server

                      1) Stop DHCP Server service.

                      2) Run PXE server service and then start the DHCP Server.

                      [] Undeploying

                       

                      This is of course the pxe service on eth0

                      • 8. Re: tftp/pxe with multiple NICs

                        Yeah. You will have to get it to bind to only one first. Can you send me your pxe.conf?

                        • 9. Re: tftp/pxe with multiple NICs
                          Bill Robinson
                          1. Set this to true if you want the configurations in this file to be used by the PXE server. 

                          2. NOTE:  Be sure to restart the PXE server after any change is made to this file for the change to take effect.

                          use_config_file=true

                           

                          1. which interface to use

                          interface=eth0

                           

                          1. the multicast ip address to listen on

                          multicast_address=224.1.5.1

                           

                          1. the port to listen on

                          listen_port=4011

                           

                          1. prompt options

                          prompt_timeout=0

                           

                          1. domain name

                          domain=internal

                           

                          1. enable multicast (1 for true, 0 for false)

                          use_multicast=1

                           

                          1. enable broadcast (1 for true, 0 for false)

                          use_broadcast=0

                           

                          1. the ip address of the tftp server

                          tftp_server_address=192.168.1.220

                           

                          1. tftpd base dir

                          tftp_base_directory=/usr/nsh/tftproot

                           

                          1. mtftp configurations

                          mtftp_address=224.1.5.1

                          mtftp_client_port=1758

                          mtftp_server_port=1759

                           

                          1. MAS configurations

                          #multi_db_mode=1

                          #device_cache_refresh_interval=300

                          #min_time_for_cache_refresh=60

                          #single_mode_db_name=

                           

                           

                          1. To disable auto discovery, set to 1

                          2. In this case the pxe server will only repsond to devices already

                          3. present in the provisioning system i.e manually imported

                          auto_discover_disabled=0

                          • 10. Re: tftp/pxe with multiple NICs

                            Does it behave if you turn off multi-cast?

                            • 11. Re: tftp/pxe with multiple NICs
                              Bill Robinson

                              I'll try it again, but I think when I turn off multi-cast, it doesn't hand out the tftp server to the pxe client

                              • 12. Re: tftp/pxe with multiple NICs

                                I remember this being finicky in the past. I thought I remember having to change the multicast address to the unicast address.

                                • 13. Re: tftp/pxe with multiple NICs
                                  Bill Robinson

                                  I think that did it.  changed the multicast address to the unicast... seems to coexist now.

                                  • 14. Re: tftp/pxe with multiple NICs

                                    I figured that out a couple years ago after alot of deep thought.