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

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

  1. sudo dpkg -l dnsmasq*

结果

  1. 期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
  2. | 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
  3. |/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
  4. ||/ 名称           版本         Architecture 描述
  5. +++-==============-============-============-=================================
  6. un  dnsmasq        <none>       <none>       (无可用描述)
  7. 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能干什么吧

  1. 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服务器的耦合。

一个简单的配置文件

  1. cat /etc/dnsmasq.conf

例子

  1. default-lease-time 600;  #默认的租约时间,单位秒
  2. max-lease-time 7200; #最大的租约时间,单位秒
  3. subnet 10.10.10.0 netmask 255.255.255.0 { #设置子网声明
  4. range 10.10.10.10 10.10.10.100; #设置分配的地址池范围
  5. option routers 10.10.10.1; #路由器地址
  6. option domain-name-servers 8.8.8.8; #DNS服务器地址
  7. option broadcast-address 10.10.10.255; #路由器的广播地址
  8. }

打印的系统日志信息看看dnsmasq的工作过程

  1. cat /var/log/syslog
  1. Sep 20 15:19:23 Lenovo-B470 NetworkManager[734]: <info> Starting dnsmasq...
  2. Sep 20 15:19:23 Lenovo-B470 NetworkManager[734]: <info> (wlan1): device state ch
  3. ange: ip-config -> secondaries (reason 'none') [70 90 0]
  4. Sep 20 15:19:23 Lenovo-B470 NetworkManager[734]: <info> Activation (wlan1) Stage
  5. 5 of 5 (IPv4 Commit) complete.
  6. Sep 20 15:19:23 Lenovo-B470 dnsmasq[15540]: started, version 2.68 cachesize 150
  7. Sep 20 15:19:23 Lenovo-B470 dnsmasq[15540]: compile time options: IPv6 GNU-getop
  8. t DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth
  9. Sep 20 15:19:23 Lenovo-B470 dnsmasq-dhcp[15540]: DHCP, IP range 10.42.0.10 -- 10
  10. .42.0.100, lease time 1h
  11. Sep 20 15:19:23 Lenovo-B470 dnsmasq[15540]: reading /etc/resolv.conf
  12. Sep 20 15:19:23 Lenovo-B470 dnsmasq[15540]: using nameserver 202.199.128.6#53
  13. Sep 20 15:19:23 Lenovo-B470 dnsmasq[15540]: using nameserver 202.96.64.68#53
  14. 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地址的过程

  1. Sep 20 15:20:14 Lenovo-B470 dnsmasq-dhcp[15540]: DHCPDISCOVER(wlan1) 80:e6:50:74:2e:d4
  2. Sep 20 15:20:14 Lenovo-B470 dnsmasq-dhcp[15540]: DHCPOFFER(wlan1) 10.42.0.70 80:e6:50:74:2e:d4
  3. Sep 20 15:20:14 Lenovo-B470 dnsmasq-dhcp[15540]: DHCPDISCOVER(wlan1) 80:e6:50:74:2e:d4
  4. Sep 20 15:20:14 Lenovo-B470 dnsmasq-dhcp[15540]: DHCPOFFER(wlan1) 10.42.0.70 80:e6:50:74:2e:d4
  5. Sep 20 15:20:15 Lenovo-B470 dnsmasq-dhcp[15540]: DHCPREQUEST(wlan1) 10.42.0.70 80:e6:50:74:2e:d4
  6. Sep 20 15:20:15 Lenovo-B470 dnsmasq-dhcp[15540]: DHCPACK(wlan1) 10.42.0.70 80:e6:50:74:2e:d4 iPad
  7. Sep 20 15:20:16 Lenovo-B470 dnsmasq-dhcp[15540]: DHCPREQUEST(wlan1) 10.42.0.70 80:e6:50:74:2e:d4
  8. 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配置信息

  1. sudo vim /etc/NetworkManager/NetworkManager.conf

删除下面的内容,然后保存

  1. dns=dnsmasq

方法二.卸载dnsmasq-base软件包

    1. sudo apt-get remove dnsmasq-base

