Forge Home

network

Puppet network Module

13,274 downloads

10,462 latest version

4.6 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 1.1.3 (latest)
  • 1.1.2
  • 1.1.1
  • 1.0.1
  • 1.0.0
released Mar 17th 2015
This version is compatible with:
  • ,
This module has been deprecated by its author since Jan 4th 2021.

Start using this module

Tags: network

Documentation

attachmentgenie/network — version 1.1.3 Mar 17th 2015

Build Status

Puppet Network Module

Module for configuring network interfaces.

Tested on Debian GNU/Linux 6.0 Squeeze and Ubuntu 10.4 LTS and 12.04 LTS with Puppet 2.6 and 2.7. Patches for other operating systems are welcome.

Usage

By including the network::interfaces class you get a basic configuration with only a loopback interface:

include network::interfaces

You can enable the eth0 interface configured with DHCP:

class { "network::interfaces":
  interfaces => {
    "eth0" => {
      "method" => "dhcp",
    }
  },
  auto => ["eth0"],
}

Or you can enable the eth0 interface with a static configuration:

class { "network::interfaces":
  interfaces => {
    "eth0" => {
      "method" => "static",
      "address" => "10.0.0.50",
      "netmask" => "255.255.255.0",
      "gateway" => "10.0.0.1",
    }
  },
  auto => ["eth0"],
}

It's also possible to create two interfaces on the same ethernet device:

class { "network::interfaces":
  interfaces => {
    "eth0" => {
      "method" => "static",
      "address" => "10.0.0.50",
      "netmask" => "255.255.255.0",
      "gateway" => "10.0.0.1",
    }
    "eth0:1" => {
      "method" => "static",
      "address" => "10.0.0.60",
      "netmask" => "255.255.255.0",
    }
  },
  auto => ["eth0", "eth0:1"],
}

You can create pseudo interfaces which are useful for handling different wireless networks:

class { "network::interfaces":
  interfaces => {
    "work" => {
      "method" => "dhcp",
      "wpa-ssid" => "work-wlan",
      "wpa-psk" => "supersecretkey",
    }
    "open" => {
      "method" => "dhcp",
      "wireless-essid" => "open-wlan",
    }
  },
  mappings => {
    "wlan0" => {
      "script" => "guessnet-ifupdown",
      "maps" => ["timeout: 5", "work"],
    }
  },
  auto => ["wlan0"],
}