ubuntu14.04自带的DNS服务器dnsmasq

2023-05-16

在很多ubuntu开启wifi热点的教程中,配置比较繁琐的是hostapd+dnsmasq,很多教程都给出了dnsmasq的安装过程,其实在ubuntu桌面版系统下,已经集成到NetworkManager了,不过这个软件包叫dnsmasq-base。以下内容中的dnsmasq指的是dnsmasq-base。

如果你用sudo apt-get install dnsmasq会把这两个软件包都安上。

sudo dpkg -l dnsmasq*

  
结果
期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称           版本         Architecture 描述
+++-==============-============-============-=================================
un  dnsmasq        <none>       <none>       (无可用描述)
ii  dnsmasq-base   2.68-1       i386         Small caching DNS proxy and DHCP/
可以看到集成到NetworkManager的dnsmasq安装包是dnsmasq-base,不是dnsmasq

这里再引用官网的一段话https://help.ubuntu.com/community/Dnsmasq

Note that the package "dnsmasq" interferes with Network Manager which can use "dnsmasq-base" to provide DHCP services when sharing an internet connection. Therefore, if you use network manager (fine in simple set-ups only), then install dnsmasq-base, but not dnsmasq. If you have a more complicated set-up, uninstall network manager, use dnsmasq, or similar software (bind9, dhcpd, etc), and configure things by hand.

简单的翻译一下吧

Network Manager下使用的dnsmasq软件包名字为dnsmasq-base,用来提供DHCP服务和网络共享。因此如果你使用Network Manager,那么你应该安装dnsmasq-base,而不是dnsmasq。如果你需要完整的配置,那么你需要卸载Network Manager,使用dnsmasq或类似的软件如bind9,dhcpd等来手动配置它
这里涉及到NetworkManager和network两种网络配置管理的问题,由于hostapd需要禁用Network Manager,所以network管理的方式下dnsmasq-base不知道还能不能用

很多教程给出的配置文件是/etc/dnsmasq.conf,如果没有这个配置文件,也可以通过命令来配置它,kde-nm-connection-editor和自带的ap-hoc模式都没有/etc/dnsmasq.conf,都是通过命令来配置的

查看以下dnsmasq能干什么吧

man dnsmasq
dnsmasq - A lightweight DHCP and caching DNS server.
dnsmasq  is a lightweight DNS, TFTP, PXE, router advertisement and DHCP
server. It is intended to provide coupled DNS and  DHCP  service  to  a
LAN.
dnsmasq是一个轻量级的DHCP和DNS缓存服务器。
dnsmasq是一个轻量级的DNS, TFTP, PXE, 通告路由器和DHCP服务器。它的目的是提供局域网内DNS服务器和DHCP服务器的耦合。

一个简单的配置文件

cat /etc/dnsmasq.conf
例子

default-lease-time 600;  #默认的租约时间,单位秒
max-lease-time 7200; #最大的租约时间,单位秒
subnet 10.10.10.0 netmask 255.255.255.0 { #设置子网声明
    range 10.10.10.10 10.10.10.100; #设置分配的地址池范围
    option routers 10.10.10.1; #路由器地址
    option domain-name-servers 8.8.8.8; #DNS服务器地址
    option broadcast-address 10.10.10.255; #路由器的广播地址
}
打印的系统日志信息看看dnsmasq的工作过程

cat /var/log/syslog

Sep 20 15:19:23 Lenovo-B470 NetworkManager[734]: <info> Starting dnsmasq...
Sep 20 15:19:23 Lenovo-B470 NetworkManager[734]: <info> (wlan1): device state ch
ange: ip-config -> secondaries (reason 'none') [70 90 0]
Sep 20 15:19:23 Lenovo-B470 NetworkManager[734]: <info> Activation (wlan1) Stage
 5 of 5 (IPv4 Commit) complete.
