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
    • 最新
    • 标签
主页 / unix / 问题

问题[dnsmasq](unix)

Martin Hope
Radu Radu
Asked: 2024-03-25 19:05:57 +0800 CST

没有分配 IP 的 dnsmasq 池

  • 5

我在嵌入式设备中有一个简单的 dnsmasq v2.80,我想将其用作 DHCP 服务器以实现自动配置目的。

我想要两个池(一个静态,一个动态)

我所拥有的是这个:

#
# main dnsmasq config file
#

user=nobody
group=nogroup

log-dhcp
dhcp-authoritative
dhcp-rapid-commit
no-dhcp-interface=lo
dhcp-name-match=set:wpad-ignore,wpad
dhcp-ignore-names=tag:wpad-ignore
dhcp-leasefile=/var/lib/misc/dnsmasq.leases

dhcp-option=tag:v69_static_pool_1,option:dns-server,1.2.3.254
dhcp-option=tag:v69_static_pool_1,option:router,1.2.3.253
dhcp-option=tag:v69_static_pool_1,option:ntp-server,1.2.3.252

dhcp-range=set:v69_dynamic_pool_1,10.250.0.2,10.250.0.254,255.255.255.0,12h
dhcp-option=tag:v69_dynamic_pool_1,option:dns-server,10.250.0.1
dhcp-option=tag:v69_dynamic_pool_1,option:router,10.250.0.1
dhcp-option=tag:v69_dynamic_pool_1,option:ntp-server,10.250.0.1

dhcp-range=1.2.3.1,1.2.3.254,255.255.255.0,infinite
dhcp-host=dc:2c:6e:ef:09:33,1.2.3.2,set:v69_static_pool_1

和网络接口

   link/ether ba:86:04:04:64:44 brd ff:ff:ff:ff:ff:ff
   inet 10.250.0.1/24 scope global v69
      valid_lft forever preferred_lft forever
   inet 1.2.3.1/24 scope global v69
      valid_lft forever preferred_lft forever
   inet6 fe80::b886:4ff:fe04:6444/64 scope link 
      valid_lft forever preferred_lft forever

但我想要的是不要浪费 IP 地址,因为我将使用公共 IP 地址分配给网络中的 cpes。我习惯于使用 mikrotik 路由器,虽然接口有一个静态 IP 地址,但足以让我分配接口范围之外的 IP。

而且我想确保静态池不用于分配给动态主机。

dnsmasq 可以吗?

dnsmasq
  • 1 个回答
  • 11 Views
Martin Hope
Mira
Asked: 2022-01-24 13:59:19 +0800 CST

为什么 /#/ 在 dnsmasq 中不起作用?

  • 0

我正在尝试使用 dnsmasq 实现强制门户。在 dnsmasq 配置 address=/#/10.42.0.1中不起作用,所以我必须使用丑陋的

address=/com/10.42.0.1
address=/uk/10.42.0.1
address=/org/10.42.0.1
address=/gov/10.42.0.1 ...

这可以很好地重定向所有列出的域,如果您在浏览器中去任何地方,但是强制门户浏览器不会自行弹出(检查没有 mac win 和 linux),并且如果站点重定向到 https(如 facebook),我的门户会出现问题页面只是http。

那么应该如何正确设置来替换所有域名,甚至只是让浏览器弹出强制门户页面呢?

UPD:根据手册页

--address=/#/1.2.3.4 对于任何未从 /etc/hosts 或 DHCP 回答且未通过更具体的 --server 指令发送到上游名称服务器的查询,将始终返回 1.2.3.4。

那么如何确保 NetworkManager - dnsmasq 没有上游主机?

dns dnsmasq
  • 1 个回答
  • 79 Views
Martin Hope
CarterKF
Asked: 2020-02-26 14:26:17 +0800 CST

dnsmasq 给出“未知接口”

  • 1

我正在尝试运行一个 dnsmasq 实例(除了 Ubuntu 18 上的系统范围实例)。我运行了一次,它运行良好。但后来我杀了它

kill -15 <dnsmasq_pid>

现在每当我尝试运行 dnsmasq 我得到

dnsmasq: unknown interface wlx00c0caa5587f

但是这个接口存在于ifconfig:

wlx00c0caa5587f: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:c0:ca:a5:58:7f  txqueuelen 1000  (Ethernet)
        RX packets 139  bytes 26260 (26.2 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 190  bytes 37131 (37.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

这是我的配置文件:

interface=wlx00c0caa5587f
except-interface=lo
except-interface=wlp2s0
bind-interfaces

dhcp-range=192.168.33.1,192.168.33.20,12h

port=5777

为什么我可以运行一次但不能再次运行?

任何帮助都会很棒。

dnsmasq
  • 1 个回答
  • 1001 Views
Martin Hope
hacefresko
Asked: 2020-01-06 05:02:56 +0800 CST

Dnsmasq 在端口 53 上不起作用,但在端口 53 上没有其他内容

  • 0

所以我在 raspberry pi 2 上运行 apache2 服务器和 hostapd,使用 raspbian。当我尝试使用 dnsmasq.conf localhost=127.0.0.1 运行 dnsmasq 时(在其他设置中,我认为它们现在不重要)它说

dnsmasq: failed to create listening socket for port 53: Address already in use [fail].

但我试过了

lsof -i -P -n | grep '53' 

而我只得到dnsmasq.

当我跑网时netstat -ap46,我得到

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address   Foreign Address State  PID/Program name    
tcp        0      0 localhost:mysql 0.0.0.0:*       LISTEN 559/mysqld          
tcp        0      0 0.0.0.0:domain  0.0.0.0:*       LISTEN 438/dnsmasq         
tcp        0      0 0.0.0.0:ssh     0.0.0.0:*       LISTEN 445/sshd            
tcp6       0      0 [::]:http       [::]:*          LISTEN 627/apache2         
tcp6       0      0 [::]:domain     [::]:*          LISTEN 438/dnsmasq         
tcp6       0      0 [::]:ssh        [::]:*          LISTEN 445/sshd            
udp        0      0 0.0.0.0:mdns    0.0.0.0:*              327/avahi-daemon: r 
udp        0      0 0.0.0.0:domain  0.0.0.0:*              438/dnsmasq         
udp        0      0 0.0.0.0:bootpc  0.0.0.0:*              370/dhcpcd          
udp        0      0 0.0.0.0:59990   0.0.0.0:*              327/avahi-daemon: r 
udp6       0      0 [::]:mdns       [::]:*                 327/avahi-daemon: r 
udp6       0      0 [::]:55646      [::]:*                 327/avahi-daemon: r 
udp6       0      0 [::]:domain     [::]:*                 438/dnsmasq         
raw6       0      0 [::]:ipv6-icmp  [::]:*             7   370/dhcpcd   

我没有安装网络管理器。dnsmasq 会干扰自身吗?我该如何解决?

raspbian dnsmasq
  • 1 个回答
  • 1769 Views
Martin Hope
Kahn
Asked: 2019-12-24 08:42:47 +0800 CST

主机配置了 resolvconf 和 dnsmasq,重启 dnsmasq 一直指向旧服务器

  • 0

我有一个 Ubuntu 16.04.2 LTS 主机。它被配置为dnsmasq用于 DNS 转发,而不是使用resolv.conf填充名称服务器。配置是标准的,其中resolv.conf只有:

nameserver 127.0.0.1
search redacted.searchfield.com

主机配置/etc/resolv.dnsmasq了 4 个名称服务器。当我重新启动 dnsmasq 服务时,它指向主机上一次配置的 3 个名称服务器(但不再),并自动将它们写入/var/run/dnsmasq/resolv.conf,忽略 .中定义的 4 个名称服务器/etc/resolv.dnsmasq。

如果我将其中的四个输入/var/run/dnsmasq/resolv.conf并让dnsmasq服务运行,我可以让服务正确读取正确的名称服务器。但是,如果我重新启动服务,它只会再次指向这 3 个旧名称服务器。

这是缓存在某个地方吗?我这里不用nscd。我想知道该resolvconf服务是否会导致问题,并且不应该同时运行dnsmasq?

dnsmasq resolv.conf
  • 1 个回答
  • 747 Views
Martin Hope
exore
Asked: 2019-02-12 03:08:41 +0800 CST

是否可以使用 dnsmasq 抑制上游 DNS 记录

  • 0

使用 dnsmasq,我可以为现有记录设置新值,并将新记录、事件添加到我不拥有的区域。但是是否有可能掩盖或抑制现有记录?

在我的情况下,我希望 CNAME 不存在并返回状态 NXDOMAIN

我试过了

cname=unwanted.example.org,

但是 dnsmasq 不会启动。然后我尝试了

cname=unwanted.example.org,_

由于这被忽略,我从真正的 DNS 服务器获得了真正的 CNAME 记录。

dns dnsmasq
  • 1 个回答
  • 167 Views
Martin Hope
ZioByte
Asked: 2018-10-05 02:11:27 +0800 CST

设置 Dnsmaq 为 Hostapd 热点提供 DHCP 地址

  • 1

我正在尝试设置 dnsmasq 作为基于 hostapd 的 WiFi 热点的 DHCP 服务器。

当客户端连接 WAP2 协商成功,但 dnsmasq 始终输出以下错误。

[ 2081.576809] DHCP[wlan0] - DISCOVER [TX][ 2081.580476]                        
[ 2081.582008] DHCP[wlan0] - DISCOVER [RX]                                      
dnsmasq-dhcp: no address range available for DHCP request via wlan0             
[ 2085.297432] DHCP[wlan0] - DISCOVER [TX][ 2085.301107]                        
[ 2085.302630] DHCP[wlan0] - DISCOVER [RX]                                      
dnsmasq-dhcp: no address range available for DHCP request via wlan0             

这些通常意味着配置的范围与设备设置不兼容。

如果是这种情况,我不明白为什么。

我的测试dnsmaq.conf非常基础:

root@imx8qxpa0tcuap:~# cat /etc/dnsmasq.conf                                    
domain-needed                                                                   
bogus-priv                                                                      
interface=wlan0                                                                 
dhcp-range=192.168.207.20,192.168.207.50,12h                                    

...并且当前的网络设置应该兼容:

root@imx8qxpa0tcuap:~# ip addr show wlan0
5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 0
    link/ether a0:cc:2b:a5:e0:05 brd ff:ff:ff:ff:ff:ff
    inet 192.168.207.1/32 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::a2cc:2bff:fea5:e005/64 scope link
       valid_lft forever preferred_lft forever
root@imx8qxpa0tcuap:~# ip route
192.168.207.0/24 dev wlan0 scope link

最初的 dnsmasq 打印输出显示没有问题:

root@imx8qxpa0tcuap:~# dnsmasq -d
dnsmasq: started, version 2.78 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPy
dnsmasq-dhcp: DHCP, IP range 192.168.207.20 -- 192.168.207.50, lease time 12h
dnsmasq: reading /etc/resolv.conf
dnsmasq: using nameserver 8.8.8.8#53
dnsmasq: using nameserver 8.8.4.4#53
dnsmasq: using nameserver 2001:4860:4860::8888#53
dnsmasq: using nameserver 2001:4860:4860::8844#53
dnsmasq: read /etc/hosts - 6 addresses

我究竟做错了什么?

注意 1:在此测试设置中,WiFi 热点无处可去(但)只有客户端和热点本身之间的通信才应该工作。

注意2:该机器是运行基于 Yocto 的发行版的定制板 (i.MX8)。

dnsmasq hostapd
  • 1 个回答
  • 2655 Views
Martin Hope
r0berts
Asked: 2018-05-26 22:21:19 +0800 CST

我可以让 dnsmasq 删除/拒绝/重定向除一个以外的任何地址查询吗?

  • 1

我正在建立一个本地调查系统。linux 笔记本电脑将运行limesurvey(在典型的 LAMP 堆栈上),并且可以通过分发给会议参与者的 5 台平板电脑访问。平板电脑没有问题,因为它们会预先配置加载调查。但是,我也想允许参会者通过他们的手机访问调查链接。我打算做的是:

  1. 笔记本电脑用作接入点。DNSMASQ 在加入 AP 后会提供 IP。我会给他们一个简单的本地地址(例如http://lime)来访问调查界面,这应该是可能的,因为 DNSMASQ 将充当他们的 DNS 服务器 - 所以它会知道如何解决石灰。

  2. 我想快速处理客户端错误 - 例如,他们在加入 AP 后意外输入了不同的地址(或者只是想上网,例如访问 google.com) - 我希望 DNSMASQ立即返回错误,最好重定向到自定义错误页面,为他们提供正确的链接。

  3. 编辑:我调查了这个;可能我将不得不制作一个强制门户类型的解决方案。我仍然想要显示启动页面的最简单方法 - 列出调查并将所有其他请求删除/重定向到启动页面。我不需要身份验证,因为不会通过此连接提供互联网;在这种情况下,身份验证只是额外的点击,但我希望人们可以轻松访问调查。

这可能吗?有没有更好的方法来执行这个计划?

linux dnsmasq
  • 2 个回答
  • 8014 Views
Martin Hope
Mat_
Asked: 2018-03-28 06:31:11 +0800 CST

dnsmasq 端口转发

  • 1

我目前的配置

site.example.net 192.168.1.1

我想做的事

site.example.net:10000 192.168.1.2

我的问题

知道我已经尝试过这种类型的配置/etc/hosts并且dnsmasq.conf没有成功,是否可以使用 dnsmasq 进行一些简单的端口转发?

谢谢你。

dnsmasq port-forwarding
  • 1 个回答
  • 4079 Views
Martin Hope
Jonny Asmar
Asked: 2018-01-17 16:45:27 +0800 CST

dnsmasq 和 systemd 导致间歇性 CPU 峰值

  • 3

问题:

运行 Ubuntu 17.10

我已经尝试解决(呵呵)这个问题大约一周了,尽管有无数的谷歌搜索和大约 20 次不同的尝试,但我无法阻止 dnsmasq 周期性地导致我的 CPU 因以下违规者而飙升约一分钟:

  • systemd-resolved
  • systemd-journald
  • dnsmasq

监控journalctl -f每次发生时我都会看到:

达到的最大并发 dns 查询数 (150)

伴随/之前是对某个域的疯狂请求循环(通常是 ubuntu 连接检查),如下所示:

query[A] connectivity-check.ubuntu.com from 127.0.0.1
forwarded connectivity-check.ubuntu.com to 127.0.1.1
forwarded connectivity-check.ubuntu.com to 127.0.0.53
query[A] connectivity-check.ubuntu.com from 127.0.0.1
forwarded connectivity-check.ubuntu.com to 127.0.0.53
query[AAAA] connectivity-check.ubuntu.com from 127.0.0.1
forwarded connectivity-check.ubuntu.com to 127.0.0.53
query[AAAA] connectivity-check.ubuntu.com from 127.0.0.1
forwarded connectivity-check.ubuntu.com to 127.0.0.53
query[A] connectivity-check.ubuntu.com from 127.0.0.1
forwarded connectivity-check.ubuntu.com to 127.0.0.53
query[AAAA] connectivity-check.ubuntu.com from 127.0.0.1
forwarded connectivity-check.ubuntu.com to 127.0.0.53

我发现更改我的/etc/resolv.conf以使用nameserver 127.0.0.53会导致尖峰几乎瞬间消散。

但是,由于网络管理器会定期更新该文件,因此我必须大约每小时执行一次。


配置:

/etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.1
search fios-router.home

/etc/NetworkManager/NetworkManager.conf

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no

/etc/dnsmasq.conf

// All default except this at the very end for my wildcard DNS
address=/asmar.d/127.0.0.1

/run/dnsmasq/resolv.conf

nameserver 127.0.0.53

/运行/resolvconf/接口:

lo.dnsmasq:

nameserver 127.0.0.1

systemd-resolved:

nameserver 127.0.0.53

/etc/resolvconf/interface-order:

# interface-order(5)
lo.inet6
lo.inet
lo.@(dnsmasq|pdnsd)
lo.!(pdns|pdns-recursor)
lo
tun*
tap*
hso*
em+([0-9])?(_+([0-9]))*
p+([0-9])p+([0-9])?(_+([0-9]))*
@(br|eth)*([^.]).inet6
@(br|eth)*([^.]).ip6.@(dhclient|dhcpcd|pump|udhcpc)
@(br|eth)*([^.]).inet
@(br|eth)*([^.]).@(dhclient|dhcpcd|pump|udhcpc)
@(br|eth)*
@(ath|wifi|wlan)*([^.]).inet6
@(ath|wifi|wlan)*([^.]).ip6.@(dhclient|dhcpcd|pump|udhcpc)
@(ath|wifi|wlan)*([^.]).inet
@(ath|wifi|wlan)*([^.]).@(dhclient|dhcpcd|pump|udhcpc)
@(ath|wifi|wlan)*
ppp*
*

systemd-resolve --status:

Global
         DNS Servers: 127.0.0.1
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa
                      20.172.in-addr.arpa
                      21.172.in-addr.arpa
                      22.172.in-addr.arpa
                      23.172.in-addr.arpa
                      24.172.in-addr.arpa
                      25.172.in-addr.arpa
                      26.172.in-addr.arpa
                      27.172.in-addr.arpa
                      28.172.in-addr.arpa
                      29.172.in-addr.arpa
                      30.172.in-addr.arpa
                      31.172.in-addr.arpa
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test

Link 5 (br-b1f5461ac410)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 4 (docker0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 3 (wlp62s0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 2 (enp61s0)
      Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 8.8.8.8
                      8.8.4.4
                      ::1

问题:

如何在仍使用通配符域名的同时解决此问题?

可选:如何在使用 Google DNS 时实现这一点?

请不要建议增加并发 dns 查询。那不是解决方案。


解决了!

请参阅引导我找到解决方案的 telcoM 的 DNS 速成课程(已接受的答案)

当我尝试从该答案中获得的知识时,请查看我的后续和最终解决方案

ubuntu dnsmasq
  • 4 个回答
  • 4435 Views

Sidebar

Stats

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

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve