首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更匹配的isc dhcp类

更匹配的isc dhcp类
EN

Server Fault用户
提问于 2017-04-22 18:12:23
回答 2查看 5.8K关注 0票数 5

有没有办法用OR来定义更多的匹配?

我想创建一个带有mac地址检查的类,如

代码语言:javascript
复制
class "fixVms" {
match if substring (hardware, 1, 4) = 00:15:5d:aa;
}

但是我想在上面再加一个宏,就像

代码语言:javascript
复制
subclass "fixVms" 1:00:15:5d:bb:00:00;

我试着添加

代码语言:javascript
复制
match pick-first-value (option dhcp-client-identifier, hardware);

但是它不起作用。这两件事各自起作用。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2017-04-22 18:38:35

我还无法亲自测试它,而且DHCPD.conf手册页也没有那么好,但是您可以尝试如下所示:

代码语言:javascript
复制
match if ( substring(hardware,1,3) = 00:01:e6 ) or
         ( substring(hardware,1,3) = 00:60:b0 ) or
         ( substring(hardware,1,3) = 00:10:83 );

这来自以下邮件列表消息

http://marc.info/?l=dhcp-server&m=102521117221954&w=2

票数 3
EN

Server Fault用户

发布于 2020-09-10 11:56:03

在类声明中,"match if“和"match”语句将合并为和(交集),因此类可以重写为:

代码语言:javascript
复制
class "fixVms" {
  match if substring(hardware, 1, 4) = 00:15:5d:aa or substring(hardware, 1, 6) = 00:15:5d:bb:00:00;
}

如果需要,mac前缀的静态macs列表为00:15:5d:aa和00:15:5d:bb:

代码语言:javascript
复制
class "fixVms" {
  match if substring(hardware, 1, 4) = 00:15:5d:aa or substring(hardware, 1, 4) = 00:15:5d:bb;
  match hardware;
}

subclass "fixVms" 1:00:15:5d:aa:00:00;
subclass "fixVms" 1:00:15:5d:aa:01:01;
subclass "fixVms" 1:00:15:5d:bb:00:00;
subclass "fixVms" 1:00:15:5d:bb:0a:0a;
 .  .  .

在本例中,客户端属于与前缀匹配的类if mac,如果与此mac匹配,则属于声明的子类。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/845978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档