dhcpcd: Install and configure dhcpcd
`dhcpcd` is a fully-featured network manager, without all the bloat of `NetworkManager`.jenkins-master
parent
5181ddaa00
commit
9e73b56ac7
|
@ -0,0 +1,3 @@
|
||||||
|
- hosts: dhcpcd
|
||||||
|
roles:
|
||||||
|
- dhcpcd
|
|
@ -0,0 +1,13 @@
|
||||||
|
dhcpcd_send_hostname: true
|
||||||
|
dhcpcd_use_clientid: false
|
||||||
|
dhcpcd_persistent: true
|
||||||
|
dhcpcd_rapid_commit: true
|
||||||
|
dhcpcd_options: '{{ dhcpcd_default_options }}'
|
||||||
|
dhcpcd_ntp_servers: true
|
||||||
|
dhcpcd_interface_mtu: true
|
||||||
|
dhcpcd_require_server_id: true
|
||||||
|
dhcpcd_slaac_private: true
|
||||||
|
dhcpcd_noipv4ll: false
|
||||||
|
dhcpcd_noipv4: false
|
||||||
|
dhcpcd_noipv6rs: false
|
||||||
|
dhcpcd_interfaces: []
|
|
@ -0,0 +1,4 @@
|
||||||
|
- name: restart dhcpcd
|
||||||
|
service:
|
||||||
|
name=dhcpcd
|
||||||
|
state=restarted
|
|
@ -0,0 +1,21 @@
|
||||||
|
- name: ensure dhcpcd is installed
|
||||||
|
package:
|
||||||
|
name=dhcpcd
|
||||||
|
state=present
|
||||||
|
|
||||||
|
- name: ensure dhcpcd is configured
|
||||||
|
template:
|
||||||
|
src=dhcpcd.conf.j2
|
||||||
|
dest=/etc/dhcpcd.conf
|
||||||
|
mode=0644
|
||||||
|
notify: restart dhcpcd
|
||||||
|
|
||||||
|
- name: ensure dhcpcd starts at boot
|
||||||
|
service:
|
||||||
|
name=dhcpcd
|
||||||
|
enabled=yes
|
||||||
|
- meta: flush_handlers
|
||||||
|
- name: ensure dhcpcd is running
|
||||||
|
service:
|
||||||
|
name=dhcpcd
|
||||||
|
state=started
|
|
@ -0,0 +1,112 @@
|
||||||
|
# A sample configuration for dhcpcd.
|
||||||
|
# See dhcpcd.conf(5) for details.
|
||||||
|
|
||||||
|
# Allow users of this group to interact with dhcpcd via the control socket.
|
||||||
|
{% if dhcpcd_controlgroup is defined %}
|
||||||
|
controlgroup {{ dhcpcd_controlgroup }}
|
||||||
|
{% else %}
|
||||||
|
#controlgroup wheel
|
||||||
|
{% endif %}
|
||||||
|
{% if dhcpcd_allow_interfaces is defined %}
|
||||||
|
|
||||||
|
allowinterfaces {{ dhcpcd_allow_interfaces }}
|
||||||
|
{% endif %}
|
||||||
|
{% if dhcpcd_deny_interfaces is defined %}
|
||||||
|
|
||||||
|
denyinterfaces {{ dhcpcd_deny_interfaces }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# Inform the DHCP server of our hostname for DDNS.
|
||||||
|
{% if dhcpcd_send_hostname|bool %}
|
||||||
|
hostname
|
||||||
|
{% else %}
|
||||||
|
#hostname
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# Use the hardware address of the interface for the Client ID.
|
||||||
|
{% if dhcpcd_use_clientid|bool %}
|
||||||
|
clientid
|
||||||
|
{% else %}
|
||||||
|
#clientid
|
||||||
|
{% endif %}
|
||||||
|
# or
|
||||||
|
# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.
|
||||||
|
# Some non-RFC compliant DHCP servers do not reply with this set.
|
||||||
|
# In this case, comment out duid and enable clientid above.
|
||||||
|
{% if not dhcpcd_use_clientid|bool %}
|
||||||
|
duid
|
||||||
|
{% else %}
|
||||||
|
#duid
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# Persist interface configuration when dhcpcd exits.
|
||||||
|
{% if dhcpcd_persistent|bool %}
|
||||||
|
persistent
|
||||||
|
{% else %}
|
||||||
|
#persistent
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# Rapid commit support.
|
||||||
|
# Safe to enable by default because it requires the equivalent option set
|
||||||
|
# on the server to actually work.
|
||||||
|
{% if dhcpcd_rapid_commit|bool %}
|
||||||
|
option rapid_commit
|
||||||
|
{% else %}
|
||||||
|
#option rapid_commit
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# A list of options to request from the DHCP server.
|
||||||
|
{% for option in dhcpcd_options %}
|
||||||
|
option {{ option }}
|
||||||
|
{% endfor %}
|
||||||
|
# Most distributions have NTP support.
|
||||||
|
{% if dhcpcd_ntp_servers|bool %}
|
||||||
|
option ntp_servers
|
||||||
|
{% else %}
|
||||||
|
#option ntp_servers
|
||||||
|
{% endif %}
|
||||||
|
# Respect the network MTU. This is applied to DHCP routes.
|
||||||
|
{% if dhcpcd_interface_mtu|bool %}
|
||||||
|
option interface_mtu
|
||||||
|
{% else %}
|
||||||
|
#option interface_mtu
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# A ServerID is required by RFC2131.
|
||||||
|
{% if dhcpcd_require_server_id|bool %}
|
||||||
|
require dhcp_server_identifier
|
||||||
|
{% else %}
|
||||||
|
#require dhcp_server_identifier
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# Generate Stable Private IPv6 Addresses instead of hardware based ones
|
||||||
|
{% if dhcpcd_slaac_private|bool %}
|
||||||
|
slaac private
|
||||||
|
{% else %}
|
||||||
|
#slaac private
|
||||||
|
{% endif %}
|
||||||
|
{% if dhcpcd_noipv4ll|bool %}
|
||||||
|
|
||||||
|
# Disable IPv4 link-local address automatic configuration (APIPA)
|
||||||
|
noipv4ll
|
||||||
|
{% endif %}
|
||||||
|
{% if dhcpcd_noipv4|bool %}
|
||||||
|
|
||||||
|
# Disable IPv4 configuration entirely
|
||||||
|
noipv4
|
||||||
|
{% endif %}
|
||||||
|
{% if dhcpcd_noipv6rs|bool %}
|
||||||
|
|
||||||
|
# Disable IPv6 router solicitations
|
||||||
|
noipv6rs
|
||||||
|
{% endif %}
|
||||||
|
{% for iface in dhcpcd_interfaces %}
|
||||||
|
|
||||||
|
{% if iface.description is defined %}
|
||||||
|
# {{ iface.description }}
|
||||||
|
{% endif %}
|
||||||
|
interface {{ iface.name }}
|
||||||
|
{% for setting in iface.config %}
|
||||||
|
{{ setting }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
|
@ -0,0 +1,3 @@
|
||||||
|
dhcpcd_default_options:
|
||||||
|
- domain_name_servers, domain_name, domain_search, host_name
|
||||||
|
- classless_static_routes
|
Loading…
Reference in New Issue