DNSMASQ 在 dhcp-option=6 中指定端口号

DNSMASQ 在 dhcp-option=6 中指定端口号

我运行的是 Ubuntu 16.04 LTS。

我想将来自某个 ip[-range] 的 DNS 请求重定向到另一个dnsmasqon实例port 1995。为此,我在/etc/dnsmasq.conf文件中添加了以下几行:

dhcp-range=set:red,10.10.10.11,10.10.10.222,255.255.255.0,12h
dhcp-option=tag:red,6,10.10.10.10:1995

但是当我重新启动时dnsmasq它失败了Bad IP address on line ...

我也试过

dhcp-option=tag:red,6,10.10.10.10#1995 

这也失败了,因为Bad IP Address

现在,请告诉我如何指定其他 DNS 服务器的端口号dhcp-option

答案1

归根结底,这里的问题不是那么多,dnsmasq而是 DHCP 协议本身。

选项 6 没有用于保存任何端口的字段,只有 4 个八位字节/字节(32 位)的 IPv4 地址序列。

RFC2132:DHCP 选项和 BOOTP 供应商扩展

3.8. Domain Name Server Option

   The domain name server option specifies a list of Domain Name System
   (STD 13, RFC 1035 [8]) name servers available to the client.  Servers
   SHOULD be listed in order of preference.

   The code for the domain name server option is 6.  The minimum length
   for this option is 4 octets, and the length MUST always be a multiple
   of 4.

    Code   Len         Address 1               Address 2
   +-----+-----+-----+-----+-----+-----+-----+-----+--
   |  6  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
   +-----+-----+-----+-----+-----+-----+-----+-----+--

除非您要改变整体方法,否则您需要将不同的名称服务器放在不同的地址上,而不是不同的端口上。

相关内容