ansible-role-systemd_networkd/defaults/main.yml
Michael Vollman 242b3c3fb4 Add ipforward option to configure IPForward
Add ipforward bool optional setting to systemd_networks to enable
or disable forwarding for a given interface.  IPForward is disabled
by default.

Change-Id: Iaea33b1bdde1964f38612ab8c278fed4985d390b
2019-02-11 09:55:26 -05:00

166 lines
6.6 KiB
YAML

---
# Copyright 2017, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Cleanup all known network interfaces. When this option is enabled the role
# will search for and remove all network interface files that match the prefix.
systemd_interface_cleanup: false
# Prefix for all networkd files created by this role. This prefix allows
# deployers to set specific file names reducing the chance of a collision
# and simplifies the network interface file cleanup operation should it ever
# be needed. By default, the prefix is "general" however this can be changed
# to meet the needs of the deployer.
systemd_networkd_prefix: "general"
# Enable systemd-networkd and (re)start the service
systemd_run_networkd: false
# Default filename formatting
systemd_networkd_filename: "{{ item.0 }}-{{ systemd_networkd_prefix }}-{{ item.1.NetDev.Name }}"
systemd_networkd_filename_alt: "{{ item.0 }}-{{ systemd_networkd_prefix }}-{{ item.1.interface }}"
# The `systemd_link_config_overrides` option can be used on the default link.
# See the following link for all available options:
# https://www.freedesktop.org/software/systemd/man/systemd.link.html
# systemd_default_unit:
# Match:
# Driver=things other thing
systemd_link_config_overrides: {}
# All items listed in the `systemd_netdevs` array are craeted using the exact
# networkd syntax found here:
# https://www.freedesktop.org/software/systemd/man/systemd.netdev.html
# At an absolute minimum, the items must have "NetDev" and "Name" defined.
# Items generated will have an integer assigned to them so that they're loaded
# in the order specified.
# systemd_netdevs:
# - NetDev:
# Name: dummy0
# Kind: dummy
# - NetDev:
# Name: dummy1
# Kind: dummy
# filename: "{{ item.1.NetDev.Name }}.netdev"
# - NetDev:
# Name: bond0
# Kind: bond
# Bond:
# Mode: 802.3ad
# TransmitHashPolicy: layer3+4
# MIIMonitorSec: 1s
# LACPTransmitRate: fast
# - NetDev:
# Name: br-dummy
# Kind: bridge
systemd_netdevs: []
# The systemd networkd dictionary is a set of networks that will be created.
# items generated will have an integer assigned to them so that they're loaded
# in the order specified. The dictionary can contain the following options:
# `config_overrides` -- (optional) used to inject extra configuration options
# into the network file. A full list of all
# options can be found here:
# https://www.freedesktop.org/software/systemd/man/systemd.network.html
# `link_config_overrides` -- (Optional) Used to inject extra configuration
# options into link file. A full list
# of all options can be found here:
# https://www.freedesktop.org/software/systemd/man/systemd.link.html
# `interface` -- (required) Name of interface to match
# `address` -- (option) IP address the interface should be given. To make this
# interface use DHCP set this string to "dhcp"
# `netmask` -- (optional) Netmask to use for the interface
# `gateway` -- (optional) Gateway to use for the interface
# `bridge` -- (optional) Bridge name for a mapped interface
# `bond` -- (optional) Bond name for a mapped interface
# `vlan` -- (optional) VLAN name for a mapped interface
# `macvlan` -- (optional) MACVLAN name for a mapped interface
# `vxlan` -- (optional) VXLAN name for a mapped interface
# `mtu` -- (optional) MTU to use for the interface
# `usedns` -- (optional) When set to true the interface will accept DNS when
# running in dhcp mode
# `static_routes` -- (optional) list of routes to use for the network. This
# option requires a gateway and cidr to be set
# within the list item.
# `ipforward` -- (optional) When set to true forwarding will be enabled for
# interface. This setting will enable
# net.ipv4.ip_forward, net.ipv4.conf.all.forwarding
# and net.ipv4.conf.interface.forwarding
# systemd_networks:
# - interface: "dummy0"
# bridge: "bond0"
# mtu: 9000
# - interface: "dummy1"
# filename: "{{ item.1.interface }}.network"
# bridge: "bond0"
# mtu: 9000
# - interface: "bond0"
# bridge: "br-dummy"
# mtu: 9000
# - interface: "br-dummy"
# bridge: "br-dummy"
# address: "10.0.0.100"
# netmask: "255.255.255.0"
# gateway: "10.0.0.1"
# mtu: 9000
# usedns: true
# config_overrides:
# Network:
# ConfigureWithoutCarrier: true
systemd_networks: []
# The systemd resolved service can be setup using th following configuration.
# The generator is a Key=Value pair hash and will set whatever directives it's
# instructed to. For more information on all of the possible configuration see
# https://www.freedesktop.org/software/systemd/man/resolved.conf.html
# systemd_resolved:
# DNS: "10.127.83.1"
# FallbackDNS: "208.67.222.222 8.8.8.8"
# Cache: yes
systemd_resolved: {}
# Enable or Disable the availability of systemd-resolved. This option is a
# Boolean variable.
systemd_resolved_available: "{{ _systemd_resolved_available | default(true) }}"
# Specify the command used to update the initramfs. By default this will run
# "/bin/true" which is done because the command required to run should never
# be assumed. Distro specific config is available in vars otherwise deployers
# can set this as needed.
systemd_networkd_update_initramfs: "{{ _systemd_networkd_update_initramfs | default('true') }}"
# Provide a list of packages that are to be installed before this role is
# executed.
# _systemd_networkd_distro_packages:
# - systemd-networkd
# - systemd-resolved
systemd_networkd_distro_packages: "{{ _systemd_networkd_distro_packages | default([]) }}"
# The systemd networkd service can be used to set specific link configuration options.
# For more information on all of the possible configuration see
# https://www.freedesktop.org/software/systemd/man/systemd.link.html
systemd_networkd_link:
MACAddressPolicy: "persistent"