V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
daijinming
V2EX  ›  程序员

局域网内域名方案求解

  •  
  •   daijinming · Feb 27, 2019 · 19485 views
    This topic created in 2619 days ago, the information mentioned may be changed or developed.

    局域网内使用域名进行测试或生产环境下使用,可以采用修改 PC 机的 hosts 文件,那手机端,pad 端怎么办,数量多,又不知道怎么改 hosts 文件。不想使用局域网内网 IP+端口号(非 80 端口)的方案,不知道大家有什么好思路吗

    69 replies    2022-01-18 14:44:50 +08:00
    leo108
        1
    leo108  
       Feb 27, 2019
    用真域名指向内网 IP 不就行了
    NetworkManager
        2
    NetworkManager  
       Feb 27, 2019
    内网 DNS
    julyclyde
        3
    julyclyde  
       Feb 27, 2019   ❤️ 6
    主机名.local
    mDNS 机制的域名

    “现代”操作系统都支持的
    hackxing
        4
    hackxing  
       Feb 27, 2019
    移动端连接 WiFi,设置代理,应该可以吧!(没弄过,瞎说的~)
    daijinming
        5
    daijinming  
    OP
       Feb 27, 2019
    @leo108 内网使用,域名还需要备案吗
    qiaoyurensheng
        6
    qiaoyurensheng  
       Feb 27, 2019 via Android
    域名解析服务中 A 记录直接指向内网 ip
    anguiao
        7
    anguiao  
       Feb 27, 2019
    内网使用你甚至不用申请域名,只要在内网设一个 DNS,想怎么解析就怎么解析。
    leo108
        8
    leo108  
       Feb 27, 2019
    @daijinming 不需要
    ThirdFlame
        9
    ThirdFlame  
       Feb 27, 2019
    @daijinming 不需要备案。 随便申请个域名,做 A 记录解析即可。
    但是就算用域名 ,在使用非 80 /443 端口时,仍然需要使用端口号的
    Laynooor
        10
    Laynooor  
       Feb 27, 2019 via Android
    路由器直接设置 DNS 解析
    baojiweicn2
        11
    baojiweicn2  
       Feb 27, 2019 via Android
    去改路由器的 hosts
    daijinming
        12
    daijinming  
    OP
       Feb 27, 2019
    @julyclyde 朋友这个方式超赞
    ysc3839
        13
    ysc3839  
       Feb 27, 2019 via Android
    内网有 DNS 服务器的话可以直接配置
    augustpluscn
        14
    augustpluscn  
       Feb 27, 2019
    很多路由都能直接设定(或者装插件),我用过下面两个

    k2p 刷的官改
    华硕 1900p 刷了梅林
    Laynooor
        15
    Laynooor  
       Feb 27, 2019
    tuding
        16
    tuding  
       Feb 27, 2019
    改路由器 hosts 是最简单的, 其次是在内网搭个 DNS 服务器
    d2D5Cc
        17
    d2D5Cc  
       Feb 27, 2019   ❤️ 13
    xip.io 例如 1.1.1.1.xip.io 解析到 1.1.1.1
    daijinming
        18
    daijinming  
    OP
       Feb 27, 2019
    @ZombieMisaka 这个方案之前不知道在哪本书中介绍过,之前想不起来了,感谢
    Atukey
        19
    Atukey  
       Feb 27, 2019
    @ZombieMisaka
    这个厉害了
    phxsuns
        20
    phxsuns  
       Feb 27, 2019
    随便买个真域名即可。其他操作和生产环境都一样了。
    真域名也是能指向内网 IP 的。
    Michaelssss
        21
    Michaelssss  
       Feb 27, 2019
    ...随便搭个 DNS 服务器。。
    mytry
        22
    mytry  
       Feb 27, 2019
    @ZombieMisaka 还有 7f000001.c0a80001.rbndr.us ,可以解析到 127.0.0.1- 192.168.0.1。
    d2D5Cc
        23
    d2D5Cc  
       Feb 27, 2019
    @daijinming #18 其实我还是建议买个真域名的,证书什么的搞起来也更方便
    bwangel
        24
    bwangel  
       Feb 27, 2019
    https://www.bwangel.me/2017/03/27/%E6%B5%81%E6%B0%B4%E8%B4%A6%E5%88%A9%E7%94%A8%E9%97%B2%E7%BD%AE%E7%AC%94%E8%AE%B0%E6%9C%AC%E6%90%AD%E5%BB%BA%E8%87%AA%E5%B7%B1%E7%9A%84%E5%BC%80%E5%8F%91%E6%9C%8D%E5%8A%A1%E5%99%A8/#%E9%85%8D%E7%BD%AEdns

    我之前做过类似的事情,利用一台闲置的的笔记本,Ubuntu + dnsmasq 搭建了一个 DNS 服务器,然后再设置路由器的 DHCP 下发这个 DNS 服务器就好。
    irainsoft
        25
    irainsoft  
       Feb 27, 2019   ❤️ 1
    局域网内建个 DNS 服务器或者解析直接设置为内网 IP,多简单的事情...
    nfroot
        26
    nfroot  
       Feb 27, 2019
    @ZombieMisaka
    @mytry

    那么问题出来了,既然域名部分已经有完整部分 IP,且这个域名的 A 记录是不会改变的。。。。。。
    那为什么不直接用 IP 呢?

    莫非是为了使用 ssl 证书?
    hjc4869
        27
    hjc4869  
       Feb 27, 2019 via iPhone
    建个 Active Directory
    Cbdy
        28
    Cbdy  
       Feb 27, 2019 via Android
    路由器支持的
    AngryPanda
        29
    AngryPanda  
       Feb 27, 2019 via Android
    内网 dns 服务器,路由器就可以;

    mDNS
    CodeWind
        30
    CodeWind  
       Feb 27, 2019 via Android
    dns-mapping
    dreamusername
        31
    dreamusername  
       Feb 27, 2019
    内网 DNS 服务器可以解决
    kaneg
        32
    kaneg  
       Feb 27, 2019 via iPhone
    买个便宜的真域名,比如.work 之类的,5 年才 60 多块
    guan123
        33
    guan123  
       Feb 27, 2019
    dnsmasq
    loading
        34
    loading  
       Feb 27, 2019 via Android
    求一个轻量级的 dns 服务软件,windows 用。
    loading
        35
    loading  
       Feb 27, 2019 via Android
    似乎找到了:Simple DNS Plus
    shede333
        36
    shede333  
       Feb 27, 2019
    动态域名解析,我也在用,可以看看这个教程: http://www.pubyun.com/wiki/%E5%B8%AE%E5%8A%A9:api
    d2D5Cc
        37
    d2D5Cc  
       Feb 27, 2019
    @nfroot #26 https,nginx 反代等等,只有 ip 和端口很麻烦
    dishuibaby
        38
    dishuibaby  
       Feb 27, 2019
    路由器绑定 host
    datou
        39
    datou  
       Feb 27, 2019
    路由器上跑 dnsmasq
    nfroot
        40
    nfroot  
       Feb 27, 2019
    @ZombieMisaka 你说的这句话我不明白,能具体一点么,谢谢,因为在我看来,用了你们俩推荐的域名,也只是相当于用 ip+别人的域名,那为啥不直接用 IP 呢,感觉没啥意义啊。。域名的话倒是有一个好处,可以上 ssl 证书。其他都一样吧。
    Astralis
        41
    Astralis  
       Feb 27, 2019
    https://github.com/AdguardTeam/AdGuardHome
    这个就挺好的,虽说主要用途是屏蔽广告域名,但是可以不使用这个功能,只用自定义规则列表,相当于一份 hosts,局域网里的机器 DNS 改成运行这个软件的服务器 IP 就可以了,这个软件支持 web 管理,很方便,解压即可运行,并且支持 DHCP 功能
    runntuu
        42
    runntuu  
       Feb 27, 2019
    内网没有 DNS 服务器吗?没有就搭一个 DNS 服务器,
    d2D5Cc
        43
    d2D5Cc  
       Feb 27, 2019
    @nfroot #40 如果你有一台对外的服务器,这台服务器上跑着 ABC 三个服务,你要怎么对外暴露这三个服务,只用 ip+端口就是 1.1.1.1:80,1.1.1.1:81,1.1.1.1:82,如果你有域名的话就可以分别用三个域名,共用 80 端口. 例如你可以在 nexus 上用 docker.1.1.1.1.xip.io 做 docker 的库,用 maven.1.1.1.1.xip.io 做 maven 的库.
    再例如有些服务比如 gitlab,本身自带了 nginx,如果你想用里面的 mattermost 等功能的时候,必须提供一个域名用于反代
    aver4vex
        44
    aver4vex  
       Feb 27, 2019
    dns
    nfroot
        45
    nfroot  
       Feb 27, 2019
    @ZombieMisaka 你这样说就明白了,因为看你的的回复是理解不出这一层意思的。。。。。而 mytry 推荐的则不能用,所以才一脸懵逼,谢谢了。
    nfroot
        46
    nfroot  
       Feb 27, 2019
    @julyclyde 这就郁闷了。。。我去年建了个域控,就是用的这个后缀,我晕了,不知道会不会有什么影响。。
    rootit
        47
    rootit  
       Feb 27, 2019
    路由器 dns 指向 dnsmasq 正解
    julyclyde
        48
    julyclyde  
       Feb 27, 2019   ❤️ 1
    @nfroot 还是建议参考一下 RFC 标准哦; local 是给 mDNS 预留的
    不过域控制器一旦建成,牵一发动全身啊,唉
    nfroot
        49
    nfroot  
       Feb 27, 2019
    @julyclyde 当时就是想了一下,好像这个后缀没被用到,也不太可能被用到,就算是用到了,估计也影响不了啥玩意(毕竟不可能用到同样域名的服务,已经足够偏了),结果没想到还是用在同一个广播域里的,这就有点蛋疼了。。。反正目前用着也没影响,目测没人恶作剧的话,应该是不会产生影响的。。。。目前 2016 的服务器也是有的,所以应该是没产生影响了。。。目前只是几个服务器用起来了域控,没在企业里推行,没事的。至于以后的人骂这个前辈傻逼,也是听不到了,反正没影响被骂的可能性应该很小。哈哈哈不想改了!用了域控就是要方便,麻烦的事情不想干了!
    flyingfz
        50
    flyingfz  
       Feb 27, 2019
    我给个 另类的方案

    部署一个 consul,consul 要做一些配置, 例如运行在 53 端口,具体要解析的域名等等 ,这些要去查看 consul 的文档。
    路由器上 ,在 dhcp 配置中,把 dns 服务器地址 配置成 部署 了 consul 的机器的 ip

    完事。

    之所以说另类, 因为 consul 的目的本身不是用做 dns 服务器, 而是用于微服务的服务发现,只是可以用 dns 来做服务发现。
    不仅解决了你的需求, 还为 将来做 微服务 做了准备。
    keventseng
        51
    keventseng  
       Feb 27, 2019
    改路由器的 hosts
    jadeity
        52
    jadeity  
       Feb 27, 2019
    自己内网用,路由器自己解析啊。
    jousca
        53
    jousca  
       Feb 27, 2019
    @loading windows server 自带的 DNS 服务器就很好用。
    zhaohanqing
        54
    zhaohanqing  
       Feb 27, 2019 via Android
    改路由器里的 Hosts 即可,很多路由器都会默认给自己设置一个内网域名,就是这样实现的
    mingl0280
        55
    mingl0280  
       Feb 28, 2019
    请自己加一台 DNS 服务器,然后配置一下 Forward Lookup Zone,域名劫持啥的都能搞,我在集成实验室里部署了一台这个玩意儿,用来做 AD 域解析,同时也把 ubuntu 和 debian 的更新源解析到内网了,这样内网的机器可以在不修改 sources.list 的情况下直接从内网源服务器更新……
    Arxz
        56
    Arxz  
       Feb 28, 2019
    路由器里 NAT 设置, 关键词: Hairpin NAT
    bdnet
        57
    bdnet  
       Feb 28, 2019
    综合起来还是 内建 DNS 靠谱

    另实现方式,买个域名,解析到内网 IP 也是可以的。但不建议这么做,域名和解析的 IP 地址会暴露(不安全
    RH
        58
    RH  
       Feb 28, 2019   ❤️ 1
    最近也在弄这个,自建的一些开源服务公司内部使用,之前都是自建 DNS,自定义服务内脏域名。
    但是有些服务需要走 https,否则比较折腾。所以 9 元买了个 top 域名签证书用,可以不用公网解析,继续使用内网解析,然后证书可以免费使用 let ’ s encrypt 的 dns01 签发。
    wanwaneryide
        59
    wanwaneryide  
       Feb 28, 2019
    路由器里面首选配置本地的 dns 就行了,自动分配 ip 的机器都可以访问内网域名了
    sm0king
        60
    sm0king  
       Feb 28, 2019
    公司级别内网 DNS 楼上已经说的很清楚了。作为一个公司要管理 DNS 比较麻烦,而且不能随随便便,想怎么改解析怎么改解析。
    还可以用 fiddler 来做,fiddle 设置里可以设置 DNS,随时改,想怎么改怎么改。
    wolfie
        61
    wolfie  
       Feb 28, 2019
    直接修改对应网关的 host 不行吗。
    huskar
        62
    huskar  
       Feb 28, 2019
    自己搭一个 DNS 服务,然后把 dhcp 的 dns 服务器设置成自设的服务器即可。
    需要自定义什么域名就改 DNS 服务器所在机器的 hosts 文件,或者直接改 DNS 配置。


    @ZombieMisaka 这个方案有啥用啊……
    d2D5Cc
        63
    d2D5Cc  
       Feb 28, 2019
    @huskar #62 要是公司给你分的几台机器呢,你没权限动 dns 啊,你也没法保证别人的机器没自定义 dns,总是有这种场景的
    abcfyk
        64
    abcfyk  
       Feb 28, 2019
    @ZombieMisaka 比如公司分了 test1,test2,test3 三台机器,在 test1 上用 dnsmasq 之类的搭个 dns,在 test1,test2,test3 的 dns 分别将 test1 的内网 IP 作为首选 dns 不就完事了。 不一样的吗
    d2D5Cc
        65
    d2D5Cc  
       Feb 28, 2019
    @abcfyk #64 注意审题
    huskar
        66
    huskar  
       Feb 28, 2019 via Android
    @ZombieMisaka 如果是你说的这种公司场景,那想用公司的服务就得用公司的 dns 啊。员工当然可以自定义,没人拦着,但是干不了活有什么意义啊?我司有自己的内网 dns,我非得不用,要自定义一个,那我不用干活了,公司内网全都访问不了。

    dns 本就是客户端愿意用才用的服务。
    yc8332
        67
    yc8332  
       Feb 28, 2019
    基本上不都是路由器上有自定义的 host 吗?或者是内网搭 DNS 服务器
    snokin
        68
    snokin  
       Jul 29, 2019
    其实局域网内已经有各域名可以使用的……那就是.lan ,比如你放网站的机器名字叫 dev,那你可以通过 dev.lan 来访问,还可以增加二级域名如:a.dev.lan,b.dev.lan 等。
    pC0oc4EbCSsJUy4W
        69
    pC0oc4EbCSsJUy4W  
       Jan 18, 2022
    dnsmasq
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   885 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 189ms · UTC 19:28 · PVG 03:28 · LAX 12:28 · JFK 15:28
    ♥ Do have faith in what you're doing.