Using dnsmasq to pxeboot diskless nodes in a heterogeneous cluster
I have been trying to switch from dhcp + tftp-hpa to dnsmasq because I was under the impression that the configuration was more consolidated (less files to keep track of.)
This is becoming unexpectedly frustrating as I cannot even get my server to dish out an address to a client! I was going to work my way up to the configuration I wanted by tweaking settings one at a time, but seeing as I cannot even get a dhcp server working, I might as well just describe what I am trying to accomplish and fish for some tips on how to configure it. I would like to give my server/router/head node/master an address of: 192.168.1.1 I would like to map lists of mac addresses (are those case sensitive?) to lists of subnets like this: i686 adresses ==> the i686 net { mac1, mac2, mac3 } mad64 adresses ==> the amd64 net { mac4, mac5, mac6 } Each subnet gets its own kernel and nfs root file system. The usual pxelinux.0 and pxelinux.cfg stuff is in a directory called /node and each architecture's root file system is in a directory in /node (e.g. /node/i686, /node/amd64, etc.) eth0 is for the cluster (I will get an ethernet switch as soon as I get one node working using this method), eth1 is for my internet access on the head node. That should take care of everything needed to set up the network. So how would I set up dnsmasq to work with this? I have tried following 3 or 4 guides on diskless booting with gentoo, but without any response from the pxe client, I do not know how I am supposed to debug them. Any help/advise of would be appreciated. |
Hi there,
Quote:
Quote:
Code:
#visitors (hosts with an unknown MAC address) will get an IP in the following range Quote:
Quote:
By the way, the question whether MAC addresses are case sensitive doesn't make sense. A MAC address is simply six bytes. There is no such thing as case-ness about it. [X] Doc CPU |
Thanks for the reply. I will try deleting all my configuration files except the dnsmasq.conf file and using your sample file (modifying the mac addresses of course) later.
In the mean time.... Quote:
Quote:
dhcp-host=00:E0:4D:8A:C1:83, andy,192.168.123.1,24h and dhcp-host=00:e0:4d:8a:c1:83, andy,192.168.123.1,24h I am guessing by your reaction there is no difference (and that it is probably obvious enough to most that the question never even crossed their minds.) Quote:
I will have to look into how dnsmasq handles switches. For instance, if I put a switch on eth0 with 2 slots, and I put another switch on one of those slots: eth0==>eth0:0,eth0:1 eth0:0==>eth0:0:0, eth0:0:1 (if you can follow my notation) I might say: everything coming through eth0:0 gets assigned an address on 192.168.2.0 everything everything coming from eth0:1 gets assigned an address on 192.168.3.0 Then I stick an amd64 computer on eth0:1 and two i686 computers on eth0:0:0, and eth0:0:1. I admit I have not looked into this, so I will research that before I complain it does not work. But if you have any thoughts, please share. I will update you on how that basic dnsmasq.conf works later. I am just hoping to see it get an address at this point. |
Hi there,
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
But you can take the term "switch" literally: It behaves like a mechanical switch for packets to a certain destination. A switch does not show up in any IP related consideration. [X] Doc CPU |
Ok, so scratch the switching idea. Thanks for clarifying by the way. I will have to distinguish stuff with tags. I will have to come up with a way to associate mac addresses with tags, and keep separate dnsmasq configurations for each tag (e.g. i686, i386, amd64, etc.) Again, I will have to do some research on that.
Quote:
Do I still need to have net.eth1 and net.eth0 in rc-update's "default" (I think it was default) boot stage? This config file stuff was another thing I wanted to double check. With dhcpd, syslinux, and tftp-hpa there were at least 5 or 6 files to configure. Ex: dhcpd.conf dhcpcd.conf exports in.tftpd (something like that) net pxelunx.default Those are the ones I remember immediately. Amazingly, the whole setup actually worked. There was of course enormous redundancy in the config files, so I figured if dnsmasq is even remotely easier to configure it will save me a lot of maintenance in the long run. So which files should I have to worry about maintaining in my case? Is it really all done through dnsmasq.conf? Is there a way I can specify which kernel and nfs root file system to use for each tag/subnet/architecture? |
Hi there.
Quote:
And now that you mention resolv.conf, I remember that it does play a minor role, too - but only for the machine itself in the role as a client. You should actually put 127.0.0.1 as the first line in your resolv.conf, so that the machine asks "itself" (that is, its own DNS server) first before going public with a DNS query. Quote:
Quote:
Quote:
[X] Doc CPU |
All times are GMT -5. The time now is 01:42 PM. |