Sep 20 15:19:23 Lenovo-B470 dnsmasq[15540]: started, version 2.68 cachesize 150
Sep 20 15:19:23 Lenovo-B470 dnsmasq[15540]: compile time options: IPv6 GNU-getop
t DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth
Sep 20 15:19:23 Lenovo-B470 dnsmasq-dhcp[15540]: DHCP, IP range 10.42.0.10 -- 10
.42.0.100, lease time 1h
Sep 20 15:19:23 Lenovo-B470 dnsmasq[15540]: reading /etc/resolv.conf
Sep 20 15:19:23 Lenovo-B470 dnsmasq[15540]: using nameserver 202.199.128.6#53
Sep 20 15:19:23 Lenovo-B470 dnsmasq[15540]: using nameserver 202.96.64.68#53
Sep 20 15:19:23 Lenovo-B470 dnsmasq[15540]: 清除缓存
上面这段可以看出来,NetworkManager里的dnsmasq并没有读取/etc/dnsmasq.conf,而是通过命令指定了地址范围为10.42.0.10 -- 10
.42.0.100,租约时间为1小时
下面是DHCP分配IP地址的过程

Sep 20 15:20:14 Lenovo-B470 dnsmasq-dhcp[15540]: DHCPDISCOVER(wlan1) 80:e6:50:74:2e:d4 
Sep 20 15:20:14 Lenovo-B470 dnsmasq-dhcp[15540]: DHCPOFFER(wlan1) 10.42.0.70 80:e6:50:74:2e:d4 
Sep 20 15:20:14 Lenovo-B470 dnsmasq-dhcp[15540]: DHCPDISCOVER(wlan1) 80:e6:50:74:2e:d4 
Sep 20 15:20:14 Lenovo-B470 dnsmasq-dhcp[15540]: DHCPOFFER(wlan1) 10.42.0.70 80:e6:50:74:2e:d4 
Sep 20 15:20:15 Lenovo-B470 dnsmasq-dhcp[15540]: DHCPREQUEST(wlan1) 10.42.0.70 80:e6:50:74:2e:d4 
Sep 20 15:20:15 Lenovo-B470 dnsmasq-dhcp[15540]: DHCPACK(wlan1) 10.42.0.70 80:e6:50:74:2e:d4 iPad
Sep 20 15:20:16 Lenovo-B470 dnsmasq-dhcp[15540]: DHCPREQUEST(wlan1) 10.42.0.70 80:e6:50:74:2e:d4 
Sep 20 15:20:16 Lenovo-B470 dnsmasq-dhcp[15540]: DHCPACK(wlan1) 10.42.0.70 80:e6:50:74:2e:d4 iPad
dnsmasq如何禁用呢

方法一.删除NetworkManager配置信息

