使用 isc-dhcp-server 从不同于服务器子网的子网分配地址

使用 isc-dhcp-server 从不同于服务器子网的子网分配地址

我正在尝试将我的网络分成不同的子网。

服务器位于 192.168.15.0/24 子网。

我的 dhcp.conf 中有以下声明:

子网 192.168.15.0 网络掩码 255.255.255.0 {

range 192.168.15.100  192.168.15.250;   
option routers 192.168.15.236; 

};

当我尝试将其更改为另一个范围时:

子网 192.168.14.0 网络掩码 255.255.255.0 {

range 192.168.14.100  192.168.14.250;   
option routers 192.168.15.236; 

};

没有分配地址。即使我尝试创建固定地址:

主持我笔记本电脑{

   hardware ethernet 10:(..);
   fixed-address 192.168.14.115;

}

服务器不会将该地址分配给我的计算机。

我尝试在 192.168.14.0/24 子网中创建虚拟接口,但没有帮助。

另外,当我手动设置我的计算机地址时,它可以工作,并且我能够访问 192.168.15.0/24 网络以及 192.168.14.0/24 网络,但是当我再次在 14.0/24 网络中创建地址的服务器虚拟接口时,我无法从我的计算机访问服务器和其他网络。

更新

我的 /etc/networking/interfaces 文件:

auto lo
iface lo inet loopback

auto eth0
        iface eth0 inet static
        address 192.168.15.236
        netmask 255.255.0.0
        #broadcast 192.168.240.127
        gateway 192.168.15.254

auth eth0.2
iface eth0.2 inet static
        address 192.168.14.1
        netmask 255.255.255.0
        vlan-raw-device eth0

这是 dhcpd.log 的一部分,其中包含有关我的接口的信息:

Feb 13 14:26:52 mario dhcpd: uid lease 192.168.15.101 for client 7c:c3:a1:a7:54:c3 is duplicate on 192.168.15.0/24
Feb 13 14:26:52 mario dhcpd: DHCPREQUEST for 192.168.15.98 from 7c:c3:a1:a7:54:c3 via eth0
Feb 13 14:26:52 mario dhcpd: DHCPACK on 192.168.15.98 to 7c:c3:a1:a7:54:c3 via eth0

以下是 tcpdump 中发生的情况:

14:29:21.498248 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 7c:c3:a1:a7:54:c3, length 300
14:29:21.498469 IP 192.168.15.236.67 > 192.168.15.98.68: BOOTP/DHCP, Reply, length 300

答案1

我不完全确定您想要实现什么。我可以看到两种可能性:

  1. 您有两个子网,中间有路由器,并且希望有一个 DHCP 服务器负责 IP 地址分配。在这种情况下,您可能应该查看 dhcprelay(也是 isc-dhcp 的一部分)或交换机/路由器上所谓的“ip helper”或“dhcp helper”。
  2. 您希望两个子网之间共享单个物理网段。在这种情况下,您必须将两个子网都放在shared-network语句中。

答案2

这应该是一条要求更多信息的评论,但我没有足够的声誉来做到这一点:-/

您应该添加服务器上网络接口的详细信息(ifconfig 输出),并可能添加 /var/log/dhcpd.log 的输出(或您使用的任何配置文件)。您可以在以下位置获取有关如何执行此操作的信息:http://prefetch.net/articles/iscdhcpd.html

如果没有接口绑定到该子网,Dhcpd 不会提供地址。它会给出如下错误

No subnet declaration for eth0 (no IPv4 addresses).
dhcpd: ** Ignoring requests on eth0.  If this is not what
dhcpd:    you want, please write a subnet declaration
dhcpd:    in your dhcpd.conf file for the network segment
dhcpd:    to which interface eth0 is attached. **

dhcp 协商的 Tcpdump 对于调试该问题也很有用。

相关内容