![如何设置服务于不同 IP 范围的 DHCP 服务器(例如 192.168.1.x 和 172.16.xx)](https://linux22.com/image/1222841/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%E6%9C%8D%E5%8A%A1%E4%BA%8E%E4%B8%8D%E5%90%8C%20IP%20%E8%8C%83%E5%9B%B4%E7%9A%84%20DHCP%20%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%88%E4%BE%8B%E5%A6%82%20192.168.1.x%20%E5%92%8C%20172.16.xx%EF%BC%89.png)
我运行 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:1
。eth2
)
它可能有可能以太网别名到你的 LAN 侧网卡,但我不确定。由于 DHCP 的工作方式(请参阅维基百科上的 DHCP 启动数据包示例),我不相信服务器能够区分来自 AP 的 DHCPRequest 数据包和来自 LAN 的 DHCPRequest 数据包——它们都通过同一线路进入。
但我可能错了;您的编辑似乎表明这是可能的。(您的无线客户端是否真的被分配了正确的地址?)
这Ubuntu dhcp3 服务器文档给出了多子网配置的示例。听起来你需要三件事:
永久添加您的 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
配置您的
/etc/defaults/dhcp3-server
使其在eth1
和上处于活动状态eth1:1
:INTERFACES="eth1 eth1:1"
配置您的
/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“作用域”,这样您就可以独立配置所有设置。(我猜您还想为它们提供不同的默认网关等。)