DHCP客户端

总结

/ ip dhcp客户端

DHCP(动态主机配置协议)用于在网络中轻松分配IP地址。Mikr雷竞技网站oTik Routl雷竞技erOS实现包括服务器和客户端两个部分,并符合RFC 2131。

Mikr雷竞技网站oTik Routl雷竞技erOS DHCP客户端可以同时在任何一个类以太网接口上启用。客户端将接受一个地址、网络掩码、默认网关和两个DNS服务器地址。接收到的IP地址将被添加到相应的网络掩码的接口中。缺省网关将作为动态表项添加到路由表中。当DHCP客户端被禁用或不更新地址时,动态缺省路由将被删除。如果在DHCP客户端获取缺省路由之前已经安装了缺省路由,则DHCP客户端获取的缺省路由将显示为无效路由。

l雷竞技RouterOS的DHCP客户端要求如下选项:

  • 选项1 - SUBNET_MASK
  • 选项3:
  • 选项6 - TAG_DNS_LIST,
  • 选项33:
  • 选项42 - NTP_LIST,
  • 选项121 - CLASSLESS_ROUTE

DHCP选项

DHCP客户端可以设置发送给DHCP服务器的选项。例如主机名和MAC地址。语法与DHCP服务器选项相同。

目前,有三个变量可以用于选项:

  • 主机名;
  • CLIENT_MAC—客户端接口MAC地址;
  • CLIENT_DUID - client路由器的DIUD,与DHCPv6客户端相同。符合RFC4361

DHCP客户端默认选项包括:

的名字 代码 价值
clientid_duid 61 0 xff $ (CLIENT_DUID)
clientid 61 0 x01 $ (CLIENT_MAC)
主机名 12 $(主机名)

属性

财产 描述
add-default-route是|不是|特级;默认值:是的 是否在从DHCP服务器收到的路由表中安装缺省路由。缺省情况下,RouterOS客户l雷竞技端遵循RFC协议,如果收到无类选项121,则忽略选项3。强制客户端不忽略选项3设置special-classless.该参数在v6rc12+中可用
  • 是的-如果收到则添加无类路由,如果没有则添加默认路由(旧行为)
  • special-classless-如果接收到无类路由和默认路由(MS风格)
客户机id字符串;默认值:) 对应网络管理员或ISP建议的配置。如果不指定,则发送客户端的MAC地址
评论字符串;默认值:) 客户端的简短描述
default-route-distance整数:0 . . 255;默认值:) 默认路由的距离。如果适用add-default-route设置为是的
禁用是|否;默认值:是的
主机名字符串;默认值:) 客户端的主机名被发送到DHCP服务器。如果未指定,将使用客户机的系统标识。
接口字符串;默认值:) DHCP客户端将运行的接口。
脚本脚本;默认值:) 在状态更改时执行脚本。此参数在v6.39rc33+中可用。这些是事件脚本可访问的可用变量:
  • Bound - 1 -增加/改变租期;删除0 -租约
  • server-address—服务器地址
  • lease-address -服务器提供的租用地址
  • Interface -配置客户端的接口名称
  • gateway-address -服务器提供的网关地址
  • vendor-specific -存储从DHCP服务器接收的option 43的值
  • Lease-options -接收的选项数组
例子> >
use-peer-dns是|否;默认值:是的 是否接受DNS发布的设置DHCP服务器.的设置将覆盖/ ip dns子菜单。
use-peer-ntp是|否;默认值:是的 是否接受国家结核控制规划发布的设置DHCP服务器.的设置将覆盖/system NTP客户端子菜单)

只读属性

财产 描述
地址IP /子网掩码 服务器分配给DHCP Client的IP地址和子网掩码
dhcp服务器知识产权 DHCP服务器的IP地址。
后将会到期时间 租期到期的时间(由DHCP服务器指定)。
网关知识产权 由DHCP服务器分配的网关IP地址
无效的是|否 显示配置是否无效。
子网掩码知识产权
主dns知识产权 DHCP服务器分配的第一个DNS解析器的IP地址
primary-ntp知识产权 主NTP服务器的IP地址,由DHCP服务器分配
备用dns知识产权 第二个DNS解析器的IP地址,由DHCP服务器分配
secondary-ntp知识产权 从NTP服务器的IP地址,由DHCP服务器分配
状态绑定|错误|重新绑定…|请求……|搜索…|停止 显示DHCP Client的状态

特定于菜单的命令

财产 描述
释放数字 解除当前绑定,重启DHCP客户端
更新数字 更新现有租约。如果更新操作不成功,客户端尝试重新初始化租约(例如,它启动租约请求过程(重新绑定),就好像它还没有收到一个IP地址一样)

配置示例

简单的DHCP客户端

在ether1接口上增加DHCP客户端。

/ip dhcp-client add interface=ether1 disabled=no

添加接口后,可通过命令print或print detail查看DHCP客户端获取的参数:

[admin@雷竞技网站MikroTik] ip dhcp-client> print detail标志: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> . ip地址

如果DHCP客户端使用的接口是VRF配置的一部分,则会将从DHCP服务器接收到的缺省路由和其他路由添加到VRF路由表中。

DHCP客户端状态可以通过以下方式检查:

/ip dhcp-client打印详细信息

租赁脚本示例

当DHCP客户端获得新的租约或丢失现有租约时,可以执行脚本。这是一个示例脚本,它自动添加一个带有routing-mark=WAN1的默认路由,并在租期到期或被删除时删除它。

/ ip dhcp客户端添加add-default-route =没有dhcp-options =主机名、clientid禁用=没有接口= ether2脚本= " {\ r \ \ n:本地rmark \“WAN1 \ \ r \ \ n:当地数[/ ip路由打印仅计算评论= \“WAN1 \] \ r \ \ n:如果(\绑定= 1美元)= {\ r \ \ n:如果(\ $ count = 0) = {\ r \ \ n / ip路由添加网关= \ \“网关地址\”评论美元= \“WAN1 \”routing-mark = \ $ rmark \ r \ \ n} = {\ r \ \ n:如果其他数= 1美元(\)= {\ r \ \ n:本地测试[/ ip路由找到评论= \“WAN1 \] \ r \ \ n:如果([/ ip路由得到\ $测试网关]! =\$\"gateway-address\") do={\r\ \n /ip route set \$test gateway=\$\"gateway-address\"\r\ \n }\r\ \n } else={\r\ \n :error \"Multiple routes found\"\r\ \n }\r\ \n }\r\ \n } else={\r\ \n /ip route remove [find comment=\"WAN1\"]\r\ \n }\r\ \n}\r\ \n"

解决违约当'router' (option3)来自不同的子网时,网关

在某些情况下,管理员倾向于设置“路由器”选项,这与提供的IP的子网无法解决。例如:DHCP服务器向客户端提供了192.168.88.100/24,选项3设置为172.16.1.1。这将导致一个无法解析的默认路由:

# DST-ADDRESS PREF-SRC GATEWAY DISTANCE 0 DS 0.0.0.0/0 172.16.1.1 1 1 ADC 192.168.88.0/24 192.168.88.100 ether1 .0

为了解决这个问题,我们需要添加/32路由来解析ether1上的网关,这可以通过下面的运行脚本来完成,每次DHCP客户端获得一个地址

/system script add name="dhcpL" source={/ip address add address=($"lease-address" . / /ip地址。"/32") network=$"gateway-address" interface=$interface}

现在我们可以进一步扩展脚本,检查地址是否已经存在,并在需要更改时删除旧的地址