sudo vim /etc/NetworkManager/NetworkManager.conf
删除下面的内容,然后保存
dns=dnsmasq
方法二.卸载dnsmasq-base软件包
sudo apt-get remove dnsmasq-base



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu14.04自带的DNS服务器dnsmasq 的相关文章

  • DNS 在 PHP 中不工作(但一般情况下可以)

    以下脚本 返回 DNS 记录列表 但最终在 file get contents 上失败 尽管 phpinfo 说 allow url fopen On On allow url include Off 出现以下错误 PHP 消息 PHP 警
  • Mac OSX Lion DNS 查找顺序 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 升级到 Mac OSX Lion 后 我发现 etc hosts 不再首先查找名称解析 这会导致一些副作用 例如 etc hosts 中的条目解析速度
  • 在 Linux 上以编程方式永久设置 DNS/名称服务器

    我想以编程方式更新名称服务器 在这个问题中以编程方式在 linux 上设置 dns nameserver https stackoverflow com questions 5034143 programmatically set dns
  • 有没有一种方法可以透明地对 SQLAlchemy 对象执行验证?

    有没有办法在设置属性之后 或设置属性时 但在提交会话之前对对象执行验证 例如 我有一个领域模型Device有一个mac财产 我想确保mac属性在添加到数据库或在数据库中更新之前包含有效且经过清理的 mac 值 看起来 Pythonic 方法
  • 如何使用 Digital Ocean DNS 和 Nginx 设置全局负载平衡?

    UPDATE 请参阅下面我提供的答案 了解我最终在 AWS 上设置的解决方案 我目前正在尝试为 Digital Ocean 上的应用程序服务器实现全局负载平衡层的方法 但我还没有将一些内容放在一起 The Goal 通过将所有连接路由到 S
  • 如何强制网站 DNS 刷新?

    我正在将我的 Web 应用程序移动到另一台服务器 并在接下来的几天内刷新 DNS 以指向新的 IP 位置 不幸的是 一些浏览器和 SO 保留了 DNS 缓存 这将使用户指向旧的 IP 位置 有些用户是新手 他们不会手动刷新 DNS 缓存 我
  • proxy_pass 不使用 /etc/hosts 解析 DNS

    在 Nginx 中proxy pass指令未使用以下命令解析 DNS etc hosts文件 有什么方法可以实现这种可能性 也许利用 Lua 作为最后的手段 如果您有一台带有 systemd 的服务器 您可以使用它附带的名称服务器 syst
  • DNS 服务器管理的域列表[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我们有一台运行 Ensim 的服务器 这是一个类似 Plesk 的旧工具 让我们的行为就像是一个网络主机一样 多年来 我们慢慢退出了托管业务 但我们的
  • 如何使 Windows DNS 和 WINS 设置保留在 Azure VM 中?

    我在 Azure VM 中设置了一个域控制器 并且其他几个服务器也设置为 VM 当我设置服务器虚拟机时 我将 DNS 和 WINS 配置为指向 DC 的 IP 地址并将它们加入域 但是 这些设置在关闭 虚拟机被释放 后将无法保留 当虚拟机重
  • 子域名指向同一IIS中的不同网站

    我有一个 IIS 服务器 运行一个默认网站 一个在 LandingPage 路径中运行的 React 应用程序以及一个由 api 中的 React 应用程序使用的 API 所以基本上我有 localhost 80 gt 默认 MVC 网站
  • file_get_contents(): php_network_getaddresses: getaddrinfo 失败

    我正在尝试使用 cron 作业将一些值从一台服务器更新到另一台服务器 我使用 file get contents 奇怪的是 这偶尔会失败 一分钟还可以 一分钟就不行了 我收到这两个错误 PHP 警告 file get contents ph
  • 创建本地自定义主机名而不是 localhost?

    目前 我的 Flask 应用程序在本地运行 http localhost 5000 some page http localhost 5000 some page 如何为我的应用程序创建本地自定义位置 例如 http myappname s
  • Django 应用程序是否可以知道用户的 Windows 域名?

    我需要制作一个简单的知识库类型应用程序以在公司内部网络中使用 为了使最终用户使用起来简单快捷 我想部分跳过所有登录 因为它只对我们信任的内部网络用户可见 并自动从用户中提取域用户名并放入它进入数据库 不希望人们浪费时间手动输入他们的名字 他
  • 每个用户的子域

    我拥有一个网站 为每个注册用户提供一个专用空间 如下所示 www mywebpage com user1 www mywebpage com user2 www mywebpage com user3在这条路径中 用户有他的迷你网站 我想为
  • 相同视图和浏览器版本中不同的 IE XML/XSL 行为,但使用不同的域用户帐户

    我们的一位用户在尝试访问我们的 Web 应用程序视图之一时遇到问题 IE9 行为在 6 8 和 9 中显得一致 但在域帐户之间不一致 对于该特定用户的 Windows 域帐户 无论使用哪些凭据来访问我们的应用程序 或者使用哪台机器的浏览器
  • 每个域都有唯一的 IP 吗?

    我想知道每个域名地址是否都有唯一的IP地址 此外 这些IP位于哪里 这个重定向系统是如何工作的 当我们尝试通过写入域名来访问网站时 它有多少个重定向 谢谢 否 每个域没有自己的 IP 地址 多个域可以托管在同一台服务器上 并且位于同一 IP
  • 是否可以为 IP 地址而不是域名提供 SSL 证书? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我希望我的网站使用类似的 URLhttp 192 0 2 2 and https 192 0 2 2 用于静态内容 以避免请求中不必要的
  • Linux 中 AF_UNIX 数据报消息的最大大小是多少?

    目前我已达到 130688 字节的硬限制 如果我尝试在一条消息中发送更大的内容 我会收到一条消息ENOBUFS error 我已经检查过net core rmem default net core wmem default net core
  • 使用 IIS 发布:找不到服务器 DNS

    我正在尝试使用 IIS 发布我的项目 我能够通过 Visual Studio 发布它 La aplicaci n web se public correctamente file D www plataformafantasy com Co
  • 包含带重音符号的域的主要缺点是什么?

    我正在考虑获取一个包含重音字符的域 它包含 然而 我注意到只有一些公司提供它们 这些域是否存在普遍问题 或者我在使用这些域时是否会遇到某些缺点 DNS 协议仅支持 ASCII 带有重音字符的域被编码为 ASCII 使用Punycode ht

随机推荐