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.
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...
Right. I think so too. Multiple pxe instances each bound to thier own interface configured for the right address for tftp.
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.
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.
I remember this same issue back in 7.4. Are you using the pxesvr.conf file?
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/:
If DHCP Server is running on same server
1) Stop DHCP Server service.
2) Run PXE server service and then start the DHCP Server.
This is of course the pxe service on eth0
Yeah. You will have to get it to bind to only one first. Can you send me your pxe.conf?
Set this to true if you want the configurations in this file to be used by the PXE server.
NOTE: Be sure to restart the PXE server after any change is made to this file for the change to take effect.
which interface to use
the multicast ip address to listen on
the port to listen on
enable multicast (1 for true, 0 for false)
enable broadcast (1 for true, 0 for false)
the ip address of the tftp server
tftpd base dir
To disable auto discovery, set to 1
In this case the pxe server will only repsond to devices already
present in the provisioning system i.e manually imported
Does it behave if you turn off multi-cast?
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
I remember this being finicky in the past. I thought I remember having to change the multicast address to the unicast address.
I think that did it. changed the multicast address to the unicast... seems to coexist now.
I figured that out a couple years ago after alot of deep thought.