/system script add name="dhcpL" source={/ip address {:local ipId [find where comment="dhcpL address"]:if ($ipId != "") do={:if (!([get $ipId address] = ($"lease-address")。"/32") && [get $ipId network]=$"gateway-address")) do={删除$ipId;添加地址=($"lease-address"。"/32") network=$"gateway-address" \ interface=$interface comment="dhcpL address"}} else={add address=($"lease-address" . ""/32") network=$"gateway-address" \ interface=$interface comment="dhcpL address"}}}

DHCPv6客户

总结

子菜单:/ ipv6 dhcp客户端

RouterOS中的DHCP-l雷竞技client可以同时作为DHCPv6-client和DHCP-PD client。因此,它能够从DHCP-PD服务器获得一个前缀,以及从DHCPv6服务器获得DHCPv6有状态地址。

属性

财产 描述
add-default-route是|否;默认值:没有 客户端连接后是否添加默认IPv6路由。
评论字符串;默认值:) 客户端的简短描述
禁用是|否;默认值:没有
接口字符串;默认值:) DHCPv6客户端将在其上运行的接口。
池名称字符串;默认值:) 机构名称IPv6池将添加接收到的IPv6前缀
pool-prefix-length字符串;默认值:) 要设置的前缀长度参数IPv6池其中添加了接收到的IPv6前缀。字冠长度必须大于接收到的字冠长度,否则Prefix -length设置为接收到的字冠长度+ 8位。
prefix-hint字符串;默认值:) 包含首选的前缀长度。
请求前缀,地址;默认值:) 选择DHCPv6请求将要求地址或IPv6前缀,或两者都要求。
脚本字符串;默认值:) 在DHCP-client状态变化时运行此脚本。可用的变量:
  • pd-valid-如果前缀被客户端获取;
  • pd-prefix-客户获得的前缀(如有);
  • na-valid-如该地址是由客户取得;
  • na-address-客户取得的地址(如有)。
  • 选项接收的选项数组(只有ROSv7)
use-peer-dns是|否;默认值:是的 是否接受IPv6 DHCP Server发布的DNS设置。

只读属性

财产 描述
duid字符串 自动生成的DUID发送到服务器。DUID是使用路由器上可用的MAC地址生成的。
请求列表 指定所请求的内容-前缀、地址或两者。
动态是|否
后将会到期时间 IPv6前缀过期的时间(由DHCPv6服务器指定)。
无效的是|否 显示配置是否无效。
前缀IPv6前缀 显示从DHCPv6-PD服务器接收到的IPv6前缀
状态停止|搜索|请求…|绑定|更新|重绑定|错误|停止 显示DHCPv6客户端的状态:
  • 停止—停止dhcpv6客户端
  • 搜索-发送“征求”并试图获得“广告”
  • 请求发送“请求”等待“回复”
  • 绑定-收到“reply”。前缀分配。
  • 更新发送“renew”,等待“reply”
  • 重新绑定发送“重新绑定”,等待“回复”
  • 错误-没有及时收到回复或发生其他错误。
  • 停止-发送“释放”

特定于菜单的命令

财产 描述
释放数字 释放当前绑定并重新启动DHCPv6客户端
更新数字 更新现有租约。如果更新操作不成功,客户端尝试重新初始化租约(例如,它启动租约请求过程(重新绑定),就好像它还没有收到一个IP地址一样)

脚本

您可以通过DHCP客户端添加一个脚本,该脚本在前缀或地址被获取并应用或过期并被删除时执行。客户端可以根据前缀或地址状态的变化来设置一些独立的变量集,因为客户端可以同时获取这两种变量集,而且每一种变量集都可以对路由器配置产生不同的影响。

dhcp-client的可用变量

  • pd-valid- value - 1或0 -是否应用前缀
  • pd-prefix- value ipv6/num(带掩码的ipv6前缀)—前缀inself
  • na-valid- value - 1或0 -如果已获取地址且是否应用该地址
  • na-address- value - ipv6 address -地址

IAID

为了确定将使用哪种IAID,需要将运行DHCP客户端的接口的内部ID从十六进制转换为十进制。

例如,DHCP客户端运行在接口PPPoE-out1上。获取内部ID使用以下命令:

[admin@t36] /interface>:put [find name="pppoe-out1"] *15


现在将十六进制值15转换为十进制,得到IAID=21

配置示例

简单的DHCPv6客户机

本示例演示了如何使dhcp client能够接收IPv6前缀并将其加入到路由池中。

/ipv6 dhcp-client add request=prefix pool-name=test-ipv6 pool-prefix-length=64 interface=ether13


详细打印应显示客户端状态,我们可以验证是否收到前缀

[admin@x86-test] /ipv6 dhcp-client> print detail Flags: D - dynamic, X - disabled, I - invalid 0 interface=bypass pool-name="test-ipv6" pool-prefix-length=64 status=bound prefix=2001:db8:7501:ff04::/62 expires-after=2d23h11m53s request=prefix . 0 interface=bypass pool-name="test-ipv6" pool-prefix-length=64


注意,服务器给了我们前缀2a2:610:7501:ff04::/62。它也应该被添加到ipv6池

[admin@雷竞技网站MikroTik] /ipv6 pool> print Flags: D - dynamic # NAME PREFIX REQUEST PREFIX- length 0 D test-ipv6 2001:db8:7501:ff04::/62 PREFIX 64 .输出说明

它的工作原理!现在您可以使用这个池,例如,pppoe客户端。

本地RA使用接收前缀

考虑以下设置:

  • ISP正在将前缀2001:DB8::/62路由到路由器R1
  • 路由器R1运行DHCPv6服务器,将/64前缀委派给客户路由器CE1 CE2
  • 路由器CE1和CE2上的DHCP客户端从DHCP服务器(R1)接收到委派的/64前缀。
  • 客户端路由器使用接收到的前缀在本地接口上建立RA


配置


R1

/ipv6 route add gateway=fe80::1:1%to-ISP /ipv6 pool add name=myPool prefix=2001:db8::/62 prefix-length=64 /ipv6 dhcp-server add address-pool=myPool disabled=no interface=to-CE-routers lease-time=3m name=server1



CE1

/ipv6 dhcp-client add interface=to-R1 request=prefix pool-name=my-ipv6 /ipv6 address add address=::1/64 from-pool=my-ipv6 interface=to-clients advertise=yes


CE2

/ipv6 dhcp-client add interface=to-R1 request=prefix pool-name=my-ipv6 /ipv6 address add address=::1/64 from-pool=my-ipv6 interface=to-clients advertise=yes



检查状态

配置完成后,我们可以验证每个CE路由器都收到了自己的前缀

在服务器:

[admin@R1] /ipv6 dhcp-server binding> print Flags: X - disabled, D - dynamic # ADDRESS DUID IAID SERVER STATUS 1 D 2001:db8:1::/64 0019d1393536 566 server1 bound 2 D 2001:db8:2::/64 0019d1393535 565 server1 bound


客户端:

[admin@CE1] /ipv6 dhcp-client> print Flags: D - dynamic, X- disabled, I - invalid # INTERFACE STATUS REQUEST PREFIX 0 to-R1 bound PREFIX 2001:db8:1::/64 [admin@CE1] /ipv6 dhcp-client> /ipv6 pool print Flags: D - dynamic # NAME PREFIX PREFIX- length 0 D my-ipv6 2001:db8:1::/64 64


我们还可以看到IPv6地址是自动从前缀池中添加的:

[admin@CE1] /ipv6 address> print Flags: X - disabled, I - invalid, D - dynamic, G - global, L - link-local # address FROM-POOL INTERFACE ADVERTISE 0 G 2001:db8:1::1/64 to-clients yes ..


池使用情况显示'Address'正在分配池

