我正在努力弄清楚如何强制任何 DHCP 客户端设备连接到 Mikrotik 路由器上的端口 ETH10 并分配固定 IP 地址。
请注意,设备 MAC 地址未知,我不会保留绑定到路由器端连接设备的 MAC 地址的静态 IP 地址,此外,连接的设备设置为 DHCP 客户端,无法提供静态 IP。
为了进一步说明,您可以在下文中找到更多解释,我在 [Mikrotik 路由器上] 创建了 bridge1,其 IP 范围为 192.168.20.0/24,分配给 Eth1、Eth2、Eth3 端口,并且连接到路由器端口 Eth1、Eth2、Eth3 的所有设备都获得了动态的路由器 DCHP 服务器的 IP 地址池为 192.168.20.100-19.168.20.110,此外,连接的 ETh1、Eth2、Eth3 设备应该可以访问互联网,并且它们的地址应该始终从路由器 DHCP 服务器动态获取。
问题如下,我想保留 mikrotik 上的端口 Eth10,只为以太网接口连接到路由器的 ETH10 的任何 IoT 设备提供静态 IP 地址 192.168.20.115,所有 IoT 设备的以太网端口都配置为 DHCP 客户端,并且无法更改它。
Mikrotik 路由器根本不应该根据所连接的 IoT 设备以太网接口的保留 MAC 地址为 IoT 设备分配静态 IP 地址,因为许多此类 IoT 设备将会连接然后在稍后分离,并且不可能在路由器上保留/存储这些 MAC 地址。
此外,出于安全原因,任何 IoT 设备都应该能够从连接到 ETH1-ETH3 的任何设备访问,反之亦然,但 IoT 设备根本不能访问互联网,而 ETH1-ETH3 设备可以访问互联网并相互通信/联系。
我在 Mikrotik 中创建了 DHCP 服务器,并与 ETH1-ETH3 设备共享互联网,但我无法为 ETH10 连接的设备创建/分配静态 IP 地址并阻止其上网。我谷歌搜索的所有信息都提供了基于 MAC 地址的静态 IP 分配,但我用不到它。
任何关于如何实现非基于 MAC 地址的静态 IP 分配以及在 Mikrotik 上运行的子网中特定 IP 地址上的互联网的指南/设置都值得赞赏。
答案1
在 eth10 上设置一个单独的 dhcp 服务器,该服务器以较短的租用时间动态地发放单个地址,并且无需 DNS 设置。
/ip address add address=192.168.20.114/31 interface=eth10
/ip pool add name="iot-static" ranges=192.168.20.115
/ip dhcp-server add name="iot-dchp" interface=eth10 lease-time=1m address-pool=iot-static add-arp=yes authoritative=yes use-radius=no
/ip dhcp-server network add address=192.168.20.114/31 gateway=192.168.20.114 netmask=31 dns-none=yes
为了阻止来自 IoT 设备的所有流量但允许回复,请设置防火墙过滤规则,阻止来自 IoT 设备的新连接:
/ip firewall filter add chain=forward action=reject reject-with=icmp-admin-prohibited connection-state=new src-address=192.168.20.115 in-interface=eth10 log=no
如果您只想阻止互联网流量,请使用不同的过滤规则:
/ip firewall filter add chain forward action=reject reject-with=icmp-admin-prohibited src-address=192.168.20.115 out-interface=eth-internet log=no