AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[dnsmasq](server)

Martin Hope
Brent K.
Asked: 2024-08-17 02:02:19 +0800 CST

如何按照 OpenWRT 中的 RFC 4833 在 DHCP 中设置时区

  • 5

我希望我的 DHCP 数据包包含符合RFC 4833选项 100 或 101 的时区。

我登录路由器并运行

dnsmasq --help dhcp

并且它显示了两者:

100 posix-timezone
101 tzdb-timezone

因此我认为这应该得到支持。

我已经尝试了几种语法(一次一个)

config dnsmasq
    list 'dhcp_option' '101,America/New_York'
    list 'dhcp_option' '101,"America/New_York"'
    list dhcp_option '101,America/New_York'
    list dhcp_option 'tzdb-timezone,America/New_York'

我也尝试添加其中一些

config dhcp 'lan'

然后我用

service dnsmasq restart

我查看了 Wireshark 中的数据包,没有看到任何 101 选项被发送。我确信这只是我对语法缺乏理解。

dnsmasq
  • 1 个回答
  • 75 Views
Martin Hope
ellat
Asked: 2024-03-13 16:52:47 +0800 CST

是否有办法在 dnsmasq.conf 中包含除主机之外的外部规则文件?

  • 5

在我的中dnsmasq.conf,我包含了数千条规则,例如address=/example.net/

我知道可以使用以下行包含外部主机文件addn-hosts=/etc/hosts

但是有没有办法以 的形式包含包含规则的文件address=/example.net/?

dnsmasq
  • 1 个回答
  • 25 Views
Martin Hope
ellat
Asked: 2023-07-27 03:33:51 +0800 CST

如何在 dnsmasq 中允许子域

  • 5

在我的dnsmasq.conf文件中,我使用以下规则阻止所有以 结尾的域.be:

address=/be/

但我想有一个例外youtu.be。

我怎样才能做到这一点?

dnsmasq
  • 1 个回答
  • 26 Views
Martin Hope
itasahobby
Asked: 2021-12-24 05:43:00 +0800 CST

如何将 docker 内的私有 dns 解析列入黑名单?

  • 0

问题

我想阻止返回私有范围 IP 地址的 DNS 解析。到目前为止,我发现要做这样的事情你需要设置一个缓存/递归 DNS 服务器。但是,由于我想在 docker 中使用它,所以我遇到了困难。

我发现最简单的方法是使用dnsmasq(如其他答案中所述)。另一方面,只需要运行一个进程,以便找出supervisord解决该问题的方法。尽管如此,创建了一个示例 docker 映像,当我dnsmasq通过添加标志或从容器中--dns 127.0.0.1替换来使用 localhost dns 服务器()时,我得到一个错误,这在我在运行容器时收到警告之后才有意义:/etc/resolv.conf** server can't find google.com: REFUSED

WARNING: Localhost DNS setting (--dns=127.0.0.1) may fail in containers.

环境

示例泊坞窗图像:

FROM ubuntu:latest

RUN apt update &&\
    apt upgrade -y

RUN apt install -y supervisor \
    dnsmasq \
    dnsutils \
    iputils-ping \
    nano

RUN echo "stop-dns-rebind" > /etc/dnsmasq.d/stop-rebinding

COPY supervisor.conf /etc/supervisor.conf

ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisor.conf"]

主管.conf:

[supervisord]
nodaemon=true
logfile=/dev/stdout
logfile_maxbytes=0

[program:dnsmasq]
command=dnsmasq --no-daemon
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

建造:

sudo docker build . -t samplednsmasq

跑:

sudo docker run -it --dns 127.0.0.1 --rm samplednsmasq:latest

可行吗?

我想知道是否有任何方法可以使它工作(不使用像 docker-compose 这样的多容器)和 dnsmasq,我也对不涉及 dns 缓存服务器的其他替代方案持开放态度。

解决方案:更改supervisor.conf为:

[supervisord]
nodaemon=true
logfile=/dev/stdout
logfile_maxbytes=0

[program:dnsmasq]
command=dnsmasq --no-daemon --interface=lo --stop-dns-rebind
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

还更新了 Dockerfile

FROM ubuntu:latest

RUN apt update &&\
    apt upgrade -y

RUN apt install -y supervisor \
    dnsmasq \
    dnsutils \
    iputils-ping \
    nano \
    net-tools