[admin@CE1] /ipv6 pool used> print pool PREFIX OWNER INFO my-ipv6 2001:db8:1::/64地址到客户端

DHCP服务器

总结

DHCP(动态主机配置协议)用于在网络中轻松分配IP地址。Mikr雷竞技网站oTik Routl雷竞技erOS实现包括服务器和客户端两个部分,并符合RFC 2131。

路由器为每个类似以太网的接口支持单独的服务器。Mikr雷竞技网站oTik Routl雷竞技erOS DHCP服务器支持为每个请求客户端提供IP地址/子网掩码租期、默认网关、域名、DNS-server(s)和WINS-server(s) (Windows客户端)信息(在DHCP网络子菜单中设置)的基本功能。

为了使DHCP服务器正常工作,还必须配置IP池(不要将DHCP服务器自己的IP地址包含在池范围内)和DHCP网络。

也可以使用RADIUS服务器为DHCP客户端分发租约;RADIUS服务器支持的参数如下:


访问请求:

  • NAS-Identifier -路由器标识
  • NAS-IP-Address -路由器本身的IP地址
  • NAS-Port -唯一的会话ID
  • NAS-Port-Type -以太网
  • 主叫站id -客户端标识符(active-client-id)
  • Framed-IP-Address -客户端的IP地址(active-address)
  • 被叫- station - id - DHCP服务器名称
  • User-Name -客户端的MAC地址(active-mac-address)
  • 密码- " "

Access-Accept:

  • Framed-IP-Address—将分配给客户端的IP地址
  • Framed-Pool—用于向客户端分配IP地址的IP池
  • Rate-Limit—限制DHCP客户端的数据速率。格式为:rx-rate[/tx-rate] [rx-burst-rate[/tx-burst-rate] [rx-burst-threshold[/tx-burst-threshold] [rx-burst-time[/tx-burst-time][priority] [rx-rate-min[/tx-rate-min]]]]]。所有速率都应该是带有可选的“k”(1000)或“M”(100万)的数字。如果没有指定tx-rate,则rx-rate也作为tx-rate。同样的道理也适用于tx-burst rate, tx-burst threshold和tx-burst time。如果不指定rx-burst-threshold和tx-burst-threshold(但指定了burst-rate),则使用rx-rate和tx-rate作为突发阈值。如果不指定rx-burst-time和tx-burst-time,则缺省为1s。Priority的值为1..8,其中1表示优先级最高,而8表示优先级最低。如果不指定rx-rate-min和tx-rate-min,则使用rx-rate和tx-rate值。 The rx-rate-min and tx-rate-min values can not exceed rx-rate and tx-rate values.
  • 上升数据速率- TX/RX数据速率限制如果提供了多个属性,第一个限制TX数据速率,第二个限制RX数据速率。如果与ascent - xmit - rate一起使用,则指定RX速率。0如果无限
  • Ascend-Xmit-Rate - tx数据速率限制。它可以用来只指定TX限制,而不是发送两个连续的上升数据速率属性(在这种情况下,上升数据速率将指定接收速率)。0如果无限
  • 会话超时-最大租用时间(lease-time)

DHCP服务器需要一个真实的接口来接收原始以太网报文。如果接口是网桥接口,那么网桥必须有一个真实的接口作为端口连接到该网桥,该端口将接收原始以太网数据包。它不能在虚拟(空桥)接口上正确工作。

租赁

子菜单:/ip dhcp-server租约

DHCP服务器租约子菜单用于监控和管理服务器租约。已发布的租约在这里显示为动态条目。还可以添加静态租期,向特定的客户端发出特定的IP地址(通过MAC地址标识)。

一般情况下,DHCP租约的分配方式如下:

  • 未使用的租约处于“等待”状态
  • 如果客户端请求一个IP地址,服务器选择一个
  • 如果客户端收到静态分配的地址,则提供租约,然后与各自的租约时间绑定
  • 如果客户端收到动态地址(从IP地址池获取),则发送ping报文,等待0.5秒的应答。在此期间,租约被标记为测试
  • 在地址没有响应的情况下,租赁被提供,然后与各自的租赁时间绑定
  • 在其他情况下,租约在租期内变得繁忙(有一个命令可以重新测试所有繁忙地址),而客户端的请求仍然没有得到答复(客户端将很快再次尝试)

客户可以释放租用的地址。动态租约解除,分配的地址返回地址池。但是静态租约会变得繁忙,直到客户端重新获取该地址。

静态分配的IP地址不被探测!

属性

财产 描述
add-arp是|否;默认值:没有 是否增加动态ARP表项。如果设置为没有要么ARP模式应该在该接口上启用还是静态启用ARP条目应该在中进行管理定义/ ip地址转换协议子菜单。
地址池String | static-only;默认值:static-only IP池,从中为客户端获取IP地址。如果设置为static-only,那么只有具有静态租期的客户端(添加到租赁子菜单)将被允许。
allow-dual-stack-queue是|否;默认值:是的 为IPv4和IPv6地址创建一个简单的队列条目,使用MAC地址和DUID进行标识。需要IPv6 DHCP服务器启用此选项也可以正常工作。
always-broadcast是|否;默认值:没有 总是发送应答广播,即使目的IP是已知的。将增加L2网络的额外负载。
权威的after-10s delay | after-2s delay | yes | no;默认值:是的 选项改变服务器响应DHCP请求的方式:
  • 是的-如果客户端请求DHCP服务器提供的地址不可用,DHCP服务器将发送否定确认(DHCPNAK);
  • 没有- DHCP服务器忽略客户端对该服务器不可用地址的请求;
  • after-10sec-delay"secs < 10"的请求将按"no"情况处理,"secs >= 10"的请求将按"yes"情况处理
  • after-2sec-delay"secs < 2"的请求将按"no"的情况处理,"secs >= 2"的请求将按"yes"的情况处理


如果所有具有"secs < x"的请求都应该被忽略,那么delay-threshold = x设置应该使用。
bootp-lease-time永远|租赁时间|时间;默认值: 接受两个预定义的选项或时间值:
  • 永远-租约永不过期
  • 租用时间-使用时间从租赁时间参数
bootp-support无| static | dynamic;默认值:静态 对BOOTP客户端的支持:
  • 没有一个-不响应BOOTP请求
  • 静态-只向BOOTP客户端提供静态租约
  • 动态-为BOOTP客户端提供静态和动态租约
client-mac-limit整数|无限;默认值:无限的 指定是否限制每个MAC地址的特定客户端数量或离开无限的。注意,这个设置不应该在中继设置中使用。
冲突检测是|否;默认值: 允许禁用/启用冲突检测。如果启用了该选项,那么当服务器试图分配租期时,它将发送ICMP和ARP消息来检测网络中是否已经存在这样的地址。如果上述任何一个get回复地址被认为已经使用。当使用任何类型的DHCP客户端对每个端口或每个mac的限制时,必须禁用冲突检测。
delay-threshold时间|无;默认值:没有一个 如果DHCP报文中的sec字段小于延迟阈值,则忽略该报文。如果设置为没有一个-没有阈值(处理所有DHCP报文)
dhcp-option-set名称|无;默认值: 使用选项集菜单中定义的自定义DHCP选项集。
insert-queue-before下|第一个|的名字;默认值: 指定放置静态DCHP租约的动态简单队列项的位置一个限速参数设置。
接口字符串;默认值: 服务器将在其上运行的接口。
lease-script字符串;默认值:"" 在分配或取消租约后执行的脚本。可以在脚本中使用的内部“全局”变量:
  • leaseBound如果绑定则设置为“1”,否则设置为“0”
  • leaseServerName—DHCP服务器名称
  • leaseActMAC-活动MAC地址
  • leaseActIP-主用IP地址
  • lease-hostname-客户端主机名
  • lease-options-接收的选项数组
