将到某一特定地址的静态路由添加到 dhcpd.conf

将到某一特定地址的静态路由添加到 dhcpd.conf

我想添加一条静态路由10.13.0.1/32192.168.178.10dhcpd.conf的 dhcpd 服务器。不幸的是,这似乎非常复杂。

我尝试了以下方法:

option static-routes 10.13.0.1 192.168.178.10;

然而,这将添加一条不需要的10.0.0.0/8路线。192.168.178.10我也尝试过:

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
option ms-classless-static-routes 32, 10, 13, 0, 1, 192, 168, 178, 10;

这会导致 dhcpd 不再启动:

Feb 13 20:49:30 csh-gw dhcpd[32042]: For info, please visit https://www.isc.org/software/dhcp/
Feb 13 20:49:30 csh-gw dhcpd[32042]: /var/lib/dhcp//etc/dhcpd.conf line 63: unknown option dhcp.ms-classless-static-routes
Feb 13 20:49:30 csh-gw dhcpd[32042]: option ms-classless-static-routes 32,
Feb 13 20:49:30 csh-gw dhcpd[32042]:         ^
Feb 13 20:49:30 csh-gw dhcpd[31870]: Starting ISC DHCPv4 Server
Feb 13 20:49:30 csh-gw dhcpd[31870]:   please see /var/log/rc.dhcpd.log for details ..failed

谷歌搜索这个问题只产生了向整个网络添加路由的结果,包括默认网关,这是我不想要的。

答案1

你尝试过这个吗?

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
option rfc3442-classless-static-routes 32, 10, 13, 0, 1, 192, 168, 178, 10;

答案2

您需要启用 2 个不同的选项,因为 Microsoft 使用与 RFC 3442 中定义的选项不同的选项:

# Enable sending of static routes
option rfc3442-classless-static-routes code 121 = array of integer 8;
option      ms-classless-static-routes code 249 = array of integer 8;

然后定义这两个选项,幸运的是它们在 ISC 文件中使用相同的语法dhcpd.conf。首先是目标 IP 掩码,它还将定义需要给出 IP 的多少字节。在您的情况下,对于掩码为 32 的单个 IP,您将提供所有 4 个 IP 字节:

# Route                             to    10.13.0.1/32 through 192.168.178.10;
#                                       ┌────────────┘
#                                       |  |  | | |   
option rfc3442-classless-static-routes 32,10,13,0,1,           192,168,178,10;
option      ms-classless-static-routes 32,10,13,0,1,           192,168,178,10;

对于到 24 位网络的路由(10.13.0.1 和 10.13.0.255 之间的所有 IP),您只需为网络提供 3 个字节。它看起来像这样:

# Route                             to    10.13.0.1/24 through 192.168.178.10;
#                                       ┌────────────┘
#                                       |  |  | |    
option rfc3442-classless-static-routes 24,10,13,0,             192,168,178,10;
option      ms-classless-static-routes 24,10,13,0,             192,168,178,10;

答案3

其他答案很可能是错误的。虽然这可能会将所需的路由推送到 DHCP 客户端,但在我的测试中,客户端将不再有默认路由。

因此,在部署建议之前,请确保客户端网络配置实际上是正确的!

相关内容