【问题标题】:wildcard in hosts file主机文件中的通配符
【发布时间】:2011-05-10 19:52:28
【问题描述】:

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

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

我有什么选择?

【问题讨论】:

  • 主机文件不是“DNS”文件。

标签: dns hosts


【解决方案1】:

我制作了这个简单的工具来代替主机。支持正则表达式。 https://github.com/stackia/DNSAgent 仅限窗户。可能与 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"
    }
]

【讨论】:

    【解决方案2】:

    您可以为此使用 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 的作者。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案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 记录,建议如上。

        【讨论】:

        • 你能推荐一个win7和ubuntu的DNS服务器吗?主机条目而不是子域是什么意思?
        • 对于 ubuntu 上的绑定,只需安装 pacakge "bind9" (sudo apt-get install bind9)。对于 Windows,在isc.org/software/bind 上也可以使用绑定。另请参阅stackoverflow.com/questions/367908/…
        猜你喜欢
        • 2010-09-13
        • 1970-01-01
        • 2012-06-08
        • 2012-05-06
        • 2014-07-09
        • 2018-07-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多