租用时间时间;默认值:10米 客户端可以使用指定地址的时间。客户端将尝试在这个时间的一半之后更新这个地址,并在时间限制到期后请求一个新的地址。
的名字字符串;默认值: 引用名称
parent-queue字符串|无;默认值:没有一个
继电器知识产权;默认值:0.0.0.0 这个DHCP服务器应该处理以下请求的中继的IP地址:
  • 0.0.0.0- DHCP服务器只用于客户端的直接请求(不允许DHCP中继)
  • 255.255.255.255- DHCP服务器应该被用于任何来自DHCP中继的请求,但那些请求是由存在于/ ip dhcp服务器子菜单。
src-address知识产权;默认值:0.0.0.0 DHCP客户端为了更新IP地址租约必须向其发送请求的地址。如果DHCP服务器接口上只有一个静态地址,源地址为0.0.0.0,则使用该静态地址。如果接口上有多个地址,则应使用与指定地址范围相同子网的地址。
use-framed-as-classless是|否;默认值:是的 将RADIUS帧路由作为DHCP无类静态路由转发给DHCP-client。当帧路由和无类静态路由同时收到时,优先使用无类静态路由。
使用radius是|,不是|会计;默认值:没有 是否使用RADIUS服务器:
  • 没有-不要使用RADIUS;
  • 是的-使用RADIUS记账和租赁;
  • 会计—RADIUS仅用于计费。

存储配置

子菜单:/ip dhcp-server config . sh

此子菜单允许配置将DHCP租约存储在磁盘上的频率。如果每次更改租约时都将它们保存在磁盘上,那么就会发生大量的磁盘写操作,这对Compact Flash来说是非常糟糕的(特别是在租约时间非常短的情况下)。为了减少对磁盘的写操作,每隔一秒钟将所有更改保存到磁盘上。此外,在正常关闭和重新启动时,租约总是存储在磁盘上。

手动更改租约——添加/删除静态租约,删除动态租约将导致将此租约的更改推入存储。

速度限制

可以使用DHCPv4租约将带宽设置为特定的IPv4地址。这可以通过在DHCPv4租约本身上设置速率限制来实现,通过这样做,将为与DHCPv4租约相对应的IPv4地址添加一个动态简单队列规则。通过使用限速参数可以方便地限制用户的带宽。

要使任何队列正常工作,流量不能是FastTrack的,请确保您的防火墙没有要限制的FastTrack流量。


首先,将DHCPv4租期设置为静态的,否则,将无法为DHCPv4租期设置速率限制:

[admin@雷竞技网站MikroTik] > /ip dhcp-server lease print标志:X - disabled, R - radius, D - dynamic, B - blocked # ADDRESS MAC-ADDRESS HOST-NAME SERVER RATE-LIMIT STATUS 0 D 192.168.88.254 6C:3B:6B:7C:41:3E MikroTik DHCPv4_Server bound [admin@MikroTik] > /ip dhcp-server lease make-static 0 [admin@MikroTik] > /ip dhcp-server lease print标志:D 192.168.88.254 6C:3B:6B:7C:41:3EX - disabled, R - radius, D - dynamic, B - blocked # ADDRESS MAC-ADDRESS HOST-NAME SERVER RATE-LIMIT STATUS 0 192.168.88.254 6C:3B:6B:7C:41:3E 雷竞技网站MikroTik DHCPv4_Server绑定


然后你可以设置一个速率为DHCPv4租约,这将创建一个新的动态简单队列条目:

[admin@雷竞技网站MikroTik] > /ip dhcp-server lease set 0 rate-limit=10M/10M [admin@MikroTik] > /queue simple print Flags: X - disabled, I - invalid, D - dynamic 0 D name="dhcp-ds<6C:3B:6B:7C:41:3E>" target=192.168.88.254/32 parent=none packet-marks="" priority=8/8 queue=default-small/default-small limit-at=10M/10M max-limit=10M/10M burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s bucket-size=0.1/0.1


缺省情况下,allow-dual-stack-queue是使能的,它将为DCHPv6绑定和DHCPv4租约添加一个单独的动态简单队列条目,如果不使能该选项,则将为IPv6和IPv4添加单独的动态简单队列条目。

如果allow-dual-stack-queue,那么将创建一个包含IPv4和IPv6地址的单一动态简单队列条目:

[admin@雷竞技网站MikroTik] > /queue simple print Flags: X - disabled, I - invalid, D - dynamic 0 D name="dhcp-ds<6C:3B:6B:7C:41:3E>" target=192.168.88.254/32,fdb4:4de7:a3f8:418c::/66 parent=none packet-marks="" priority=8/8 queue=default-small/default-small limit-at=10M/10M max-limit=10M/10M burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s bucket-size=0.1/0.1

网络

子菜单:/ip dhcp-server网络

属性

财产 描述
地址IP /子网掩码;默认值:) 网络DHCP服务器将租用的地址
boot-file-name字符串;默认值:) 启动文件名
caps-manager字符串;默认值:) 一个或多个CAPsMAN系统管理器的用逗号分隔的IP地址列表。将使用DHCP Option 138 (capwap)。
dhcp-option字符串;默认值:) 添加额外的DHCP选项选项列表。
dhcp-option-set字符串;默认值:) 添加一组额外的DHCP选项。
dns-none是|否;默认值:没有 如果未配置DNS Server,则DHCP Server不将路由器上配置的动态DNS服务器发送给DHCP客户端dns服务器是集。缺省情况下,如果没有配置DNS服务器,则将动态DNS服务器传递给DHCP客户端。
dns服务器字符串;默认值:) DHCP客户端将使用这些作为默认的DNS服务器。可以指定两台DNS服务器作为DHCP客户端的首选DNS服务器和备选DNS服务器,DNS服务器之间用逗号分隔
字符串;默认值:) DHCP客户端将使用它作为网络适配器的“DNS域”设置。
网关知识产权;默认值:0.0.0.0 要使用的默认网关DHCP客户端。
子网掩码整数:0 . . 32;默认值:0 实际的网络掩码将被DHCP客户端使用。如果设置为'0' - netmask from network address将被使用。
下一个服务器知识产权;默认值:) 引导中使用的下一个服务器的IP地址。
ntp-server知识产权;默认值:) DHCP客户端将使用这些作为默认的NTP服务器。可以指定两台NTP服务器作为DHCP客户端使用的主NTP服务器和从NTP服务器,NTP服务器之间用逗号分隔
wins服务器知识产权;默认值:) Windows DHCP客户端将使用它们作为默认的WINS服务器。可以指定两台以逗号分隔的WINS服务器作为DHCP客户端使用的主备WINS服务器

半径的支持

从Routel雷竞技rOS v6.43开始,就可以使用RADIUS来分配每个租期的费率限制,为此你需要通过雷竞技网站Mikrotik-Rate-Limit属性来自您的RADIUS服务器。要实现这一点,首先需要设置DHCPv4 Server使用RADIUS分配租期。下面是一个如何设置它的例子:

/radius add address=10.0.0.1 secret=VERYsecret123 service=dhcp /ip dhcp-server set dhcp1 use-radius=yes

之后,您需要告诉您的RADIUS服务器传递雷竞技网站Mikrotik-Rate-Limit属性。如果你在MySQL中使用FreeRADIUS,那么你需要添加适当的条目radcheck而且radreply表的MAC地址,这是被您的DHCPv4客户端使用。下面是表项的示例:

