我的默认网关服务器 192.168.0.1 上运行着一台 DHCP 服务器(Linux、IPCop、dnsmasq)。我在网络中的另一台服务器(192.168.0.4)上有一个 VPN 端点。是否可以配置 DHCP 服务器,使其在 DHCP 客户端请求 IP 地址时不仅发送默认网关,还发送 VPN(192.168.1.*)的路由信息?DHCP 客户端运行 Windows 和 Linux。
我试图在官方文档中找到一些东西(http://www.ipcop.org/2.0.0/en/admin/html/custom-dnsmasq-local.html)但失败了。RFC3442表明这可能以某种方式实现。
答案1
可以通过添加以下行来实现dhcpd.conf
:
option rfc3442-classless-static-routes code 121 = array of integer 8;
option rfc3442-classless-static-routes 24, 192, 168, 1, 192, 168, 0, 4;
option ms-classless-static-routes code 249 = array of integer 8;
option ms-classless-static-routes 24, 192, 168, 1, 192, 168, 0, 4;
这将使用网关 192.168.0.4 为网络 192.168.1.0/24 分发路由条目。
字节的含义是(括号中为上述示例中的值):
WW, D1, D2, D3, R1, R2, R3, R4
WW = destination network mask width (24)
D1..D3 = destination network address (192.168.1.*)
R1..R4 = router address (192.168.0.4)
注意:字节数D1..DN
取决于网络掩码。请参阅RFC3442了解详情。
答案2
RFC 3442 选项的语法有点不寻常。这是blerontin 的回答以更图形化的方式,有些人可能会觉得更容易理解。
option rfc3442-classless-static-routes code 121 = array of integer 8;
option ms-classless-static-routes code 249 = array of integer 8;
# Route to 192.168.1.0/24 through 192.168.0.4;
# ┌───────────────┘
# | | | |
option rfc3442-classless-static-routes 24, 192,168,1, 192,168,0,4;
option ms-classless-static-routes 24, 192,168,1, 192,168,0,4;
答案3
如果您想定义多个静态路由....
如果多次指定该选项,则只有 1 个(可能是最后一个)适用。
相反,只需连接条目即可。例如
option rfc3442-classless-static-routes X, X,X,X,X, X,X,X,X;
option rfc3442-classless-static-routes Y, Y,Y,Y,Y, Y,Y,Y,Y;
但
option rfc3442-classless-static-routes X, X,X,X,X, X,X,X,X, Y, Y,Y,Y,Y, Y,Y,Y,Y;