如何设置服务于不同 IP 范围的 DHCP 服务器(例如 192.168.1.x 和 172.16.xx)

如何设置服务于不同 IP 范围的 DHCP 服务器(例如 192.168.1.x 和 172.16.xx)

我运行 Linux,并使用 dhcp3server 来管理网络中的 IP 地址。现在我有一个 zyxel 接入点,想在与有线网络不同的 IP 范围内驱动它。是否可以运行一个 dhcp 服务器来管理两个 IP 范围?

如果是,那么如何确定?

和平

更新:我的网络 IP 范围是 192.168.1.x。运行 DHCP 服务器的网关 PC 有两个网卡,eth0 用于外部(互联网),eth1 的 IP 地址为 192.168.1.1。如果我将 AP 配置在 IP 上(如 172.16.1.2),则除非我在网关 PC 的网络 eth1 上定义第二个 IP 地址(如 172.16.1.1)(sudo ifconfig eth1:1 172.16.1.1 up),否则什么都行不通。

现在我可以配置接入点,例如 MAC 过滤器和 WEP 密钥。但是,除非 DHCP 服务器使用给定的 IP 范围地址在 eth1:1 上处理请求,否则 WLan 客户端不会获得 IP 地址。

最后但同样重要的一点是,必须有一条到 eth0 的路由才能访问互联网。

有谁能帮助我完成所需的步骤吗?

答案1

如果您可以为服务器添加另一个 NIC,这绝对是可能的。因此,如果您的 WAN 处于 状态eth0,LAN 处于 状态eth1,则需要另一个 NIC 处于 状态eth2。您需要将其设置eth2为 172.16.xx 地址,然后将无线 AP 插入该 NIC。(您可以按照以下步骤执行此操作;只需将 的引用更改为eth1:1eth2

可能有可能以太网别名到你的 LAN 侧网卡,但我不确定。由于 DHCP 的工作方式(请参阅维基百科上的 DHCP 启动数据包示例),我不相信服务器能够区分来自 AP 的 DHCPRequest 数据包和来自 LAN 的 DHCPRequest 数据包——它们都通过同一线路进入。

但我可能错了;您的编辑似乎表明这是可能的。(您的无线客户端是否真的被分配了正确的地址?)

Ubuntu dhcp3 服务器文档给出了多子网配置的示例。听起来你需要三件事:

  1. 永久添加您的 172.16.xx 别名。编辑/etc/networks/interfaces并添加别名的定义。我认为您不需要更改任何路由;它eth0应该已经是除 192.168.1.0 之外的任何路由的默认路由,并且此接口应该会自动为 172.16.1.0 添加另一个例外。使用/sbin/route检查您的路由以确保无误。

    auto eth1:1
    iface eth1:1 inet static
    address 172.16.1.1
    netmask 255.255.255.0
    
  2. 配置您的/etc/defaults/dhcp3-server使其在eth1和上处于活动状态eth1:1

    INTERFACES="eth1 eth1:1"
    
  3. 配置您的/etc/dhcp/dhcp.conf以包含两个子网所需的选项:

    subnet 192.168.1.0 netmask 255.255.255.0 {
    
      option routers                  192.168.1.1;
      option subnet-mask              255.255.255.0;
      option broadcast-address        192.168.1.255;
      option domain-name-servers      192.168.1.1;
      option ntp-servers              192.168.1.1;
      option netbios-name-servers     192.168.1.1;
      option netbios-node-type 2;
      default-lease-time 86400;
      max-lease-time 86400;
    
      host bla1 {
          hardware ethernet DD:GH:DF:E5:F7:D7;
          fixed-address 192.168.1.2;
      }
      host bla2 {
          hardware ethernet 00:JJ:YU:38:AC:45;
          fixed-address 192.168.1.20;
      }
    }
    
    subnet  172.16.1.0 netmask 255.255.255.0 {
    
      option routers                  172.16.1.1;
      option subnet-mask              255.255.255.0;
      option broadcast-address        172.16.1.255;
      option domain-name-servers      192.168.1.1;
      option ntp-servers              172.16.1.1;
      option netbios-name-servers     172.16.1.1;
      option netbios-node-type 2;
    
      default-lease-time 86400;
      max-lease-time 86400;
    
      host bla3 {
         hardware ethernet 00:KK:HD:66:55:9B;
         fixed-address 172.16.1.2;
      }
    }
    

答案2

我不知道您提到的具体 DHCP 服务器软件,但一般来说肯定是可行的。您需要创建多个 DHCP“作用域”,这样您就可以独立配置所有设置。(我猜您还想为它们提供不同的默认网关等。)

相关内容