4

在 windows 或 linux 上的 hosts 文件中不能使用通配符。有没有办法用浏览器插件或其他东西来做到这一点?

我在 vbox 实例上有一个开发服务器,所以它实际上是局域网。我正在为我的虚拟主机创建 .dev 域,因此 example.com 变为 example.dev。对于一个应用程序,我正在创建随机子域 (abd34dn.example.dev),它们都应该指向开发服务器的 IP。

我有哪些选择?

4

4 回答 4

4

不要编辑主机文件(这不符合您的要求),而是设置 DNS 服务器并设置通配符 DNS A 记录——比如

*.example.dev IN  A  1.2.3.4

您提到了子域,但我假设您实际上想要 example.dev 下的主机条目(A 地址条目)。现在 abcd.example.dev 表示“abcd”是主机条目,而不是子域。只有当您说 xyz.abcd.example.dev 时,“abcd”才会成为子域。关键是要说 - 因为您只需要 abcd.example.dev - 那么您只需要 DNS A 记录,建议如上所述。

于 2010-11-16T14:24:26.053 回答
3

我制作了这个简单的工具来代替主机。支持正则表达式。 https://github.com/stackia/DNSAgent 仅限 Windows。可能与 Mono 一起工作。

示例配置:

[
    {
        "Pattern": "^.*$",
        "NameServer": "8.8.8.8"
    },
    {
        "Pattern": "^(.*\\.googlevideo\\.com)|((.*\\.)?(youtube|ytimg)\\.com)$",
        "Address": "203.66.168.119"
    },
    {
        "Pattern": "^.*\\.cn$",
        "NameServer": "114.114.114.114"
    },
    {
        "Pattern": "baidu.com$",
        "Address": "127.0.0.1"
    }
]
于 2015-03-04T04:07:25.950 回答
2

AngryHosts可以充当一个简单的 DNS,它只是一个小软件,非常易于使用。

于 2012-03-05T13:45:50.003 回答
1

您可以为此使用 echoipdns ( https://github.com/zapty/echoipdns )。

通过运行 echoipdns dev,所有对 .dev 子域的请求都被重定向到 127.0.0.1,因此任何带有 xyz.dev 等的域都将解析为 127.0.0.1。您可以使用任何其他后缀,也只需将 dev 替换为您想要的名称。

Echoipdns 更强大,当你想使用网络中其他机器的 url 时,你仍然可以零配置使用它。

例如,如果您的机器 IP 地址是 192.168.1.100,您现在可以使用域名 xyz.192-168-1-100.dev,它将始终解析为 192.168.1.100。这个魔法是由 echoipdns 通过查看域名第二部分中的 IP 地址并在 DNS 查询中返回相同的 IP 地址来完成的。您必须在要访问远程系统的机器上运行 echoipdns。

echoipdns 也可以设置为独立的 DNS 代理,因此只需指向此 DNS,您现在无需每次运行特殊命令即可使用上述所有好处,甚至可以在移动设备上使用它。

因此,这从本质上简化了本地和团队环境中基于通配符域的 DNS 开发。

echoipdns 适用于 Mac、Linux 和 Windows。

注意:我是 echoipdns 的作者。

于 2015-01-09T10:16:11.647 回答