Forge Home

arptables

Manages arptables

9,535 downloads

9,218 latest version

3.1 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.0.2 (latest)
  • 1.0.1
  • 1.0.0 (deleted)
released Mar 20th 2015
This version is compatible with:
  • Puppet Enterprise 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 3.7.3

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'novakv-arptables', '1.0.2'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add novakv-arptables
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install novakv-arptables --version 1.0.2

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

novakv/arptables — version 1.0.2 Mar 20th 2015

#puppet-arptables

This module makes use of the Puppet Type System and EPP templates, so it only works in 3.7 when the future parser is enabled.

On RedHat, in a direct routing load balancer setup, this module configures direct routing on real servers using arptables_jf.

This module manages /etc/sysconfig/arptables. With its default settings, it will also add ip aliasses and overwrite /etc/rc.d/rc.local. Set manage_ip_alias to false to prevent changes to rc.local.

##Parameters

###service_enable Default: false (boolean)

###service_ensure Default: stopped

The reasoning behind above defaults is that often the PREROUTING chain in iptables is used to achieve the same goal. So in order to configure direct routing using arptables_jf, you must change these defaults.

###manage_ip_alias Default: true (boolean)

If not already configured, adds ip aliasses to the interface specified in interface and adds them to rc.local for configuration to persist after reboots.

###virtual_ip Default: undef

Always specify virtual_ip, as string or array, when manage_ip_alias is true. In addition to adding ip aliasses through rc.local, it is used for configuring arptables when there is a single real ip on the system.

###real_ip Default: undef Specify real_ip string only when there is a sigle real ip, otherwise use virtual_real_ip mapping.

###virtual_real_ip Default: undef

virtual_real_ip hash is used to configure arptables when there are multiple real ips on the system.

###interface Default: undef

Always specify interface when manage_ip_alias is true (default). It is used in adding ip aliasses through rc.local.

Usage

Sample Hiera configurations

serverone.yaml

arptables::service_enable: true
arptables::service_ensure: running
arptables::virtual_ip: 10.0.2.20
arptables::real_ip: 10.0.2.15
arptables::interface: eth0

servertwo.yaml

arptables::service_enable: true
arptables::service_ensure: running
arptables::virtual_ip:
  - 172.31.168.20
  - 172.31.168.22
  - 172.31.168.24
arptables::interface: eth0
arptables::virtual_real_ip:
  172.31.168.20: '172.31.168.30'
  172.31.168.22: '172.31.168.32'
  172.31.168.24: '172.31.168.34'