---
title: How to set up air-gapped MAAS
description: Canonical makes open source secure, reliable and easy to use, providing
  support for Ubuntu and a portfolio of enterprise-grade technologies. Founded in
  2004, Canonical operates globally with team members in over 80 countries.
url: https://canonical-com-2950.demos.haus/maas/docs/how-to-set-up-air-gapped-maas?format=md
---

*Submit*

# How to set up air-gapped MAAS

Operating MAAS without internet access is possible, but requires planning. Four key elements must be in place for a seamless experience:

1. Snap updates via the Enterprise Store.
2. Local package repository
3. MAAS-specific images from a local mirror
4. Other OS images from various sources

Some of these resources can also utilize a transparent proxy, minimizing impact on your existing MAAS setup.

## [Enterprise Store](https://canonical-com-2950.demos.haus/maas/docs/how-to-set-up-air-gapped-maas?format=md#p-9118-enterprise-store)

To manage snaps in an air-gapped setup, use the Enterprise Store. This eliminates the need for devices to connect to the internet. Steps to get this up:

1. Register the Enterprise Store on a machine with internet access.
2. Secure your deployment with HTTP.
3. Populate the store with snaps needed for your MAAS environment.

For detailed guidance, see the [official documentation](https://documentation.ubuntu.com/enterprise-store).

## [Local package update](https://canonical-com-2950.demos.haus/maas/docs/how-to-set-up-air-gapped-maas?format=md#p-9118-local-package-update)

Utilize the `reprepro` command to manage local Debian package repositories. It’s the recommended way, as `apt-mirror` is no longer maintained. `Reprepro` does not require an external database and manages package signatures efficiently.

For easier access, you might want to use a transparent proxy.

## [Local image mirror](https://canonical-com-2950.demos.haus/maas/docs/how-to-set-up-air-gapped-maas?format=md#p-9118-local-image-mirror)

MAAS allows you to mirror images locally by following these steps:

1. Install `simplestreams`.
2. Define variables for easier CLI interaction.
3. Specify image storage locations.
4. Add a new boot source pointing to the local mirror.

Check the [local image mirror guide](https://canonical.com/maas/docs/how-to-manage-images#p-9030-use-a-local-mirror) for comprehensive details.

## [Non-Ubuntu images](https://canonical-com-2950.demos.haus/maas/docs/how-to-set-up-air-gapped-maas?format=md#p-9118-non-ubuntu-images)

For non-MAAS OS like CentOS or RHEL, you have two options:

* Use custom `user_data`.
* Create and store custom images in a local mirror.

## [Using `user_data`](https://canonical-com-2950.demos.haus/maas/docs/how-to-set-up-air-gapped-maas?format=md#p-9118-using-user_data)

Custom `user_data` can configure CentOS or RHEL to use specific mirrors.

## [Transparent proxies](https://canonical-com-2950.demos.haus/maas/docs/how-to-set-up-air-gapped-maas?format=md#p-9118-transparent-proxies)

To avoid altering MAAS or Ubuntu settings, establish a transparent proxy:

1. Redirect Ubuntu and MAAS package requests via HTTP.
2. Create local mirrors for `archive.ubuntu.com` and `images.maas.io`.
3. Adjust DNS settings to point to these local mirrors.

This way, your existing configurations remain untouched.

---

[Previous

Deploy a FIPS kernel](https://canonical-com-2950.demos.haus/maas/docs/how-to-deploy-a-fips-compliant-kernel)
[Next

Script MAAS with Python](https://canonical-com-2950.demos.haus/maas/docs/how-to-script-maas-with-python)

Last updated 1 year, 1 month ago. [Help improve this document in the forum](https://discourse.maas.io/t/how-to-set-up-air-gapped-maas/5212).
