mirror of
https://github.com/vyos/vyos-documentation.git
synced 2025-10-26 08:41:46 +01:00
* spitting services into multiple files in it's own folder * making image links absolute * some linting
166 lines
4.0 KiB
ReStructuredText
166 lines
4.0 KiB
ReStructuredText
|
|
|
|
DHCP Relay
|
|
----------
|
|
|
|
If you want your router to forward DHCP requests to an external DHCP server
|
|
you can configure the system to act as a DHCP relay agent. The DHCP relay
|
|
agent works with IPv4 and IPv6 addresses.
|
|
|
|
All interfaces used for the DHCP relay must be configured. See
|
|
https://wiki.vyos.net/wiki/Network_address_setup.
|
|
|
|
DHCP relay example
|
|
^^^^^^^^^^^^^^^^^^
|
|
|
|
.. figure:: /_static/images/service_dhcp-relay01.png
|
|
:scale: 80 %
|
|
:alt: DHCP relay example
|
|
|
|
DHCP relay example
|
|
|
|
In this example the interfaces used for the DHCP relay are eth1 and eth2. The
|
|
router receives DHCP client requests on eth1 and relays them through eth2 to
|
|
the DHCP server at 10.0.1.4.
|
|
|
|
Configuration
|
|
^^^^^^^^^^^^^
|
|
|
|
Enable DHCP relay for eth1 and eth2:
|
|
|
|
.. code-block:: sh
|
|
|
|
set service dhcp-relay interface eth1
|
|
set service dhcp-relay interface eth2
|
|
|
|
Set the IP address of the DHCP server:
|
|
|
|
.. code-block:: sh
|
|
|
|
set service dhcp-relay server 10.0.1.4
|
|
|
|
The router should discard DHCP packages already containing relay agent
|
|
information to ensure that only requests from DHCP clients are forwarded:
|
|
|
|
.. code-block:: sh
|
|
|
|
set service dhcp-relay relay-options relay-agents-packets discard
|
|
|
|
Commit the changes and show the results:
|
|
|
|
.. code-block:: sh
|
|
|
|
commit
|
|
show service dhcp-relay
|
|
interface eth1
|
|
interface eth2
|
|
server 10.0.1.4
|
|
relay-options {
|
|
relay-agents-packets discard
|
|
}
|
|
|
|
The DHCP relay agent can be restarted with:
|
|
|
|
.. code-block:: sh
|
|
|
|
restart dhcp relay-agent
|
|
|
|
DHCPv6 relay example
|
|
^^^^^^^^^^^^^^^^^^^^
|
|
|
|
.. figure:: /_static/images/service_dhcpv6-relay01.png
|
|
:scale: 80 %
|
|
:alt: DHCPv6 relay example
|
|
|
|
DHCPv6 relay example
|
|
|
|
In this example DHCPv6 requests are received by the router on eth1
|
|
(`listening interface`) and forwarded through eth2 (`upstream interface`) to
|
|
the external DHCPv6 server at 2001:db8:100::4.
|
|
|
|
Configuration
|
|
*************
|
|
|
|
Set eth1 to be the listening interface for the DHCPv6 relay:
|
|
|
|
.. code-block:: sh
|
|
|
|
set service dhcpv6-relay listen-interface eth1
|
|
|
|
Set eth2 to be the upstream interface and specify the IPv6 address of
|
|
the DHCPv6 server:
|
|
|
|
.. code-block:: sh
|
|
|
|
set service dhcpv6-relay upstream-interface eth2 address 2001:db8:100::4
|
|
|
|
Commit the changes and show results:
|
|
|
|
.. code-block:: sh
|
|
|
|
commit
|
|
show service dhcpv6-relay
|
|
listen-interface eth1 {
|
|
}
|
|
upstream-interface eth2 {
|
|
address 2001:db8:100::4
|
|
}
|
|
|
|
Show the current status of the DHCPv6 relay agent:
|
|
|
|
.. code-block:: sh
|
|
|
|
show dhcpv6 relay-agent status
|
|
|
|
The DHCPv6 relay agent can be restarted with:
|
|
|
|
.. code-block:: sh
|
|
|
|
restart dhcpv6 relay-agent
|
|
|
|
Additional parameters
|
|
^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
DHCP relay agent options
|
|
************************
|
|
|
|
Set the maximum hop count before packets are discarded. Range 0...255,
|
|
default 10.
|
|
|
|
* :code:`set service dhcp-relay relay-options hop-count 'count'`
|
|
|
|
Set maximum size of DHCP packets including relay agent information. If a
|
|
DHCP packet size surpasses this value it will be forwarded without appending
|
|
relay agent information. Range 64...1400, default 576.
|
|
|
|
* :code:`set service dhcp-relay relay-options max-size 'size'`
|
|
|
|
Four policies for reforwarding DHCP packets exist:
|
|
|
|
* **append:** The relay agent is allowed to append its own relay information
|
|
to a received DHCP packet, disregarding relay information already present in
|
|
the packet.
|
|
|
|
* **discard:** Received packets which already contain relay information will
|
|
be discarded.
|
|
|
|
* **forward:** All packets are forwarded, relay information already present
|
|
will be ignored.
|
|
|
|
* **replace:** Relay information already present in a packet is stripped and
|
|
replaced with the router's own relay information set.
|
|
|
|
* :code:`set service dhcp-relay relay-options relay-agents-packet 'policy'`
|
|
|
|
DHCPv6 relay agent options
|
|
**************************
|
|
|
|
Set maximum hop count before packets are discarded. Default: 10.
|
|
|
|
* :code:`set service dhcpv6-relay max-hop-count 'count'`
|
|
|
|
If this is set the relay agent will insert the interface ID. This option is
|
|
set automatically if more than one listening interfaces are in use.
|
|
|
|
* :code:`set service dhcpv6-relay use-interface-id-option`
|