MAAS Networking for Dummies? for 3.1 new setup

I am about to redo my server farm, which has about 30 machines managed by MAAS. Before I do this, I wanted to get some clarity on configuring the network settings properly, as I’ve always found this confusing, even if I try and follow the tutorials line for line. There seem to be some assumptions and/or missing information that I am missing.

I am using this as a reference:

Configuration of my MAAS rack+region controller:

4 network ports:
Eth0: Has static IP address from my university (XXX.XXX.238.9);
Also has a gateway of XXX.XXX.238.2

So I set that up, do all the apt-get updates, etc…

Now where I get confused… I have 3 other adapters…
Eth1: This is manually configured to 192.168.20.1 (no gateway set)
This “red” network connects to all of my IPMI ports on all of my machines; each machine has a static IP address for the IPMI network.

Eth2 (Black Network): 192.168.30.XXX This is the network I would like to use for PXE booting/setup

Eth3 (Yellow Network) 192.168.80.XXX This is my high speed network I use for connecting to my NAS

So initially, the black/yellow network have no IP address. I want MAAS to provide DHCP for both networks.

So I currently then reconfigure Eth3/Eth4 (Yellow/Black) and assign them each a STATIC Ip address ( 30.1 and 80.1 respectively).

So at this phase, should/do I also configure the network adapters to have a gateway ?? In the past, I’ve put in 30.1 and 80.1… On my latest installation, I avoided doing that.

So I was able to PXE boot, so I know I am on the right track. However I did not put an IP address for the gateway for the PXE network… should this be set to the static IP of the MAAS controller’s INTERNAL network (i.e. 192.168.30.1 ).

Also, I was able to deploy a machine with ubuntu… node1.maas.

I can ssh into the machine using ubuntu@192.168.28.1, however if I try and do nslookup node1or node1.maas on the maas headnode/server I can a NXDOMAIN. I realize this means my machine isn’t checking the MAAS DNS server, but I would have thought that when I enable DNS on the MAAS UI, it should/would automatically update the host machine so it can query/lookup these addresses locally.

I know the DNS service itself is running, because once I connect to node1 via it’s IP Address, I CAN do an NSLOOKUP from that machine, and it is able to resolve addresses on the 192.168.30.XX network.

How is DNS itself configured on your MAAS host? I mean in your linux configuration, NOT in your MAAS configuration. Perhaps your host config needs to point at localhost (and then it will use MAAS BIND to resolve).

MAAS (BIND) itself should be setup to use something like 8.8.8.8. Or maybe I’m totally misunderstanding your issue :).

So I haven’t done/touched anything on my local DNS config… I know on my previous MAAS installations, I never touched local DNS configuration. After I enabled MAAS in the UI to serve as a DNS server for my “new” subnet, I could then look up the node1.maas addresses without doing anything special.

This is a brand new install of ubuntu 20.04 server, and then I simply followed the instructions as per:

So I did find on one of the older tutorials…

That I need to make sure bind9 is NOT installed prior to setting up MAAS for the first time…

I think you want to make sure you have something like this:

This is what I mean when I ask how is your hosts DNS configuration setup. You need to point it at MAAS in order to get the maas domain resolving for you. MAAS itself is then configured to use an external DNS server.

So I think this may be part of the problem… I initially installed MAAS through apt-get… then apt-get remove/apt-get purge and switched to using a snap based installation. It looks like some of the references in /etc/bind are/were pointing to files set in /etc/bind/maas which… doesn’t exist. Instead it looks like those files live in /var/snap/maas/18199/bind …

I am not sure if this is bad cleanup when I removed MAAS, or some simlink that should have been created but wasn’t…

So I am likely just going to wipe my server tomorrow, reinstall Stock Ubuntu 20.04, and start over, to avoid any weird SNAP/ DEB / whatever conflicts before I go to deep into the rabbit hole.

One question/clarification… where/what do I need to do prior to installation of MAAS 3.1 using the SNAP packages…

On one of the older tutorials, I saw the following:
https://maas.io/docs/snap/2.7/ui/installation

Is this still recommended/necessary?

