V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
daijinming
V2EX  ›  程序员

如何在内网实现域名解析

  •  
  •   daijinming · 2021-04-27 10:59:26 +08:00 · 11292 次点击
    这是一个创建于 1335 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果在能连接互联网的情况下,只要配置了 DNS 就可以将域名解析,但是不太清楚如果在隔离互联网的情况下,内部网络如何也能实现域名访问那,请大家不吝赐教

    第 1 条附言  ·  2021-04-27 12:04:17 +08:00
    机器比较多,域名映射会更改,直接修改 hosts 不是好方式
    42 条回复    2021-06-07 16:33:44 +08:00
    UnknownR
        1
    UnknownR  
       2021-04-27 11:04:12 +08:00
    内网搭建 DNS,然后在路由器或者适配器里设置首选 DNS 为内网新建的这个
    NoahNye
        2
    NoahNye  
       2021-04-27 11:04:14 +08:00
    共同维护一份 hosts 文件,或者自建 dns
    tanghongkai
        3
    tanghongkai  
       2021-04-27 11:05:34 +08:00
    搭建一个内网的 dns 就行了,现在挺多路由器的设置页面是域名了
    monsterX
        4
    monsterX  
       2021-04-27 11:05:36 +08:00 via Android
    内网搭一个 DNS,然后路由强行把 udp/53 重定向到内网 DNS
    MakeItGreat
        5
    MakeItGreat  
       2021-04-27 11:06:16 +08:00 via Android
    Hostname 可以用的
    imdong
        6
    imdong  
       2021-04-27 11:10:34 +08:00
    Multicast DNS
    brader
        7
    brader  
       2021-04-27 11:10:59 +08:00
    参考 k8s,k8s 的内部集群通讯的域名解析,就是通过内置一个 dns 服务器实现的。
    daijinming
        8
    daijinming  
    OP
       2021-04-27 11:12:58 +08:00
    @UnknownR
    @tanghongkai 可能问的有点业余啊,一定要搭建 DNS 服务吗,我们这边只在内部网络应用 一两个域名,能不能在路由器里面设置,省点事那?
    tanghongkai
        9
    tanghongkai  
       2021-04-27 11:14:58 +08:00
    @daijinming 有的路由器可以手动设置 hosts,直接添加你想要的那一两个解析就行,毕竟路由器自带 dns 服务器
    brader
        10
    brader  
       2021-04-27 11:24:43 +08:00   ❤️ 1
    @daijinming 一两个域名,直接在 /etc/hosts 加一下挺方便的
    Kasumi20
        11
    Kasumi20  
       2021-04-27 11:29:58 +08:00
    没有互联网,你数据从哪来
    Hancock
        12
    Hancock  
       2021-04-27 11:31:00 +08:00
    adguard home 简单配置一下,路由器 DNS 填这个
    Leegod
        13
    Leegod  
       2021-04-27 11:34:48 +08:00
    改每台机子的 hosts 文件指向,或者搭 DNS 服务器吧
    UnknownR
        14
    UnknownR  
       2021-04-27 11:35:49 +08:00   ❤️ 1
    @daijinming 一两个域名的话简单点就是在每台机器上的 hosts 文件里加上静态指定。如果要访问的机器会动态增改,那路由器上设置的话会方便点,但是前提是要路由器支持静态 DNS 绑定这样的功能
    ysc3839
        15
    ysc3839  
       2021-04-27 12:20:26 +08:00 via Android   ❤️ 1
    @daijinming #8 你说想在路由器上设置,那你用的是什么路由器?家用路由器一般都有 DNS 缓存功能,那就可以。高端的路由器可能并没有 DNS 服务器的功能,那就不行。
    xueyingbing
        16
    xueyingbing  
       2021-04-27 12:22:01 +08:00
    自己搭 dns 服务器,或者直接把域名解析到内网 IP (只要在内网,也是一样访问)
    IvanLi127
        17
    IvanLi127  
       2021-04-27 12:26:06 +08:00 via Android
    内网得有 dns 服务器,一般路由器自带这功能,但不一定能让用户配置。所以你要么自己另外找个机子起个 dns 服务,要么买个强大的路由器
    huangzxx
        18
    huangzxx  
       2021-04-27 12:32:46 +08:00
    dnsmasq
    ch2
        19
    ch2  
       2021-04-27 12:38:48 +08:00
    内网的 DNS 是看网关的,网关为其指定 DNS
    Tumblr
        20
    Tumblr  
       2021-04-27 12:43:25 +08:00
    内建 DNS server 就好了,巨简单的。如果你们熟悉 Linux 就用 Linux 建,可玩性强; 如果没有人熟悉就用 Windows Server 2019 建,入门简单。然后在 DHCP 上指定 DNS server 为你们内部的就好了,static IP 的注意修改。
    如果对外解析有要求就指定 forwarder,如果没有要求直接去找 root hints 也行。
    Tink
        21
    Tink  
       2021-04-27 12:58:29 +08:00 via Android
    内网 dns
    AllenHua
        22
    AllenHua  
       2021-04-27 13:02:01 +08:00
    dnsmasq 的解决方案不错

    我以前写过的记录: https://hellodk.cn/post/124 不知道能不能算作教程

    我在 openwrt 上用着很爽 我一个人在家里接近 10 台设备 想怎么自定义内网 域名 ip 映射就怎么映射
    Tink
        23
    Tink  
       2021-04-27 13:02:39 +08:00 via Android   ❤️ 2
    你没互联网,又不用 hosts,还不自建 dns,终端去哪查解析?
    Tink
        24
    Tink  
       2021-04-27 13:03:54 +08:00 via Android   ❤️ 1
    补充一个,如果是企业,在企业出口防火墙上,找一下 dnsmap 功能,如果有,试一下
    ysicing
        25
    ysicing  
       2021-04-27 13:06:13 +08:00
    不用 hosts 的情况下除了自建 dns 外还有其他方式实现域名解析?
    tankren
        26
    tankren  
       2021-04-27 13:17:35 +08:00
    arp 主机名访问不就行了?
    musi
        27
    musi  
       2021-04-27 13:24:44 +08:00   ❤️ 1
    借楼问一下,我买的香橙派,连上路由器后路由器会自动识别出来 orangepi 这个域名,我用局域网机器也可以直接访问这个域名,有没有大佬解答一下这是什么原理? ps: 路由器和香橙派都没有经过任何设置
    mxT52CRuqR6o5
        28
    mxT52CRuqR6o5  
       2021-04-27 13:28:40 +08:00
    自己建 dns 服务器,然后路由器上改 dns,如果不想自己建就买个可以配置自带 dns 服务的高端路由器
    Lemeng
        29
    Lemeng  
       2021-04-27 13:34:42 +08:00
    hosts
    shao
        30
    shao  
       2021-04-27 13:38:45 +08:00
    @daijinming 如果是类似 openwrt/Routeros 的软路由器内的 DNS 即可完成要求.
    tankren
        31
    tankren  
       2021-04-27 13:48:12 +08:00
    @musi #27 关键字 arp avahi mDNS hostname
    Curtion
        32
    Curtion  
       2021-04-27 15:05:34 +08:00
    自建 DNS 服务,smartdns 挺好用的
    zjsxwc
        33
    zjsxwc  
       2021-04-27 15:20:35 +08:00
    想要 内网 解析 自定义域名到 某个内网 ip 。

    那就内部搭建 dns 服务器
    friparia
        34
    friparia  
       2021-04-27 16:41:39 +08:00
    weyou
        35
    weyou  
       2021-04-27 17:01:24 +08:00 via Android
    @musi 这是因为有些路由器会自动将分配了 dhcp 地址的 hostname 添加到 dns 的条目里,特别是那些使用了 dnsmasq 作为 dhcp+dns server 的路由器,默认就会有这个效果。
    还有一个可能是你的 orangepi 上如果开启了 samba,windows 也会通过 netbios 协议获取到对应的 ip
    musi
        36
    musi  
       2021-04-27 19:11:43 +08:00
    @tankren 感谢

    @weyou 受教了
    yolee599
        37
    yolee599  
       2021-04-28 09:22:03 +08:00
    搭建 dns 服务器复杂了,临时用的话把域名和 ip 添加到 host 文件即可
    Felldeadbird
        38
    Felldeadbird  
       2021-04-28 09:39:00 +08:00
    内网 DNS 搭建好简单啊。
    不知道路由层改 HOSTS 文件能不能生效,还是只对路由器生效? 或者做一个路由转发?
    daijinming
        39
    daijinming  
    OP
       2021-04-28 09:44:38 +08:00
    @shao 收到,学习了
    vagranth
        40
    vagranth  
       2021-04-28 12:20:04 +08:00
    6 楼 31 楼都说了,mdns +1
    DollarKiller
        41
    DollarKiller  
       2021-04-28 12:48:09 +08:00
    coolloves
        42
    coolloves  
       2021-06-07 16:33:44 +08:00
    暴力点,直接做 a 记录到内网?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   916 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:42 · PVG 03:42 · LAX 11:42 · JFK 14:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.