The MikroTik RouterOS DHCP client may be enabled on any Ethernet-like interface at a time. The client will accept an address, netmask, default gateway, and two dns server addresses. The received IP address will be added to the interface with the respective netmask. The default gateway will be added to the routing table as a dynamic entry. Should the DHCP client be disabled or not renew an address, the dynamic default route will be removed. If there is already a default route installed prior the DHCP client obtains one, the route obtained by the DHCP client would be shown as invalid.
RouterOS DHCP cilent asks for following options:
- option 1 - SUBNET_MASK,
- option 3 - GATEWAY_LIST,
- option 6 - TAG_DNS_LIST,
- option 33 - STATIC_ROUTE,
- option 42 - NTP_LIST,
- option 121 - CLASSLESS_ROUTE,
DHCP client has possibility to set up options that are sent to DHCP server. For example, host-name and MAC address. Syntax is same as for DHCP server options.
Starting from v5.8 DHCP Client can receive delegated prefixes from DHCPv6 server.
Currently received prefix is added to IPv6 pool, which later can be used for example in pppoe server configuration.
Starting from v5.9, DHCPv6 client configuration was moved to /ipv6 sub-menu.
Quick setup example
Add a DHCP client on ether1 interface:
/ip dhcp-client add interface=ether1 disabled=no
After interface is added, you can use rint" or "print detail" command to see what parameters DHCP client acquired:
[admin@MikroTik] ip dhcp-client> print detail Flags: X - disabled, I - invalid 0 interface=ether1 add-default-route=yes use-peer-dns=yes use-peer-ntp=yes status=bound address=192.168.0.65/24 gateway=192.168.0.1 dhcp-server=192.168.0.1 primary-dns=192.168.0.1 primary-ntp=192.168.0.1 expires-after=9m44s [admin@MikroTik] ip dhcp-client>
|add-default-route (yes | no | special-classless; Default: yes)||Whether to install default route in routing table received from dhcp server. By default RouterOS client complies to RFC and ignores option 3 if classless option 121 is received. To force client not to ignore option 3 set special-classless. This parameter is available in v6rc12+
|client-id (string; Default: )||Corresponds to the settings suggested by the network administrator or ISP. If not specified, client's MAC address will be sent|
|comment (string; Default: )||Short description of the client|
|default-route-distance (integer:0..255; Default: )||Distance of default route. Applicable if
|disabled (yes | no; Default: yes)|
|host-name (string; Default: )||Host name of the client sent to a DHCP server. If not specified, client's system identity will be used.|
|interface (string; Default: )||Interface on which DHCP client will be running.|
|use-peer-dns (yes | no; Default: yes)||Whether to accept the DNS settings advertised by DHCP Server. (Will override the settings put in the
|use-peer-ntp (yes | no; Default: yes)||Whether to accept the NTP settings advertised by DHCP Server. (Will override the settings put in the
/ip dhcp-client print detail will show current status of dhcp client and read-only properties listed in table below:
|address (IP/Netmask)||IP address and netmask, which is assigned to DHCP Client from the Server|
|dhcp-server (IP)||IP address of the DHCP server.|
|expires-after (time)||Time when the lease expires (specified by the DHCP server).|
|gateway (IP)||IP address of the gateway which is assigned by DHCP server|
|invalid (yes | no)||Shows whether configuration is invalid.|
|primary-dns (IP)||IP address of the primary DNS server, assigned by the DHCP server|
|primary-ntp (IP)||IP address of the primary NTP server, assigned by the DHCP server|
|secondary-dns (IP)||IP address of the secondary DNS server, assigned by the DHCP server|
|secondary-ntp (IP)||IP address of the secondary NTP server, assigned by the DHCP server|
|status (bound | error | rebinding... | requesting... | searching... | stopped)||Shows the status of DHCP Client|
Menu specific commands
|release (numbers)||Release current binding and restart DHCP client|
|renew (numbers)||Renew current leases. If the renew operation was not successful, client tries to reinitialize lease (i.e. it starts lease request procedure (rebind) as if it had not received an IP address yet)|