如何覆盖子组中的 isc-dhcpd 选项以隐藏默认网关

如何覆盖子组中的 isc-dhcpd 选项以隐藏默认网关

鉴于以下配置,我如何撤消routers内部选项group,以便某些机器不会被告知外部的默认网关是什么group

group {
  # A bunch of options go here which should apply to all clients.
  option domain-name-servers ...
  option routers 192.168.0.1;

  # This host should be told about the default gateway.  This is just an example,
  # there are many more.
  host example1 { }

  group {
    # This group should have no default gateway supplied by the DHCP server,
    # but otherwise inherit all the options from the parent group.
    option routers 0.0.0.0;

    host example2 { }
  }

  # There are many other groups that I have omitted for simplicity.
  group { }
}

就我而言,我使用的是从中国购买的一些 IP 摄像机,它们会打电话回家(实际上是位于美国的服务器),但仍然无法在设备本身上禁用此功能。我已经在防火墙处阻止了流量,但我希望它甚至不会走那么远,通过告诉摄像头没有可用的默认网关,因此它不知道将发往我的网络外部的数据包发送到哪里。

当我使用上述配置时,0.0.0.0ISC DHCP 服务器会忽略该选项,并且它仍然给出从父组继承的网关。

有没有办法完全覆盖routers父级的选项group { }

答案1

使用“option dhcp-parameter-request-list”限制 DHCP 服务器可以返回给客户端的参数。请参阅手册页DHCP 选项 (5)。在最里面的组中添加如下内容:

option dhcp-parameter-request-list 1,2,6,12,15,42,51,53,54,61,119;

请注意,路由器选项的代码编号为 3,因此我们将该选项排除在允许列表之外。看RFC-2132查看 DHCP 选项及其代码的列表。

答案2

好吧,我想出了一个不太理想的解决方法,即将网关设置为本地主机:

option routers 127.0.0.1;

这并不理想,因为主机认为它的互联网连接已断开,而不是根本没有连接,但总比没有好!

相关内容