![正则表达式在 dnsmasq 配置中不起作用](https://linux22.com/image/678404/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%9C%A8%20dnsmasq%20%E9%85%8D%E7%BD%AE%E4%B8%AD%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我在 CentOS 上安装了 dnsmasq 2.66 版。根据发行说明,dnsmasq 从 2.60 版开始支持正则表达式
我的配置文件中有以下条目:
address=/:clients[0-9]*\.google\.com/192.168.10.2
此单一条目应该将与 clients.google.com 和 clients3.google.com 匹配的 URL 地址解析为地址 192.168.10.2,但事实并非如此。
请针对此问题提出解决方案。
答案1
我认为正则表达式功能只是 v2.63 的一个补丁。我检查了主分支中的 Makefile 和 .conf 文件,没有“regex”宏。
答案2
你错过了结尾:
你的行看起来应该像这样:
address=/:clients[0-9]*\.google\.com:/192.168.10.2
答案3
你确定:
正则表达式中的 s 是正确的吗?我在文档中没有看到任何关于使用它们的参考。
我尝试过带冒号和不带冒号的情况。我不确定这是否可行,尤其是官方文档没有提到这一点。一些非官方参考资料还表明这可能只是服务器指令的一个功能。