Sorry that you have had trouble with installation. Yes I would recommend starting over with a clean server. Of course not a good idea for any other DNS or DHCP servers to be running on the same machine - but out of the box I don’t think BIND runs on Ubuntu server.

If you want to script your installation of MAAS, take a look at multipass maas tutorial. The github repo behind that has a cloud-init script for setting up MAAS and doing lots of the boring stuff for you. The repo is here:
https://github.com/canonical/maas-multipass

Probably worth a quick look just to see what things you can automate for installing MAAS.

NOTE: I am not recommending that you copy blindly everything in there, since it is doing some LXD stuff, setting up some NAT bits and pieces, and is targetted at MAAS inside a Multipass VM with a built in LXD setup. But, some of the CLI commands showcased there are probably of interest, in case you would like to make setting up MAAS script driven.

Thanks— I’ll check that out. I think I may be in a chicken/egg problem. So my basic steps:

  1. Boot to USB drive… Install Ubuntu 20.04 stock… At this point, the ONLY thing I do is assign a static IP address to ENO1 so I can access the network.
    → I manually configure 8.8.8.8 and my University’s local DNS server
    (( Since I haven’t set up MAAS yet, there is no other DNS server to add/list ))

  2. Plug in ENO2 (RED) to my IPMI network… assign static IP address

  3. Go through installation steps for stock ubuntu, reboot, do apt-get update/upgrade/etc…

  4. For sanity sake, do a reboot… system is now MAAS ready…

  5. Follow instructions on maas.io… Install MAAS snap, install local postgres database, MAAS is now running.

So I set my ENO4 to have a static IP address of 192.168.30.1 … and give it a subnet of 255.255.252.0…
I haven’t added a default gateway for this adapter/specified DNS/ etc…

So within MAAS, I now have the above settings… I haven’t found very clear documentation on setting up the network for PXE booting… and I have found the documentation if I should / shouldn’t set up any gateway information/ DNS for this network. This network was created ad hoc for MAAS, so it’s unclear if I should/shouldn’t fill in.

So this network as per the above info, is actually able to PXE boot machines… although I haven’t gone any further.

I still am unable to do an nslookup on the host machine for any machine, even though the IP addresses are listed in the MAAS provisioning UI…

Right. So at this point, your host machine I believe is still pointed at 8.8.8.8 and your University’s DNS resolver, since you didn’t mention reconfiguring it. You need to reconfigure your host machine, probably to point at itself (localhost), because that is where MAAS BIND is running. Your uni dns resolver and 8.8.8.8 will never send dns requests from your maas server back to itself ;). Once you’ve done this, dns requests will hit maas and you should be able to resolve anything that maas bind knows about, and anything it doesn’t know about it should forward to it’s upstream resolver (note: you didn’t mention which resolver you had told MAAS to use, but I assume it was 8.8.8.8 and your uni resolver).

You should set the default gateway under the subnet(s), and can add static routes there too if desired. For your black and yellow networks, I assume you should see a subnet for each under the networks tab. If you set the gateway for one of those networks (or both), then a default route(s) will get pushed down to the machine when you deploy it (note, having two gateways sent down will probably cause weirdness - haven’t actually tried doing that myself).

This also depends if you want to use DHCP or static configuration which is editable under the network tab for each machine:

TLDR;

  • Set the resolver for your maas host to be localhost
  • Set the gateway on the subnet that you want your machine to use. Make sure that represents a viable router for the network.
  • Edit network settings for each machine if you want to do something more exotic.

Thanks-- :hugs: Working on those tweaks. One thing to just clarify for clarity… I am going to set the DNS on the primary adapter to 127.0.0.1 … The GUI for the network manager tool won’t allow me to type in localhost… it has to be an OCTET format IP address…

I assume that should work… as opposed to 127.0.0.53 which I see pop up when I do NSLOOKUP.

Big help!

Sure, 127.0.0.1 should work.

Yeah… things seem stable. What made this slightly more complicated, is when you add/change the DNS providers through the GUI, even when you hit apply, they only seem to register if you disable/reenable the adapter. Since I was connecting remotely, I went with plan B, which was to just reboot the machine after adding 127.0.0.1 as the first DNS provider for my ethernet port.

Thanks for the help.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.