dhcp-relay
Syntax
dhcp-relay { access-profile profile-name; active-leasequery { idle-timeout seconds; peer-address address; timeout seconds; topology-discovery; } active-server-group server-group-name; authentication { password password-string; username-include { circuit-type; delimiter delimiter-character; domain-name domain-name-string; interface-description (device-interface | logical-interface); interface-name; logical-system-name; mac-address; option-60; option-82 <circuit-id> <remote-id>; routing-instance-name; user-prefix user-prefix-string; stale-timer vlan-tags; } } bulk-leasequery { attempts number-of-attempts; timeout seconds; } dhcpv6 { access-profile profile-name; active-leasequery { idle-timeout seconds; peer-address address; timeout seconds; topology-discovery; } active-server-group server-group-name; } authentication { password password-string; username-include { circuit-type; client-id; delimiter delimiter-character; domain-name domain-name-string; interface-description (device-interface | logical-interface); interface-name interface-name; logical-system-name; mac-address mac-address; relay-agent-interface-id; relay-agent-remote-id; relay-agent-subscriber-id; routing-instance-name; user-prefix user-prefix-string; vlan-tags; } } bulk-leasequery { attempts number-of-attempts; timeout seconds; trigger automatic; } duplicate-clients incoming-interface; dynamic-profile profile-name { aggregate-clients (merge | replace); use-primary primary-profile-name; } forward-only { logical-system <current | default | logical-system-name>; routing-instance <current | default | routing-instance-name>; } forward-only-replies; } forward-snooped-clients (all-interfaces | configured-interfaces | non-configured-interfaces); group group-name { access-profile profile-name; active-server-group server-group-name; authentication { password password-string; username-include { circuit-type; client-id; delimiter delimiter-character; domain-name domain-name-string; interface-description (device-interface | logical-interface); interface-name interface-name; logical-system-name; mac-address mac-address; relay-agent-interface-id; relay-agent-remote-id; relay-agent-subscriber-id; routing-instance-name; user-prefix user-prefix-string; vlan-tags; } } dynamic-profile profile-name { aggregate-clients (merge | replace); use-primary primary-profile-name; } forward-only { logical-system <current | default | logical-system-name>; routing-instance <current | default | routing-instance-name>; } interface interface-name { access-profile profile-name; dynamic-profile profile-name { aggregate-clients (merge | replace); use-primary primary-profile-name; } exclude; overrides { allow-snooped-clients; asymmetric-lease-time seconds; asymmetric-prefix-lease-time seconds; client-negotiation-match incoming-interface; delay-authentication; delete-binding-on-renegotiation; dual-stack dual-stack-group-name; interface-client-limit number; no-allow-snooped-clients; no-bind-on-request; relay-source interface-name; send-release-on-delete; } service-profile dynamic-profile-name; short-cycle-protection <lockout-min-time seconds> <lockout-max-time seconds>; trace; upto upto-interface-name; } } lease-time-validation { lease-time-threshold seconds; violation-action action; } liveness-detection { failure-action (clear-binding | clear-binding-if-interface-up | log-only); method { bfd { version (0 | 1 | automatic); minimum-interval milliseconds; minimum-receive-interval milliseconds; multiplier number; no-adaptation; transmit-interval { minimum-interval milliseconds; threshold milliseconds; } detection-time { threshold milliseconds; } session-mode(automatic | multihop | singlehop); holddown-interval milliseconds; } layer2-liveness-detection { max-consecutive-retries number; transmit-interval interval; } } } overrides { allow-snooped-clients; asymmetric-lease-time seconds; asymmetric-prefix-lease-time seconds; client-negotiation-match incoming-interface; delay-authentication; delete-binding-on-renegotiation; dual-stack dual-stack-group-name; interface-client-limit number; no-allow-snooped-clients; no-bind-on-request; relay-source interface-name; send-release-on-delete; } relay-agent-interface-id { include-irb-and-l2; keep-incoming-interface-id ; no-vlan-interface-name; prefix prefix; use-interface-description (logical | device); use-option-82 <strict>; use-vlan-id; } relay-agent-remote-id { include-irb-and-l2; keep-incoming-interface-id ; no-vlan-interface-name; prefix prefix; use-interface-description (logical | device); use-option-82 <strict>; use-vlan-id; } relay-option { option-number option-number; default-action { drop; forward-only; relay-server-group relay-server-group; } equals (ascii ascii-string | hexadecimal hexadecimal-string) { drop; forward-only; relay-server-group relay-server-group; } starts-with (ascii ascii-string | hexadecimal hexadecimal-string) { drop; forward-only; relay-server-group relay-server-group; } } remote-id-mismatch disconnect; route-suppression; service-profile dynamic-profile-name; short-cycle-protection <lockout-min-time seconds> <lockout-max-time seconds>; } leasequery { attempts number-of-attempts; timeout seconds; } lease-time-validation { lease-time-threshold seconds; violation-action action; } liveness-detection { failure-action (clear-binding | clear-binding-if-interface-up | log-only); method { bfd { version (0 | 1 | automatic); minimum-interval milliseconds; minimum-receive-interval milliseconds; multiplier number; no-adaptation; transmit-interval { minimum-interval milliseconds; threshold milliseconds; } detection-time { threshold milliseconds; } session-mode(automatic | multihop | singlehop); holddown-interval milliseconds; } layer2-liveness-detection { max-consecutive-retries number; transmit-interval interval; } route-suppression; service-profile dynamic-profile-name; } } no-snoop; overrides { allow-snooped-clients; asymmetric-lease-time seconds; asymmetric-prefix-lease-time seconds; client-negotiation-match incoming-interface; delay-authentication; delete-binding-on-renegotiation; dual-stack dual-stack-group-name; interface-client-limit number; no-allow-snooped-clients; no-bind-on-request; relay-source interface-name; send-release-on-delete; } relay-agent-interface-id { include-irb-and-l2; keep-incoming-interface-id ; no-vlan-interface-name; prefix prefix; use-interface-description (logical | device); use-option-82 <strict>; use-vlan-id; } relay-agent-remote-id { include-irb-and-l2; keep-incoming-remote-id ; no-vlan-interface-name; prefix prefix; use-interface-description (logical | device); use-option-82 <strict>; use-vlan-id; } relay-option { option-number option-number; default-action { drop; forward-only; relay-server-group relay-server-group; } equals (ascii ascii-string | hexadecimal hexadecimal-string) { drop; forward-only; relay-server-group relay-server-group; } starts-with (ascii ascii-string | hexadecimal hexadecimal-string) { drop; forward-only; relay-server-group relay-server-group; } } relay-option-vendor-specific{ host-name; location; remote-id-mismatch disconnect; route-suppression; server-group { server-group-name { server-ip-address; } } server-response-time seconds; service-profile dynamic-profile-name; short-cycle-protection <lockout-min-time seconds> <lockout-max-time seconds>; } dual-stack-group dual-stack-group-name { access-profile profile-name; authentication { password password-string; username-include { circuit-type; delimiter delimiter-character; domain-name domain-name-string; interface-description (device-interface | logical-interface); interface-name; logical-system-name; mac-address; relay-agent-interface-id; relay-agent-remote-id; routing-instance-name; user-prefix user-prefix-string; vlan-tags; } } classification-key { circuit-id circuit-id; mac-address mac-address; remote-id remote-id; } dual-stack-interface-client-limit number; dynamic-profile profile-name { aggregate-clients (merge | replace); use-primary primary-profile-name; } liveness-detection { failure-action (clear-binding | clear-binding-if-interface-up | log-only); method { layer2-liveness-detection { max-consecutive-retries number; transmit-interval interval; } } } protocol-primary (inet | inet6); relay-agent-interface-id { include-irb-and-l2; keep-incoming-interface-id ; no-vlan-interface-name; prefix prefix; use-interface-description (logical | device); use-option-82 <strict>; use-vlan-id; } relay-agent-remote-id { include-irb-and-l2; keep-incoming-remote-id ; no-vlan-interface-name; prefix prefix; use-interface-description (logical | device); use-option-82 <strict>; use-vlan-id; } service-profile dynamic-profile-name; short-cycle-protection <lockout-min-time seconds> <lockout-max-time seconds>; } duplicate-clients-in-subnet (incoming-interface | option-82): dynamic-profile profile-name { aggregate-clients (merge | replace); use-primary primary-profile-name; } forward-only { logical-system <current | default | logical-system-name>; routing-instance <current | default | routing-instance-name>; } forward-only-replies; forward-snooped-clients (all-interfaces | configured-interfaces | non-configured-interfaces); group group-name { access-profile profile-name; active-server-group server-group-name; authentication { password password-string; username-include { circuit-type; delimiter delimiter-character; domain-name domain-name-string; interface-description (device-interface | logical-interface); interface-name interface-name; logical-system-name; mac-address; option-60; option-82 [circuit-id] [remote-id]; routing-instance-name; user-prefix user-prefix-string; } vlan-tags; } dynamic-profile profile-name { aggregate-clients (merge | replace); use-primary primary-profile-name; } forward-only { logical-system <current | default | logical-system-name>; routing-instance <current | default | routing-instance-name>; } forward-only { logical-system <current | default | logical-system-name>; routing-instance <current | default | routing-instance-name>; } interface interface-name { access-profile profile-name; exclude; liveness-detection { failure-action (clear-binding | clear-binding-if-interface-up | log-only); method { bfd { version (0 | 1 | automatic); minimum-interval milliseconds; minimum-receive-interval milliseconds; multiplier number; no-adaptation; transmit-interval { minimum-interval milliseconds; threshold milliseconds; } detection-time { threshold milliseconds; } session-mode (automatic | multihop | singlehop); holddown-interval milliseconds; } } } overrides { allow-no-end-option; allow-snooped-clients; always-write-giaddr; always-write-option-82; asymmetric-lease-time seconds; client-discover-match <option60-and-option82 | incoming-interface>; delay-authentication; delete-binding-on-renegotiation; disable-relay; dual-stack dual-stack-group-name; interface-client-limit number; layer2-unicast-replies; no-allow-snooped-clients; no-bind-on-request; proxy-mode; relay-source replace-ip-source-with; send-release-on-delete; trust-option-82; } service-profile dynamic-profile-name; short-cycle-protection <lockout-min-time seconds> <lockout-max-time seconds>; trace; upto upto-interface-name; } overrides { allow-no-end-option allow-snooped-clients; always-write-giaddr; always-write-option-82; asymmetric-lease-time seconds; asymmetric-prefix-lease-time seconds; client-discover-match (option60-and-option82 | incoming-interface); delay-authentication; delete-binding-on-renegotiation; disable-relay; dual-stack dual-stack-group-name; interface-client-limit number; layer2-unicast-replies; no-allow-snooped-clients; no-bind-on-request; proxy-mode; relay-source replace-ip-source-with; send-release-on-delete; trust-option-82; } relay-option { option-number option-number; default-action { drop; forward-only; relay-server-group group-name; } equals (ascii ascii-string | hexadecimal hexadecimal-string) { drop; forward-only; relay-server-group relay-server-group; } starts-with (ascii ascii-string | hexadecimal hexadecimal-string) { drop; forward-only; local-server-group local-server-group; relay-server-group relay-server-group; } } relay-option-82 { circuit-id { prefix prefix; use-interface-description (logical | device); } remote-id { prefix prefix; use-interface-description (logical | device); } server-id-override } remote-id-mismatch disconnect; route-suppression: service-profile dynamic-profile-name; short-cycle-protection <lockout-min-time seconds> <lockout-max-time seconds>; } leasequery { attempts number-of-attempts; timeout seconds; } lease-time-validation { lease-time-threshold seconds; violation-action action; } liveness-detection { failure-action (clear-binding | clear-binding-if-interface-up | log-only); method { bfd { version (0 | 1 | automatic); minimum-interval milliseconds; minimum-receive-interval milliseconds; multiplier number; no-adaptation; transmit-interval { minimum-interval milliseconds; threshold milliseconds; } detection-time { threshold milliseconds; } session-mode (automatic | multihop | singlehop); holddown-interval milliseconds; } layer2-liveness-detection { max-consecutive-retries number; transmit-interval interval; } } } no-snoop; overrides { allow-no-end-option allow-snooped-clients; always-write-giaddr; always-write-option-82; asymmetric-lease-time seconds; asymmetric-prefix-lease-time seconds; client-discover-match (option60-and-option82 | incoming-interface); delay-authentication; delete-binding-on-renegotiation; disable-relay; dual-stack dual-stack-group-name; interface-client-limit number; layer2-unicast-replies; no-allow-snooped-clients; no-bind-on-request; proxy-mode; relay-source replace-ip-source-with; send-release-on-delete; trust-option-82; } relay-option { option-number option-number; default-action { drop; forward-only; relay-server-group group-name; } equals (ascii ascii-string | hexadecimal hexadecimal-string) { drop; forward-only; relay-server-group relay-server-group; } starts-with (ascii ascii-string | hexadecimal hexadecimal-string) { drop; forward-only; local-server-group local-server-group; relay-server-group relay-server-group; } } relay-option-82 { circuit-id { prefix prefix; use-interface-description (logical | device); } remote-id { prefix prefix; use-interface-description (logical | device); } server-id-override } } remote-id-mismatch disconnect; route-suppression: server-group { server-group-name { server-ip-address; } } server-response-time seconds; service-profile dynamic-profile-name; short-cycle-protection <lockout-min-time seconds> <lockout-max-time seconds>; }
Hierarchy Level
[edit forwarding-options], [edit logical-systems logical-system-name forwarding-options], [edit logical-systems logical-system-name routing-instances routing-instance-name forwarding-options], [edit routing-instances routing-instance-name forwarding-options]
Description
Configure extended Dynamic Host Configuration Protocol (DHCP) relay and DHCPv6 relay options on the router or switch to enable the router (or switch) to function as a DHCP relay agent. A DHCP relay agent forwards DHCP request and reply packets between a DHCP client and a DHCP server.
DHCP relay supports the attachment of dynamic profiles and also interacts with the local AAA Service Framework to use back-end authentication servers, such as RADIUS, to provide subscriber authentication or client authentication. You can attach dynamic profiles and configure authentication support on a global basis or for a specific group of interfaces.
The extended DHCP and DHCPv6 relay agent options
configured with the dhcp-relay
and dhcpv6
statements
are incompatible with the DHCP/BOOTP relay agent options configured
with the bootp
statement. As a result, the extended DHCP
or DHCPv6 relay agent and the DHCP/BOOTP relay agent cannot both be
enabled on the router (or switch) at the same time.
The remaining statements are explained separately. Search for a statement in CLI Explorer or click a linked statement in the Syntax section for details.
Required Privilege Level
interface—To view this statement in the configuration.
interface-control—To add this statement to the configuration.
Release Information
Statement introduced in Junos OS Release 8.3.