RUN echo "listen-address=127.0.0.1\nbind-interfaces\nstop-dns-rebind" > /etc/dnsmasq.d/stop-rebinding &&\
    echo "\nserver=8.8.8.8\nserver=8.8.4.4\nno-resolv" >> /etc/dnsmasq.conf

COPY supervisor.conf /etc/supervisor.conf

ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisor.conf"]

domain-name-system docker dnsmasq
  • 1 个回答
  • 120 Views
Martin Hope
Scheintod
Asked: 2021-11-12 10:34:45 +0800 CST

配置 dnsmasq 以给出不同范围内的地址

  • 0

我想给未知客户端一个范围内的IP地址和另一个范围内的已知客户端(这是一个静态的)。

我现在尝试了很多,但似乎无法正常工作。我得到的只是“没有可用的地址”错误。

我的网络是 10.1.0.0/22 (<-!!!) 应为访客分配一个范围为 10.1.3.1-10.1.3.254 的地址 静态地址范围为 10.1.2.1-10.1.2.254

所以这是我的配置:

iface eth0 inet static
    address 10.1.0.2/22
    gateway 10.1.0.1

eth0@if17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.1.0.2/22 brd 10.1.3.255 scope global eth0
        valid_lft forever preferred_lft forever

和

dhcp-range=tag:guests,10.1.3.1,10.1.3.254,255.255.252.0,12h
dhcp-range=tag:known,10.1.2.0,static,24h
dhcp-option=option:router,10.1.0.1
dhcp-option=option:dns-server,10.1.0.3
dhcp-option=option:ntp-server,10.1.0.1

dhcp-host=aa:bb:cc:dd:ee:ff,10.1.2.1
dhcp-host=11:22:33:44:55:66,10.1.3.2

已知主机会获得它们的地址(无论它是 .2. 还是 .3. 地址),但未知主机不会得到任何信息。

linux dhcp proxmox dnsmasq
  • 3 个回答
  • 756 Views
Martin Hope
Kavish Gour
Asked: 2021-10-24 09:11:35 +0800 CST

将 dnsmasq 设置为 LAN 上的 DNS 和 DHCP 服务器

  • 1

我的路由器:

Main Router: 192.168.100.1

Second Router: 192.168.101.1

Main Router由我的 ISP 提供(调制解调器/路由器合二为一)。我无法控制它的设置。除了更改 WIFI 密码和 SSID。

在 上Second Router,我可以控制其 DNS 设置。

我的Second Router'sWAN 端口连接到Main router. 我有一个 Debian 服务器,dnsmasq安装并连接在Second Router's网络上,静态 IP 为 192.168.101.121。对于那些不知道的人,dnsmasq它既是 DNS 服务器又是 DHCP 服务器(默认情况下未启用)。

在Second Router'sDNS 设置中,我将dnsmasqDNS 服务器(debian 服务器)IP 添加为主 DNS IP,并将Main Router'sIP 添加为辅助 DNS IP。它工作正常。

Debian 服务器上的每一行都/etc/hosts可以在网络上连接的所有主机上访问Second Router's。没关系。

问题在于 DHCP。作为 DHCP 客户端,您可以将您的主机名发送到 DHCP 服务器,它将被添加到 DNS。

由于Second Router已经充当 DHCP 服务器,我不能只在dnsmasq. 如果我启用它,我将不得不提供不同的范围(第二个路由器提供的范围除外)。

只有第二个路由器获取主机名,而不是dnsmasq. 有没有人遇到同样的问题?是否可以将主机名条目从第二个路由器拉到dnsmasq?谢谢。

dhcp local-area-network hostname dnsmasq
  • 1 个回答
  • 278 Views
Martin Hope
hgl
Asked: 2021-09-30 20:32:38 +0800 CST

是否可以合并两个 Dnsmasq 实例上的主机名?

  • 0

我有一个用电线连接的路由器和一个转储 AP。路由器有两个接口,一个用于 LAN (192.168.1.1/24),另一个用于 WAN。AP还有两个接口,一个用于LAN(192.168.1.2/24),另一个用于访客WiFi(192.168.2.1/24)。(它实际上也有一个 LAN WiFi,但在这种情况下应该不相关。)

Dnsmasq 在路由器和 AP 上都运行。在路由器上,它为 LAN 提供 DHCP 和 DNS 组合。在 AP 上,访客 WiFi 接口仅启用 DHCP,以便为客户端提供 192.168.2.0/24。