错误呈现宏'code':为参数'com.atlassian.confluence.ext.code.render.InvalidValueException'指定的值无效
插入“radcheck”(“用户名”、“属性”、“人事处”、“价值”)值(“00:0C: 42:00: D4:64”、“Auth-Type ', ':=', ' 接受”),插入“radreply”(“用户名”、“属性”、“人事处”,“价值”)值(‘00:0C: 42:00: D4:64’,‘Framed-IP-Address’,‘=’,‘192.168.88.254’),(‘00:0C: 42:00: D4:64’,‘Mikrotik-Rate-Limit’,‘=’,10米),雷竞技网站

警报

为了在网络中发现任何非法DHCP服务器,可以使用DHCP Alert工具。它将监视接口上的所有DHCP应答,并检查该应答是否来自有效的DHCP服务器。如果检测到来自未知DHCP服务器的应答,将触发警报:

[admin@雷竞技网站MikroTik] ip dhcp-server alert>/log print 00:34:23 dhcp,critical,error,warning,info,debug dhcp alert on Public: found unknown dhcp server, mac 00:02:29:60:36:E7, ip 10.5.8.236 [admin@MikroTik] ip dhcp-server alert> . log打印

当系统出现非法DHCP服务器时,可执行自定义脚本。

由于DHCP的应答可以是单播的,所以恶意DHCP探测器可能根本不会收到其他DHCP client的报文。为了解决这个问题,非法DHCP检测器充当DHCP客户端——它每分钟发送一次DHCP发现请求。

对于配置了DHCP客户端的设备,不建议配置DHCP告警。由于告警本身会产生DHCP发现报文,会影响DHCP客户端的正常运行。仅在DHCP服务器或使用静态IP地址的设备上使用此特性。

子菜单:/ip dhcp-server alert . sh

属性

财产 描述
alert-timeout(none | time;默认值:1小时) 过了这段时间,警报就会被忘记。如果在此之后检测到相同的服务器,则会生成一个新的警报。如果设置为没有一个超时将永远不会过期。
接口字符串;默认值: 接口,在该接口上运行非法DHCP服务器查找器。
保持警惕字符串;默认值: 在检测到未知的DHCP服务器时运行的脚本。
valid-server字符串;默认值: 有效DHCP服务器的MAC地址列表。

只读属性

财产 描述
unknown-server字符串 检测到的未知DHCP服务器的MAC地址列表。在警报超时后,服务器将从此列表中删除

特定于菜单的命令

财产 描述
reset-alertid 清除接口上的所有告警

DHCP选项

子菜单:/ip dhcp-server选项

在DHCP选项列表的帮助下,可以定义额外的自定义选项供DHCP Server发布。选项优先级如下:

  • 半径,
  • 租赁,
  • 服务器,
  • 网络。

这是填写客户选项请求的顺序。

根据DHCP协议,只有DHCP客户端请求该参数时,才返回该参数,并在DHCP请求参数列表(code - list)属性中指定相应的代码。如果该代码不包含在参数列表属性中,则DHCP服务器不会将其发送给DHCP客户端从Routel雷竞技rOS v7.1rc5开始,可以强制使用DHCP选项即使DHCP-client没有请求该参数,也会从服务器端返回:

ip / dhcp服务器/选项/设置力= yes

属性

财产 描述
代码整数:1 . . 254;默认值: DHCP选项码。所有的代码都可以在http://www.iana.org/assignments/bootp-dhcp-parameters
的名字字符串;默认值: 选项的描述性名称
价值字符串;默认值: 参数的值。可供选项使用的数据类型有:
    • 'test' -> ASCII到十六进制0x74657374
    • '10.10.10.10' -> Unicode IP到Hex 0x0a0a0a0a
    • s'10.10.10.10' -> ASCII到十六进制0x31302e31302e31302e3130
    • s'160' -> ASCII到十六进制0x313630
    • 十进制到十六进制0x0a
    • 0x0a0a ->没有转换
    • $(VARIABLE) ->硬编码值

l雷竞技RouterOS有一些预定义的变量可以使用:

  • HOSTNAME -客户端主机名
  • RADIUS_MT_STR1 -从半径MT attr nr. 24
  • RADIUS_MT_STR2 -从半径MT attr nr. 25
  • REMOTE_ID - agent remote-id
  • NETWORK_GATEWAY -第一个网关从'/ip dhcp-server网络,请注意,如果从租约使用该选项将不起作用


现在也可以将数据类型组合为一个,例如:"0x01'vards'$(HOSTNAME)"

例如,如果HOSTNAME是'kvm',那么原始值将是0x0176617264736b766d。

原始值十六进制字符串 只读字段,显示原始DHCP选项值(实际发送的格式)

DHCP选项集

子菜单:/ip dhcp-server选项集

此菜单允许在选项集中组合多个选项,稍后可用于覆盖默认的DHCP服务器选项集。

例子

无类路由

无类路由是在客户端路由表中添加一条指定的路由。在我们的示例中,它将添加

  • dst-address = = 10.1.101.1 160.0.0.0/24网关
  • dst-address = = 10.1.101.1 0.0.0.0/0网关


根据RFC 3442:第一部分是网掩码(“18”=网掩码/24)。第二部分是目标网络的重要部分(“A00000”= 160.0.0)。第三部分是网关的IP地址(“0A016501”= 10.1.101.1)。有部分默认路由,目的子网掩码(0x00 = 0.0.0.0/0),后面跟着默认路由(0x0A016501 = 10.1.101.1)

/ip dhcp-server option add code=121 name=classless value=0x18A000000A016501000A016501 /ip dhcp-server network set 0 dhcp-option=classless . /ip dhcp-server network set 0

结果:

[admin@雷竞技网站MikroTik] /ip route> print标志:X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, b - blackhole, U - unreachable, P - forbid # DST-ADDRESS PREF-SRC GATEWAY DISTANCE 0 ADS 0.0.0.0/0 10.1.101.1 01 ADS 160.0.0.0/24 10.1.101.1 0


更健壮的方法是使用内置变量,前面的例子可以改写为:

/ip dhcp-server选项add name=classless code=121 value="0x18A00000\$(NETWORK_GATEWAY)0x00\$(NETWORK_GATEWAY)"


自动代理配置

/ip dhcp-server option add code=252 name=auto-proxy-config value=" https://autoconfig.something.lv/wpad.dat "

供应商类

自6.45beta6版本以来,RouterOS支持供应商l雷竞技类、ID匹配器。DHCP客户端使用vendor类可选地标识供应商和配置。

自RouterOS v7.4beta4以来,Vendor-class-id匹配器更改为泛型匹配器。l雷竞技

例子

在下面的配置示例中,我们将为基于android的移动电话提供一个来自特定池的IP地址。我们将使用默认配置的Routerios版雷竞技官网入口BOARD

/ip pool add name=default-dhcp ranges=192.168.88.10-192.168.88.254 add name=pool-for- vid ranges=172.16.16.10-172.16.16.120


配置vendor-class-id匹配器。DHCP服务器配置保持默认值

/ip dhcp-server add address-pool=default-dhcp disabled=no interface=bridge name=defconf /ip dhcp-server network add address=192.168.88.0/24 comment=defconf gateway=192.168.88.1 /ip dhcp-server vendor-class-id add address-pool=pool-for-VID name=samsung server=defconf vid=android-dhcp-9


将手机连接到设备上,接收172.16.16.0网络的IP地址

[admin@雷竞技网站mikrotik] > / ip dhcp服务器租赁打印细节旗帜:X -禁用,R -半径,D -动态、B -阻断0 D地址= 172.16.16.120 mac地址= 30:07:4D: F5:07:49客户机id =“1:30:7:4d: f5:7:49”地址= "服务器= defconf dhcp-option = "状态=绑定后将会到期= 8 m55前= 1 m5 active-address = 172.16.16.120 active-mac-address = 30:07:4D: F5:07:49 active-client-id =“1:30:7:4d: f5:7:49”活动服务器= defconf主机=“Galaxy-S8”


如果您不知道您的设备厂商Class ID,您可以使用/system logging add topics=dhcp.然后在日志条目中,您将看到类id

10:30:31 dhcp、调试包defconf收到0.0.0.0 10:30:31 dhcp,请求id为4238230732的调试、包秒= 3 10:30:31 dhcp,调试、包ciaddr = 0.0.0.0 10:30:31 dhcp,调试、包chaddr = 30:07:4D: F5:07:49 10:30:31 dhcp,调试、包Msg-Type =请求10:30:31 dhcp,调试、包客户机id = 01-30-07-4D-F5-07-49 10:30:31 dhcp,调试、数据包地址请求= 172.16.16.120 10:30:31 dhcp,调试、包服务器id = 192.168.88.1 10:30:31 dhcp,调试、包Max-DHCP-Message-Size = 1500 10:30:31dhcp,debug,packet Class-Id = "android-dhcp-9" 10:30:31 dhcp,debug,packet Host-Name = "Galaxy-S8" 10:30:31 dhcp,debug,packet Parameter-List = Subnet-Mask,Router,Domain-Server,Domain-Name,Interface-MTU,Broadcast-Address,Address-Time,Ren ewalltime, rebbinding - time,Vendor-Specific 10:30:31 dhcp,info defconf assigned 172.16.16.120 to 30:07:4D:F5:07:49 10:30:31 dhcp,debug,packet defconf sending ack with id 4238230732 to 172.16.16.120 10:30:31 dhcp,debug,packet ciaddr = 0.0.0.0 10:30:31 dhcp,debug,packetyiaddr = 172.16.16.120 10:30:31 dhcp,debug,packet siaddr = 192.168.88.1 10:30:31 dhcp,debug,packet chaddr = 30:07:4D:F5:07:49 10:30:31 dhcp,debug,packet Msg-Type = ack 10:30:31 dhcp,debug,packet Server-Id = 192.168.88.1 10:30:31 dhcp,debug,packet Address-Time = 600 10:30:31 dhcp,debug,packet Domain-Server = 192.168.88.1,10.155.0.1,10.155.0.126

通用的匹配器

从Routel雷竞技rOS 7.4beta4开始,vendor-id匹配器被转换为通用匹配器。通用匹配器允许匹配任何DHCP选项。

匹配DHCP选项60的例子类似于vendor-id-class matcher:

/ip dhcp-server matcher add address-pool=pool1 code=60 name=test value=android-dhcp-11

匹配客户端id与选项61配置为十六进制值:

/ip dhcp-server matcher add address-pool=pool1 code=61 name=test value=0x016c3b6bed8364

使用字符串匹配代码12:

/ip dhcp-server matcher add address-pool=testpool code=12 name=test server=dhcp1 value="雷竞技网站MikroTik"

配置示例

设置

要简单地配置DHCP服务器,可以使用设置命令。

首先,在接口上配置IP地址:

[admin@雷竞技网站MikroTik] > /ip address add address=192.168.88.1/24 interface=ether3 disabled=no


然后你用设置一个命令,该命令将自动询问所需的参数:

[admin@雷竞技网站MikroTik] > / ip DHCP服务器设置选择界面DHCP服务器上运行DHCP服务器接口:ether3选择网络DHCP地址DHCP地址空间:192.168.88.0/24选择网关为给定网络网关DHCP网络:192.168.88.1选择ip地址池的DHCP服务器地址给:192.168.88.2-192.168.88.254选择DNS服务器的DNS服务器:10.155.126.1,10.155.0.1,选择租赁租赁时间:10 m


就这些。已配置主用DHCP服务器。

手动配置

要手动配置DHCP服务器以响应本地请求,需要配置以下内容:

  • 一个IP池对于要分配的地址,确保您的网关/DHCP服务器地址不是池的一部分。
/ip pool add name=dhcp_pool0 ranges=192.168.88.2-192.168.88.254
  • 一个网络表示DHCP-server将从其中租用地址的子网,以及其他信息,如网关、DNS-server、NTP-server、DHCP选项等。
/ip dhcp-server network add address=192.168.88.0/24 dns-server=192.168.88.1 gateway=192.168.88.1
  • 在我们的例子中,设备本身充当网关,因此我们将添加地址对于桥接接口:
/ip address add address=192.168.88.1/24 interface=bridge1 network=192.168.88.0
  • 最后,加上DHCP服务器,在这里我们将添加之前创建的地址,并具体说明接口DHCP服务器应该正常工作
/ip dhcp-server add address-pool=dhcp_pool0 disabled=no interface=bridge1 name=dhcp1

DHCPv6服务器

总结

标准:RFC 3315, RFC 3633

单个DUID用于客户端和服务器的标识,只有IAID会在对应于其指定接口的客户端之间发生变化。

客户端绑定创建一个动态池,其超时设置为绑定的过期时间(注意,现在动态池可以有超时),该超时将在每次绑定更新时更新。

当客户端与某个前缀绑定时,DHCP服务器会添加路由信息,以知道如何到达指定的前缀。

服务器中的客户端绑定不再显示MAC地址(就像在v5.8中一样),取而代之的是使用DUID(十六进制)和IAID。升级后MAC地址会自动转换为DUID,但由于DUID类型和IAID未知,需要用户进一步更新;

l雷竞技RouterOS的DHCPv6服务器只能委派IPv6前缀,不能委派地址。

一般

子菜单:/ ipv6 dhcp服务器


该子菜单列出并允许配置DHCP-PD服务器。

财产 描述
地址池Enum | static-only;默认值:static-only IPv6池,从中获取IPv6前缀为客户端。
权威的after-10s delay | after-2s delay | yes | no;默认值:after-2sec-delay DHCP服务器是否是网络中唯一的DHCP服务器:
  • after-10sec-delay-当客户端请求一个地址时,DHCP服务器将等待10秒,如果在此时间内客户端有另一个请求,DHCP服务器将提供该地址给客户端,如果所请求的地址不在此服务器上,则发送DHCPNAK
  • after-2sec-delay-当客户端请求一个地址时,DHCP服务器将等待2秒,如果在此时间内客户端有另一个请求,DHCP服务器将提供该地址给客户端,如果所请求的地址不在此服务器上,则发送DHCPNAK
  • 是的如果客户端请求的地址在此服务器上不可用,DHCP服务器将发送否定确认(DHCPNAK)
  • 没有—DHCP服务器忽略客户端对该服务器不可用地址的请求
绑定脚本字符串;默认值:) 在分配或取消绑定后执行的脚本。可以在脚本中使用的内部“全局”变量:
  • bindingBound如果绑定则设置为“1”,否则设置为“0”
  • bindingServerName—DHCP服务器名称
  • bindingDUID——DUID
  • bindingAddress-活动地址
  • bindingPrefix-活动前缀
delay-threshold时间|无;默认值:没有一个 如果DHCP报文中的secs字段小于delay-threshold,则忽略该报文。如果设置为没有一个-没有阈值(处理所有DHCP报文)
禁用是|否;默认值:没有 DHCP-PD服务器是否参与字冠分配过程。
接口字符串;默认值:) 服务器将在其上运行的接口。
租用时间时间;默认值:3 d 客户端可以使用指定地址的时间。客户端将尝试在这个时间的一半之后更新这个地址,并在时间限制到期后请求一个新的地址。
的名字字符串;默认值:) 引用名称

只读属性

财产 描述
动态是|否
无效的是|否

绑定

子菜单:/ipv6 dhcp-server绑定

DUID仅用于动态绑定,因此如果它发生了更改,那么客户机将收到与以前不同的前缀。

财产 描述
地址IPv6前缀;默认值:) 将分配给客户端的IPv6前缀
allow-dual-stack-queue是|否;默认值:是的 为IPv4和IPv6地址创建一个简单的队列条目,使用MAC地址和DUID进行标识。需要IPv4 DHCP服务器启用此选项也可以正常工作。
评论字符串;默认值:) 对物品的简短描述。
禁用是|否;默认值:没有 是否禁用某项
dhcp-option字符串;默认值:) 添加额外的DHCP选项选项列表。
dhcp-option-set字符串;默认值:) 添加一组额外的DHCP选项。
一生时间;默认值:3 d 绑定到期后的时间段。
duid十六进制字符串;默认值:) DUID价值。只能以十六进制格式指定。
iaid整数(0 . . 4294967295);默认值:) 身份关联标识符,是客户端ID的一部分。
prefix-pool字符串;默认值:) 向DHCPv6客户端发布的前缀池。
限速Integer [/ Integer] [Integer [/ Integer] [Integer [/ Integer] [Integer [/ Integer]]]]];默认值:) 添加一个动态简单队列来限制IP带宽到指定的速率。要求租赁是静态的。格式为:rx-rate[/tx-rate] [rx-burst-rate[/tx-burst-rate] [rx-burst-threshold[/tx-burst-threshold] [rx-burst-time[/tx-burst-time]]]]]。所有速率都应该是带有可选的“k”(1000)或“M”(100万)的数字。如果没有指定tx-rate,则rx-rate也作为tx-rate。同样的道理也适用于tx-burst rate, tx-burst threshold和tx-burst time。如果不指定rx-burst-threshold和tx-burst-threshold,但指定了burst-rate,则使用rx-rate和tx-rate作为burst阈值。如果不指定rx-burst-time和tx-burst-time,则缺省为1s。
服务器字符串| all;默认值:所有 服务器名称。如果设置为所有,则对所有已创建的DHCP-PD服务器进行绑定。

只读属性

财产 描述
动态是|否 是否动态创建项。
后将会到期时间 绑定到期后的时间段。
时间 自最后一次见到客户后的一段时间。
状态等待|提供|绑定 可能有三种状态值:
  • 等待-如果不使用静态绑定则显示。对于动态绑定,如果它以前被使用过,则会显示此状态,服务器将等待10分钟来允许旧客户端获得此绑定,否则绑定将被清除,并将前缀提供给其他客户端。
  • 提供——如果征求消息被接收,服务器响应做广告一个消息,但请求未收到。在此状态客户端有2分钟时间获取此绑定,否则将释放它或将状态更改为等待对于静态绑定。
  • 绑定-当前绑定。

例如,动态分配/62前缀

[admin@RB493G] /ipv6 dhcp-server binding> print detail Flags: X - disabled, D - dynamic 0 D address=2a02:610:7501:ff00::/62 duid="1605fcb400241d1781f7" iaid=0 server=local-dhcp lifetime =3d status=bound expires-after=2d23h40m10s last-seen=19m50s 1 D address=2a02:610:7501:ff04::/62 duid="0019d1393535" iaid=2 server=local-dhcp lifetime =3d status=bound expires-after=2d23h43m47s last-seen=16m13s

特定于菜单的命令

财产 描述
使静态() 将动态绑定设置为静态。

速度限制

可以使用DHCPv6绑定将带宽设置为特定的IPv6地址。这可以通过在DHCPv6绑定本身上设置速率限制来实现,通过这样做,一个动态的简单队列规则将被添加到对应于DHCPv6绑定的IPv6地址中。通过使用限速参数可以方便地限制用户的带宽。

要使任何队列正常工作,流量不能是FastTrack的,请确保您的防火墙没有要限制的FastTrack流量。

首先,使DHCPv6绑定是静态的,否则,将无法为DHCPv6绑定设置速率限制:

[admin@雷竞技网站MikroTik] > /ipv6 dhcp-server binding print Flags: X - disabled, D - dynamic # ADDRESS DUID SERVER STATUS 0 D fdb4:4de7:a3f8:418c::/66 0x6c3b6b7c413e DHCPv6_Server bound [admin@MikroTik] > /ipv6 dhcp-server binding make-static 0 [admin@MikroTik] > /ipv6 dhcp-server binding print Flags: X - disabled, D - dynamic # ADDRESS DUID SERVER STATUS 0 fdb4:4de7:a3f8:418c::/66 0x6c3b6b7c413e DHCPv6_Server bound

然后你需要为DHCPv6绑定设置一个速率,它将创建一个新的动态简单队列条目:

[admin@雷竞技网站MikroTik] > /ipv6 dhcp-server binding set 0 rate-limit=10M/10 [admin@MikroTik] > /queue simple print Flags: X - disabled, I - invalid, D - dynamic 0 D name="dhcp<6c3b6b7c413e fdb4:4de7:a3f8:418c::/66>" target=fdb4:4de7:a3f8:418c::/66 parent=none packet-marks="" priority=8/8 queue=default -small/default-small limit-at=10M/10M max-limit=10M/10M burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s bucket-size=0.1/0.1

默认情况下allow-dual-stack-queue如果启用该选项,则将为DCHPv6绑定和DHCPv4租约添加一个单独的动态简单队列条目,如果不启用该选项,则将为IPv6和IPv4添加单独的动态简单队列条目。

如果allow-dual-stack-queue,那么将创建一个包含IPv4和IPv6地址的单一动态简单队列条目:

[admin@雷竞技网站MikroTik] > /queue simple print Flags: X - disabled, I - invalid, D - dynamic 0 D name="dhcp-ds<6C:3B:6B:7C:41:3E>" target=192.168.1.200/32,fdb4:4de7:a3f8:418c::/66 parent=none packet-marks="" priority=8/8 queue=default -small/default-small limit-at=10M/10M max-limit=10M/10M burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s bucket-size=0.1/0.1

半径的支持

从Routel雷竞技rOS v6.43开始,可以使用RADIUS为每个DHCPv6绑定分配速率限制,为此你需要通过雷竞技网站Mikrotik-Rate-Limit属性用于DHCPv6绑定。要实现这一点,首先需要将DHCPv6服务器设置为使用RADIUS分配绑定。下面是一个如何设置它的例子:

/radius add address=10.0.0.1 secret=VERYsecret123 service=dhcp /ipv6 dhcp-server set dhcp1 use-radius=yes

之后,您需要告诉您的RADIUS服务器传递雷竞技网站Mikrotik-Rate-Limit属性。如果你在MySQL中使用FreeRADIUS,那么你需要添加适当的条目radcheck而且radreply表的MAC地址,这是被您的DHCPv6客户端使用。下面是表项的示例:

INSERT INTO ' radcheck ' (' username ', ' attribute ', ' op ', ' value ') VALUES ('000c4200d464', 'Auth-Type', ':=', 'Accept'), INSERT INTO ' radreply ' (' username ', ' attribute ', ' op ', ' value ') VALUES ('000c4200d464', ' delegation - ipv6 - prefix ', '=', 'fdb4:4de7:a3f8:418c雷竞技网站::/66'), ('000c4200d464', 'Mikrotik-Rate-Limit', '=', '10M');

