mirror of
https://github.com/iiab/iiab.git
synced 2025-02-15 04:32:11 +00:00
89 lines
3.1 KiB
Django/Jinja
89 lines
3.1 KiB
Django/Jinja
# A sample configuration for dhcpcd.
|
|
# See dhcpcd.conf(5) for details.
|
|
|
|
# Allow users of this group to interact with dhcpcd via the control socket.
|
|
#controlgroup wheel
|
|
|
|
# Inform the DHCP server of our hostname for DDNS.
|
|
hostname
|
|
|
|
# Use the hardware address of the interface for the Client ID.
|
|
clientid
|
|
# 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.
|
|
#duid
|
|
|
|
# Persist interface configuration when dhcpcd exits.
|
|
persistent
|
|
|
|
# Rapid commit support.
|
|
# Safe to enable by default because it requires the equivalent option set
|
|
# on the server to actually work.
|
|
option rapid_commit
|
|
|
|
# A list of options to request from the DHCP server.
|
|
option domain_name_servers, domain_name, domain_search, host_name
|
|
option classless_static_routes
|
|
# Most distributions have NTP support.
|
|
option ntp_servers
|
|
# Respect the network MTU. This is applied to DHCP routes.
|
|
option interface_mtu
|
|
|
|
# A ServerID is required by RFC2131.
|
|
require dhcp_server_identifier
|
|
|
|
# Generate Stable Private IPv6 Addresses instead of hardware based ones
|
|
slaac private
|
|
|
|
# IIAB
|
|
{% if iiab_wireless_lan_iface is defined %}
|
|
denyinterfaces {{ iiab_wireless_lan_iface }}
|
|
{% endif %}
|
|
|
|
# Setting iiab_wired_lan_iface would install the device as a slave under
|
|
# br0 so we need to turn off the dhcp client in that network layout.
|
|
# Auto creation of the wired slave is suppressed in discovered_network.yml
|
|
# -> Set iiab_wired_lan_iface if present is conditional on is_raspbian
|
|
# Slave creation can be forced by populating local_vars.yml with
|
|
# 'iiab_wired_lan_iface: eth0' which populates /etc/network/interfaces.d/iiab
|
|
# with 'bridge_ports eth0' in place of 'bridge_ports none'
|
|
# Always (try) to run DHCP client on RPi's Ethernet port, for in-field
|
|
# "cablemodems" used by many non-technical operators, who want Zero-Hassle
|
|
# Updates. This means AVOIDING "denyinterfaces eth0" below:
|
|
{% if iiab_wired_lan_iface is defined %}
|
|
denyinterfaces {{ iiab_wired_lan_iface }}
|
|
{% endif %}
|
|
|
|
{% if dhcpcd_result == "enabled" and iiab_lan_iface != "none" %}
|
|
interface {{ iiab_lan_iface }}
|
|
{% if network_172 %}
|
|
static ip_address={{ lan_ip }}/19
|
|
{% else %}
|
|
static ip_address={{ lan_ip }}/24
|
|
{% endif %}
|
|
static domain_name_servers=127.0.0.1
|
|
{% endif %}
|
|
|
|
# IIAB static IP configuration, possibly trying DHCP first
|
|
{% if wan_ip != "dhcp" %}
|
|
{% if wan_try_dhcp_before_static_ip %}
|
|
profile static_eth0
|
|
static ip_address={{ wan_ip }}/24
|
|
static routers={{ wan_gateway }}
|
|
static domain_name_servers={{ wan_nameserver }}
|
|
|
|
# Check for DHCP on the wire first (for occasional field updates of IIAB, e.g.
|
|
# Ethernet cable to a "cablemodem") before falling back to the above Static IP
|
|
# (e.g. IIAB as 192.168.1.99 in Chiapas, Mexico where schools have typically
|
|
# hard-coded their student PC's as 192.168.1.1, 192.168.1.2, 192.168.1.3, etc).
|
|
interface {{ iiab_wan_iface }}
|
|
fallback static_eth0
|
|
{% else %}
|
|
interface {{ iiab_wan_iface }}
|
|
static ip_address={{ wan_ip }}/24
|
|
static routers={{ wan_gateway }}
|
|
static domain_name_servers={{ wan_nameserver }}
|
|
{% endif %}
|
|
{% endif %}
|