我的问题是,通过这种设置,LAN 客户端将无法解析访客 WiFi 上的主机名,因为路由器 Dnsmasq 无法识别它们,而且路由器似乎不可能接管访客 WiFi 的 DHCP,因为它是基于 AP 的接口,那么有没有办法自动“合并”两个 Dnsmasq 实例上的主机名?如果没有,什么是让它工作的优雅设置?

一些连接到 LAN/WiFi 的设备被锁定,我无法控制它们的主机名,因此无法使用合格的主机名来要求 Dnsmasq 相应地转发用于 LAN 或 WiFi 的域。

networking dhcp dnsmasq
  • 1 个回答
  • 72 Views
Martin Hope
Magnus
Asked: 2021-09-15 06:54:44 +0800 CST

由 dnsmasq 管理的单交换机以太网网络中的节点是直接通信还是通过路由器通信?

  • 0

这个问题存在变体,但我不能确定我的确切情况已被问到。

我正在建立一个简单的以太网,如下所示:

在此处输入图像描述

在节点 0(“rpi1”)上,我将 dnsmasq 作为 DNS 和 DHCP 服务器运行。这是它的一部分/etc/dnsmasq.conf(减去 MAC 地址详细信息):

# Assign static IPs to cluster members
# Format = MAC:hostname:IP
dhcp-host=ZZ:YY:XX:WW:VV:UU,rpi1,10.0.0.1 # Node 0
dhcp-host=ZZ:YY:XX:WW:VV:UU,rpi2,10.0.0.2 # Node 1
dhcp-host=ZZ:YY:XX:WW:VV:UU,rpi3,10.0.0.3 # Node 2
dhcp-host=ZZ:YY:XX:WW:VV:UU,rpi4,10.0.0.4 # Node 3

DNS 和 DHCP 方面都在工作。每个节点都被分配了其预期的10.0.0.XIP 地址,我可以通过运行例如dig rpi4(-> ... 10.0.0.4) 来解析任何节点上的任何域。而且,例如,如果我在 rpi2 内部,那么我可以使用 rpi3 进入 rpi3 ssh rpi3,并且我可以例如ping rpi4orping 10.0.0.4并获得 0% 的数据包丢失。

我不清楚的是我是直接通过交换机还是通过 rpi1(运行 dnsmasq 并提供路由器服务)在节点之间进行通信。

如果节点直接通信,那么我假设它们必须知道彼此的 MAC 地址才能发出通过交换机直接到达彼此的帧。如果是这样,那么我总结的问题是:

  1. 一个节点在什么时候学习其他节点的 MAC 地址?
  2. 以及如何检查 rpi2 上的例如 rpi3 的 MAC 地址以查看它们是否相互了解?

提前致谢!

networking switch linux-networking dnsmasq
  • 1 个回答
  • 54 Views
Martin Hope
Charlie
Asked: 2021-07-28 04:17:28 +0800 CST

强制主机使用 dnsmasq 对无法解析的查询使用备用 DNS 服务器

  • 0

这就是这种情况。我有一个运行数字标牌系统的物联网设备。我正在尝试对其进行设置,使其拥有自己的 WIFI 网络,并且用户可以连接到该 WIFI,在他们的设备上输入一个 http 地址并被路由到 IOT 设备正在运行的 Web 服务器。需要注意的是,这个物联网设备本身并没有连接到互联网。

这一直很好,直到有人尝试使用手机,一旦他们连接到 IOT 设备,他们就无法再访问任何其他网站,例如,一旦他们连接到 WIFI 网络,他们的 4g/5g 就被有效地破坏了。我怀疑这是因为 dnsmasq 正在尝试解析上游,但本身没有与任何上游服务器的连接。有没有办法代替这个,它可以将查询反弹回设备以尝试它的备用服务器?

当前的 dnsmasq.conf 下面。

dhcp-range=192.168.1.101,192.168.1.124,255.255.255.0,24h
domain=wlan
address=/castboard.net/127.0.0.1

server=0.0.0.0

dhcp-option=6,0.0.0.0,8.8.8.8,8.8.4.4
linux domain-name-system dnsmasq
  • 1 个回答
  • 130 Views
Martin Hope
joeforker
Asked: 2021-05-15 06:53:02 +0800 CST

指定 resolv-file 时,dnsmasq 是否支持 no-resolv?

  • 0

这些 dnsmasq 选项是否冲突?路由器想要写入resolv-file配置,但允许我追加no-resolv. 在这种情况下会dnsmasq同意忽略吗?resolv-file

resolv-file=/tmp/resolv.dnsmasq
no-resolv
dnsmasq
  • 1 个回答
  • 598 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve