banricho
V2EX  ›  问与答

请问如何让外部使用到 dnsmasq 中设置的 hosts?

  •  
  •   banricho · Jun 24, 2019 · 724 views
    This topic created in 2554 days ago, the information mentioned may be changed or developed.
    事情是这样的,因为公司网络的出口不太好,所以我在家的路由上搞了个某 ray。
    一方面可以方便从外部管理家庭设备,另一方面可以在公司出口抽风的时候,先跳回家里,再出去。

    现在正常使用都是没有任何问题的,但 Surge 上有个分流规则一直无法使用:检测到我访问某域名时,自动使用家中的节点。表现为成功转入家中,但由于该域名本身没有解析,而是内网的 dnsmasq 设置的 hosts 到内网设备的。这个 hosts 在内网中是完全生效的,但是在外部跳回来的时候却不行。

    如果将该条件的域名改为 IP 地址,即访问一个 192.168.*.* 的地址,则可以成功访问。大概率确定是外部访问 hosts 未生效导致。

    已经取消勾选了「仅在网卡所属的子网中提供 DNS 服务。」选项,但依然无法作用。
    Surge 的报错信息为:Socket closed by remote peer。确认规则中已经启用 force-remote-dns。

    尝试过端口转发 UDP 53 请求也没用,希望获得大家的帮助,谢谢!
    Supplement 1  ·  Jun 24, 2019
    补充下目前的设置

    listen-address=127.0.0.1
    listen-address=192.168.*.* (网关 IP )
    cache-size=102400
    conf-dir=/etc/dnsmasq.d

    第一行改成 0.0.0.0 会导致所有解析都失效……
    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   788 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 19:20 · PVG 03:20 · LAX 12:20 · JFK 15:20
    ♥ Do have faith in what you're doing.