默认情况下allow-dual-stack-queue如果MAC地址来自IPv4租约(或DUID,如果DHCPv4客户端支持?特定于节点的客户机标识符但是来自DHCPv6客户端的DUID并不总是基于运行DHCPv6客户端的接口的MAC地址,DUID是基于每个设备生成的。因此,可能不会创建单个动态队列条目,而是创建单独的动态队列条目。

配置示例

启用IPv6前缀委派功能

假设我们已经有一个正在运行的DHCP服务器。

要启用IPv6前缀委派功能,首先需要创建地址池:

/ipv6 pool add name=myPool prefix=2001:db8:7501::/60 prefix-length=62

注意,prefix-length是62位,这意味着客户端将从/60池接收/62前缀。

下一步是使能DHCP-PD:

/ipv6 dhcp-server add name=myServer address-pool= myypool interface=local



为了测试我们的服务器,我们将在ubuntu机器上设置wide-dhcpv6:

  • 安装wide-dhcpv6-client
  • 如上所述编辑“/etc/wide-dhcpv6/dhcp6c.conf”

RouterOS也可以作为DHCPl雷竞技-PD客户端使用。

接口eth2{发送ia-pd 0;};Id-assoc pd {prefix-interface eth3{sla-id 1;sla-len 2;};};
  • 运行DHCP-PD client:
sudo dhcp6c -d -d -f eth2 . sh
  • 验证前缀被添加到:
mrz@bumba:/media/aaa$ IP -6 addr ..2: eth3:  mtu 1500 qlen 1000 inet6 2001:db8:7501:1:20 00:ff:fe0:0/64 scope global valid_lft forever preferred_lft forever inet6 fe80:: 24:1dff:fe17:81f7/64 scope link valid_lft forever preferred_lft forever
  • 你可以将对特定客户端的绑定设置为静态的,这样它总是接收相同的前缀:
[admin@RB493G] /ipv6 dhcp-server binding> print Flags: X - disabled, D - dynamic # ADDRESS DU IAID SER..STATUS 0 D 2001:db8:7501::/62 16 0 loc..bind [admin@RB493G] /ipv6 dhcp-server binding> make-static 0 .使用实例
  • DHCP-PD还将指定前缀的路由安装到IPv6路由表中:
[admin@RB493G] /ipv6 route> print flag: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, o - ospf, b - bgp, U - unreachable # DST-ADDRESS GATEWAY DISTANCE…2 ADS 2001:db8:7501::/62 fe80::224:1dff:fe17:8…1

DHCP中继

总结

子菜单:/ ip dhcp-relay

DHCP中继的作用是充当DHCP客户端和DHCP服务器之间的代理。在DHCP服务器和DHCP客户端不在同一广播域的网络中非常有用。

DHCP中继不选择DHCP服务器列表中的特定DHCP服务器,它只是将传入的请求发送到列表中的所有服务器。

属性

财产 描述
add-relay-info是|否;默认值:没有 根据rfc3046的要求,增加启用DHCP中继的信息。Agent Circuit ID子选项包含接口的mac地址,Agent Remote ID子选项包含收到请求的客户端的mac地址。
delay-threshold时间|无;默认值:没有一个 如果DHCP报文中的secs字段小于delay-threshold,则忽略该报文
dhcp服务器字符串;默认值:) DHCP请求应转发到的DHCP服务器IP地址列表
接口字符串;默认值:) DHCP中继将工作的接口名称。
本地地址知识产权;默认值:0.0.0.0 此DHCP中继的唯一IP地址,用于DHCP服务器区分中继。如果设置为0.0.0.0—自动选择IP地址
relay-info-remote-id字符串;默认值:) 指定的字符串将被用来构造Option 82而不是客户端的MAC地址。选项82由接收报文的接口+客户端mac地址或relay-info-remote-id
的名字字符串;默认值:) 继电器的描述性名称

配置示例

假设您在其他路由器后面有几个IP网络,但是您希望将所有DHCP服务器都放在一个路由器上。为此,您需要在网络上配置一个DHCP中继,它将从客户端向DHCP服务器发送DHCP请求。

本例将介绍如何配置DHCP服务器和DHCP中继,为路由器DHCP- relay后面的两个IP网络(192.168.1.0/24和192.168.2.0/24)提供服务。

IP地址配置

DHCP-Server IP地址:

[admin@DHCP-Server] ip address> print flag: X - disabled, I - invalid, D - dynamic # address NETWORK BROADCAST INTERFACE 0 192.168.0.1/24 192.168.0.0 192.168.0.255 To-DHCP-Relay 1 10.1.0.2/24 10.1.0.0 10.1.0.255 Public [admin@DHCP-Server] ip address>

DHCP-Relay的IP地址:

[admin@DHCP-Relay] ip address>打印标志:X - disabled, I - invalid, D - dynamic # address NETWORK BROADCAST INTERFACE 0 192.168.0.2/24 192.168.0.0 192.168.0.255 To-DHCP-Server 1 192.168.1.1/24 192.168.1.0 192.168.1.255 Local1 2 192.168.2.1/24 192.168.2.0 192.168.2.255 Local2 [admin@DHCP-Relay] ip address>


DHCP服务器设置

在DHCP- server路由器上设置2个DHCP server时,需要添加2个池。对于192.168.1.0/24和192.168.2.0网络:

/ip pool add name=Local1-Pool ranges=192.168.1.11-192.168.1.100 /ip pool add name=Local1-Pool ranges=192.168.2.11-192.168.2.100 [admin@DHCP-Server] ip pool> print # name range 0 Local1-Pool 192.168.1.11-192.168.1.100 1 Local2-Pool 192.168.2.11-192.168.2.100 [admin@DHCP-Server] ip pool> . name range 0


创建DHCP服务器:

/ip dhcp-server add interface=To-DHCP-Relay relay=192.168.1.1 \ address-pool= local -pool name=DHCP-1 disabled=no /ip dhcp-server add interface=To-DHCP-Relay relay=192.168.2.1 \ address-pool= local -pool name=DHCP-2 disabled=no [admin@DHCP-Server] ip dhcp-server> print flag:# NAME INTERFACE RELAY ADDRESS-POOL LEASE-TIME ADD-ARP 0 DHCP-1 To-DHCP-Relay 192.168.1.1 local - pool 3d00:00:00 1 DHCP-2 To-DHCP-Relay 192.168.2.1 local - pool 3d00:00:00 [admin@DHCP-Server] ip dhcp-server> . X - disabled, I - invalid # NAME INTERFACE RELAY ADDRESS-POOL LEASE-TIME ADD-ARP 0


配置各自的网络:

/ip dhcp-server network add address=192.168.1.0/24 gateway=192.168.1.1 \ dns-server=159.148.60.20 /ip dhcp-server network add address=192.168.2.0/24 gateway=192.168.2.1 \ dns-server 159.148.60.20 [admin@DHCP-Server] ip dhcp-server network> print # address gateway dns-server WINS-SERVER DOMAIN 0 192.168.1.0/24 192.168.1.1 159.148.60.20 1 192.168.2.0/24 192.168.2.1 159.148.60.20 [admin@DHCP-Server] ip dhcp-server network>


DHCP中继配置

完成DHCP-Server的配置。现在让我们配置DHCP-Relay:

/ip dhcp-relay add name=Local1- relay interface=Local1 \ dhcp-server=192.168.0.1 local-address=192.168.1.1 disabled=no /ip dhcp-relay add name=Local2- relay interface=Local2 \ dhcp-server=192.168.0.1 local-address=192.168.2.1 disabled=no [admin@DHCP-Relay] ip dhcp-relay> print Flags: X - disabled, I - invalid # name interface dhcp-server local-address 0 Local1- relay Local1 192.168.0.1 192.168.2.1 [admin@DHCP-Relay] ip dhcp-relay>
  • 没有标签