V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dunhanson
V2EX  ›  程序员

局域网搭建 DNS 服务器,怎么让局域网的服务器、电脑、手机全部生效?

  •  
  •   dunhanson · 2021-07-27 18:35:58 +08:00 · 5077 次点击
    这是一个创建于 975 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如

    192.168.2.125 www.baidu.com
    

    我修改路由器上面的 dns,改为我局域网的 DNS 服务器的 IP,没效果

    我是想着配置了 DNS,其他电脑就不用手动配置 hosts

    第 1 条附言  ·  2021-07-27 23:55:03 +08:00

    这个地方DNS修改成局域网的DNS服务器IP地址不起作用 WIt8IJ.png

    第 2 条附言  ·  2021-07-28 09:24:53 +08:00
    我找到一个 DNS 过滤转发功能,这个可以实现局域网内所有设备访问域名转发到本地的 ip
    32 条回复    2021-07-28 19:00:55 +08:00
    Tink
        1
    Tink  
       2021-07-27 18:40:49 +08:00 via Android
    关键字 dhcp option , 具体设置 6,192.168.x.x
    Showfom
        2
    Showfom  
       2021-07-27 18:54:00 +08:00
    你先用局域网的机器搭建个 DNS 递归服务器
    可以使用
    dnsmasq
    unbound
    powerdns
    等等都可以实现劫持域名,也支持 hosts 文件来劫持
    lizenghui
        3
    lizenghui  
       2021-07-27 18:57:33 +08:00
    把 dhcp 的配置改了 下发你的 DNS 。
    或者在路由上把 DNS 请求重定向到你搭的 DNS
    shenqi
        4
    shenqi  
       2021-07-27 19:09:45 +08:00
    你可以直接使用路由,在里面定义 host,那么连接这台路由的机器自动解析了。(如跑路的极路由就有这功能。)

    如果你一定要弄个 dns 服务器,我建议你用 named,然后将路由器的 dhcp 规则设置成 dns 指向这个机器。
    villivateur
        5
    villivateur  
       2021-07-27 19:14:44 +08:00
    如果是 dnsmasq 的话,启用读取 /etc/hosts 选项,再重启 dnsmasq
    NewYear
        6
    NewYear  
       2021-07-27 19:14:56 +08:00
    用 nat 把所有某端口都指向你
    dunhanson
        7
    dunhanson  
    OP
       2021-07-27 19:46:05 +08:00
    @lizenghui 公司路由没有这个功能
    dunhanson
        8
    dunhanson  
    OP
       2021-07-27 19:46:46 +08:00
    @villivateur 我就是这么安装配置的,但是其他机子生效必须手动一一配置 DNS
    Kasumi20
        9
    Kasumi20  
       2021-07-27 20:17:52 +08:00
    首先,整个局域网是不是只有一台路由器。
    其次,是不是所有机器都没有自己设置 DNS 。
    Kasumi20
        10
    Kasumi20  
       2021-07-27 20:20:49 +08:00
    顺便借楼推广一下我的 DNS 代理程序:

    https://github.com/develon2015/dnsd
    Rheinmetal
        11
    Rheinmetal  
       2021-07-27 20:33:36 +08:00
    udp53 明文 dns 的话就自己在路由器上做一个劫持
    其他加密方案就难办了
    Rysle
        12
    Rysle  
       2021-07-27 20:45:36 +08:00 via Android
    在网关上做代理就可以
    AllenHua
        13
    AllenHua  
       2021-07-27 20:50:06 +08:00
    dnsmasq 配置文件 /etc/dnsmasq.conf

    新增 addn-hosts=/etc/dnsmasq.hosts

    编辑 /etc/dnsmasq.hosts

    新增 192.168.2.125 www.baidu.com

    然后重启 dnsmasq service

    局域网内机器 ping baidu.com 返回地址都将会是 192.168.2.125

    https://hellodk.cn/post/124
    nbweb
        14
    nbweb  
       2021-07-27 21:25:22 +08:00
    把路由器里面的 dns 设置为:192.168.2.125
    learningman
        15
    learningman  
       2021-07-27 21:41:19 +08:00
    53 端口全 redirect,然后 853 阻断,再把主流的 http dns 域名指向 localhost()
    dunhanson
        16
    dunhanson  
    OP
       2021-07-27 23:47:22 +08:00
    @Kasumi20 是的
    dunhanson
        17
    dunhanson  
    OP
       2021-07-27 23:48:28 +08:00
    @AllenHua 你这种每台机子还需要配置 DNS
    dunhanson
        18
    dunhanson  
    OP
       2021-07-27 23:54:06 +08:00
    @AllenHua 我路由器是普通的路由器,外网的 DNS 配置局域网 DNS 服务器地址不起作用( 192.168.2.125 )
    dunhanson
        19
    dunhanson  
    OP
       2021-07-27 23:55:41 +08:00
    @AllenHua 我最上面发了图片说明
    dunhanson
        20
    dunhanson  
    OP
       2021-07-27 23:56:18 +08:00
    @nbweb 我配置了不起作用,要重启?还是我配置的地方不对
    winterx
        21
    winterx  
       2021-07-28 00:01:15 +08:00
    楼主应该在内网配置 - DHCP 里面更改 DNS 地址,而不是在外网配置这里修改
    dunhanson
        22
    dunhanson  
    OP
       2021-07-28 00:06:14 +08:00
    @winterx 你说到重点了,内网 DHCP 没有 dns 选项
    dunhanson
        23
    dunhanson  
    OP
       2021-07-28 00:32:30 +08:00
    @winterx 找到了,不过配置内网 DHCP 的 dns 好像也不生效

    是不是局域网的电脑本身有 DNS 导致的?
    a154415433
        24
    a154415433  
       2021-07-28 07:11:53 +08:00
    我用的傻办法,加一个防火墙,设置透明模式,把 53 端口 udp 转发,达到劫持目的
    LiYanHong
        25
    LiYanHong  
       2021-07-28 08:52:09 +08:00
    不是配置 wan 口,是 lan 口啊
    dunhanson
        26
    dunhanson  
    OP
       2021-07-28 09:12:13 +08:00
    我找到一个 DNS 过滤转发功能,这个可以
    zero01
        27
    zero01  
       2021-07-28 10:02:40 +08:00
    用 adgurdhome
    dier
        28
    dier  
       2021-07-28 10:13:42 +08:00
    在内网 DHCP 里配置这个 DNS IP,想要生效,得让所有设备重新从 DHCP 获取 /续租 IP 才行。最简单的办法就是让每个人拔一下网线重新插上
    AllenHua
        29
    AllenHua  
       2021-07-28 10:25:19 +08:00
    @dunhanson #17 并不需要。路由器侧已经设置好了 局域网网关是 x,局域网 dns 服务器也是 x 。所有局域网内设备通过 dhcp 获取到的 dns 都是 x
    @dunhanson #18 普通的路由器那就想想其他办法了。
    @dunhanson #23 局域网的设备的 dns 要指向你路由器上设置的 地址
    Sekai
        30
    Sekai  
       2021-07-28 18:03:34 +08:00
    内网搭服务,推荐 overture 、coredns
    dunhanson
        31
    dunhanson  
    OP
       2021-07-28 19:00:32 +08:00
    @AllenHua 大部分都是手动设置的
    dunhanson
        32
    dunhanson  
    OP
       2021-07-28 19:00:55 +08:00
    我用 DNS 转发这种不需要重启网络直接都生效的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1402 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 17:29 · PVG 01:29 · LAX 10:29 · JFK 13:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.