ubuntu dnsmasq问题的更多相关文章

  1. ubuntu dnsmasq

    /var/run/NetworkManager/resolv.conf 而你真实的dns服务器地址,是被这个服务管理维护着的/ local process -> local dnsmasq -& ...

  2. ubuntu下安装加装DNS

    感觉在ubuntu下网速特别的慢,所以网上找了下解决方案,本地缓存域名解析相关信息. 首先,安装dns服务 命令: sudo apt-get install dnsmasq 编辑dnsmasq的配置文 ...

  3. Install Docker on Ubuntu

    Install Docker on Ubuntu Estimated reading time: 17 minutes Docker is supported on these Ubuntu oper ...

  4. VirtualBox Ubuntu Server 16.04 手动设置 网络(IP, DNS, 路由)

    1. VirtualBox 设置全局网络 在virtualBox点击菜单管理->全局管理 配置NAT网络 参考下图配置, 依次点击相应的按钮并设置网络(其中DHCP任意, 将来我们都会使用固定I ...

  5. Ubuntu 14.10 创建虚拟网卡实现桥接网络

    目标需求:在Ubuntu主机创建一张虚拟网卡,使得搭建在VirtualBox中的其他主机能借助虚拟网卡构建的局域网进行相互间的通讯 步骤一:准备工具包 安装 uml-utilities 以及 brid ...

  6. Ubuntu 配置AP总结

    1.这个是使用别人写的一个GUI来配置,:http://hi.baidu.com/lexiangtaotao/item/5d4e87f22db132c70cd1c86f 2.使用hostapd配置:h ...

  7. Ubuntu apparmor何方神圣

    AppArmor 是一款与SeLinux类似的安全框架/工具,其主要作用是控制应用程序的各种权限,例如对某个目录/文件的读/写,对网络端口的打开/读/写等等. 来之Novell网站的引用: AppAr ...

  8. ubuntu网络配置

    本文介绍ubuntu中的网络配置方法. ubuntu需要在/etc/network/interfaces文件中设置网络配置,基本的格式如下: auto <网卡名> iface <网卡 ...

  9. 整合Open vSwitch与DNSmasq为虚拟机提供DHCP功能

    继上文<Ubuntu14.04安装配置Open vSwitch>安装好Open vSwitch后,这里我们将要创建两个KVM虚拟机,并通过DNSmasq来为这两个虚拟机自动分配私网IP地址 ...

随机推荐

  1. 关于WEB前端开发的思考与感悟

    万事开头难. 当我想要认真写一篇文章向大家分享我对前端的认识与感悟的时候,突然就深刻的体会到了这句话确实太有道理了. 最近几年对于web前端的传闻很多,比如人才稀缺,简单易学,待遇丰厚,整体势头发展良 ...

  2. Go 函数编程

    函数的声明 在 Go 语言中,函数声明通用语法如下: func functionname(parametername type) returntype { // 函数体(具体实现的功能) } 函数的声 ...

  3. JS 百度地图 换地图主题颜色(API自带)

    JS 百度地图 换地图主题颜色(API自带) <script type="text/javascript" src="http://api.map.baidu.co ...

  4. Hibernate入门第一讲——Hibernate框架的快速入门

    Hibernate框架的概述 什么是框架? 框架指的是软件的半成品,已经完成了部分功能. JavaEE开发的三层架构 了解框架的基本概念之后,我们就来看看Hibernate框架处于JavaEE开发的经 ...

  5. 12 Windows编程——子窗口和系统内置窗口类“BUTTON”

    创建子窗口类,使得子窗口有自己的处理过程. 子窗口类型WS_CHILD不能和WS_POPUP一起使用!为什么子窗口要有自己的处理过程?如果使用主窗口类来创建子窗口,那么子窗口和主窗口将公用窗口处理过程 ...

  6. 算法之暴力破解和kmp算法 判断A字符串是否包含B字符串

    我们都知道java中有封装好的方法,用来比较A字符串是否包含B字符串 如下代码,contains,用法是 str1.contains(str2), 这个布尔型返回,存在返回true,不存在返回fals ...

  7. Java 中的多态,一次讲个够之继承关系中的多态

    多态是继封装.继承之后,面向对象的第三大特性. 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态. Java作为面向对象的语言,同样可以描述一个 ...

  8. 自定义View-----汽泡效果

    先来看一下这次要实现的最终效果: 首先来实现效果一,为实现效果二做充足的准备,下面开始: 新建工程,并定义一个自定义View,然后将其定义在布局文件中,里面是空实现,之后会一步步来填充代码: MyRi ...

  9. 将自己写的组件封装成类似element-ui一样的库,可以cdn引入

    在写好自己的组件之后 第一步 修改目录结构 在根目录下创建package文件夹,用于存放你要封装的组件 第二部 在webpack配置中加入 pages与publicpath同级 pages: { in ...

  10. appium+python 【Mac】UI自动化测试封装框架介绍 <四>---脚本的调试

    优秀的脚本调试定位问题具备的特点: 1.方便调试. 2.运行报错后容易定位出现的问题. 3.日志的记录清晰 4.日志可被存储,一般测试结果的分析在测试之后会进行,那么日志的存储将会为后期的分析问题带来 ...