精华内容
下载资源
问答
  • 具有正则表达式的Entware支持的Dnsmasq 原始regex支持补丁来自 使用在KeeneticOS 3.6.3和Entware(mipsel)上在Keenetic Giga KN-1010上测试过的指令制作的二进制文件。 准备好二进制文件: 1.准备构建环境 清洁...
  • Stubby + Dnsmasq + Docker 这是什么? 这是一个包含Stubby和Dnsmasq的Docker映像。 从: Stubby是充当本地DNS隐私存根解析器(使用TLS上的DNS)的应用程序。 Stubby对从客户端计算机(台式机或便携式计算机)...
  • dnsmasq-2.80-99.el7.centos.x86_64.rpm,那个2.80-1或者2.80-99是修订号,我随便写的99,写2.80-1是为了方便大家能搜索到。 这个文件适用于CentOS最新的dnsmasq,最新2.8版本,修复了之前的漏洞,CentOS 7目前已经...
  • vagrant-dnsmasq 一个 Dnsmasq Vagrant 插件,用于管理主机系统上的 dnsmasq.conf 文件和 /etc/resolver 目录。 先决条件 在 Mac OS 下使用轻松安装 dnsmasq: brew install dnsmasq 安装 vagrant plugin install ...
  • 自动dnsmasq更新 自动dnsmasq更新 该脚本将自动更新pgl.yoyo.org的列表。 如果发现任何错误,请提交请求请求,以便我们进行整理。 确保您以root用户身份运行并已安装curl。 该脚本将安装一个cron以在每个星期一...
  • anti-AD引入支持AdGuardHome,dnsmasq,Surge,Pi-Hole,smartdns等网络组件。完全兼容的常见广告过滤工具所支持的各种广告过滤列表格式 使用anti-AD能够屏蔽广告域名,能屏蔽电视盒子广告,屏蔽app内置广告,同时...
  • dnsmasq-chinadns dnsmasq 的补丁版本,可以过滤掉一些可疑的 IP 安装 Linux / OS X git clone https://github.com/styx-hy/dnsmasq-chinadns.git cd dnsmasq-chinadns.git # Edit Makefile to change install ...
  • gfwlist2dnsmasq 介绍 只是另一个使用gfwlist自动生成dnsmasq ipset规则的脚本 通知:需要python2,请勿使用python3 GFWList由正则表达式组成,但是dnsmasq规则由域名组成。 因此,从GFWList到dnsmasq规则列表的...
  • gfwlist2dnsmasq 一个将gfwlist转换为dnsmasq规则的shell脚本。 在基于Linux(Debian / Ubuntu / Cent OS / OpenWrt / LEDE / Cygwin / Bash Windows / etc。)和基于BSD(FreeBSD / Mac OS X / etc。)的系统上均...
  • dnsmasq-adblock 华硕路由器文件 adguard-dnsmasq2.conf 该文件是来自adguard的dnsmasq的adblock 你的年龄 `ssh ' 和cd /jffs/configs/dnsmasq.d admin@RT-AX86U-B368:/jffs/configs/dnsmasq.d# wget ...
  • DNSmasq

    千次阅读 2020-01-12 21:19:05
    DNSmasq 代码分析 代码流程分析 遇到的知识点 od shell命令 /dev/urandom 实现引导时启动 setjump & longjump jump_buf SLAAC getopt & getopt_long 函数 DHCP服务器如何知道 DNS server and route 6.4节 ...

    DNSmasq 代码分析

    代码流程分析

    遇到的知识点

    1. od shell命令
    2. /dev/urandom
    3. 实现引导时启动
    4. setjump & longjump jump_buf
    5. SLAAC
    6. getopt & getopt_long 函数
    7. DHCP服务器如何知道 DNS server and route 6.4节
    8. ACD技术
    9. PXE(Preboot Execution Enviroment)预启动执行环境
    10. strtok 函数
    11. uname函数
    12. 实现read write时的注意
    13. 关闭文件描述符的注意
    14. 判断linux版本 (ipset.c line 88 ipset_init 函数)
    15. [AF_NETLINK & IPPROTO_RAW 选项](# 15-> AF_NETLINK & IPPROTO_RAW 选项)
    16. readv & writev(聚合读、散布写)
    17. [SO_BINDTODEVICE socket选项](# 17-> SO_BINDTODEVICE 选项)
    18. inotify 函数
    19. [if_nametodeix 函数](# 19-> if_nametoindex & if_indextoname)
    20. [getpwnam 函数](# 20-> getpwnam函数)
    21. [设置文件描述符 NONBLOCK](# 21-> 设置文件描述符 NONBLOCK)
    22. safe_pip & safe_malloc & wine_malloc Code(详细见dnsmasq源码)
    23. [chown & fchown & lchown 函数](# 23-> chown & fchown & lchown 函数)
    24. difftime 函数

    遇到知识点解答

    15-> AF_NETLINK & IPPROTO_RAW 选项

    IPPROTO_RAW

    对于socket(AF_INET, SOCK_RAW, IPPROTO_IP),其原型为
    int socket (int domain, int type, int protocol);
    1 参数protocol用来指明所要接收的协议包,如果是象IPPROTO_TCP(6)这种非0、非255的协议,当操作系统内核碰到ip头中protocol域和创建socket所使用参数protocol相同的IP包,就会交给这个raw socket来处理,因此,一般来说,要想接收什么样的数据包,就应该在参数protocol里来指定相应的协议。当内核向此raw socket交付数据包的时候,是包括整个IP头的,并且已经是重组好的IP包。
    2 如果protocol是IPPROTO_RAW(255),这时候,这个socket只能用来发送IP包,而不能接收任何的数据。发送的数据需要自己填充IP包头,并且自己计算校验和。
    3 对于protocol为0(IPPROTO_IP)的raw socket。用于接收任何的IP数据包。其中的校验和和协议分析由程序自己完成。

    AF_NETLINK

    netlink 凭借其标准的 socket API、模块化实现、异步通信机制、多播机制等等多种优势,成为了内核与越来越多应用程序之间交互的主要方式。在 Linux 的内核中,已经为我们封装了使用 netlink 对特定网络状态变化进行消息通知的功能,这就是著名的 rtnetlink。详细介绍参考IBM学习

    17-> SO_BINDTODEVICE 选项

    指定套接字数据收发从哪一个设备。

    SO_BINDTODEVICE
    Bind this socket to a particular device like “eth0”, as specified in the passed interface name. If the
    name is an empty string or the option length is zero, the socket device binding is removed.
    ———— In man 7 socket

    19-> if_nametoindex & if_indextoname

    The if_nametoindex() function returns the index of the network interface corresponding to the name ifname.
    The if_indextoname() function returns the name of the network interface corresponding to the interface index ifindex. The name is placed in the buffer pointed to by ifname. The buffer must allow for the storage of at least IF_NAMESIZE bytes.

    ​ ———— In man page

    20-> getpwnam函数

    The getpwnam() function returns a pointer to a structure containing the broken-out fields of the record in the password database (e.g., the local password file /etc/passwd, NIS, and LDAP) that matches the username name.

    The getpwuid() function returns a pointer to a structure containing the broken-out fields of the record in the password database that matches the user ID uid.

    ​ ————[nam page]

    21-> 设置文件描述符 NONBLOCK

    /* set NONBLOCK bit on fd: See Stevens 16.6 */
    int fix_fd(int fd)
    {
      int flags;
    
      if ((flags = fcntl(fd, F_GETFL)) == -1 ||
          fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1)
        return 0;
      
      return 1;
    }
    

    23-> chown & fchown & lchown 函数

    • chown() changes the ownership of the file specified by pathname, which is dereferenced if it is a symbolic link.
    • fchown() changes the ownership of the file referred to by the open file descriptor fd.
    • lchown() is like chown(), but does not dereference symbolic links
    展开全文
  • dnsmasq,dhcp dns源码

    2017-08-24 16:18:16
    dnsmasq,dhcp dns源码
  • ansible-dnsmasq:在类似Debian的系统中设置Dnsmasq的角色
  • 带有 dnsmasq 的 Docker 镜像 > docker run -d --priviliged dnsmasq bcdfe8c3fcf > echo "address=/example.local/172.17.0.154" | docker exec -i bcdfe8c3fcf /root/reload.sh
  • Docker上的dnsmasq 该映像旨在在动态创建的Docker容器之间提供可解析的完全限定域名。 它建立在SequenceIQ的映像上。 有关更多信息,请阅读以下。
  • 这是我在MacOS Catalina上运行的使用dnsmasq,Docker和Traefik的轻量级本地开发环境。 目标 支持具有API相互依赖性的多个Docker服务的本地开发 能够使用Mac主机上的* .test域名 能够在Docker容器中使用相同的域名 ...
  • docker-dnsmasq docker搭建dnsmasq服务脚本
  • 基于DNSmasq的开源轻量级DNS解析,DHCP地址分配的开源系统 设计 【Python运维圈】微信公众号 也可以微信搜索Python运维圈 技术交流QQ群 459457262 加群时请注明来自Github 一,应用说明 本系统可同时提供DNS解析功能...
  • 安装openstack,很多人在下载dnsmasq-2.65-1.el6.rfx.x86_64.rpm的时候出错,因此我们可以手动下载,再进行安装,安装指令:rpm -Uvh dnsmasq-2.65-1.el6.rfx.x86_64.rpm
  • alpine-router:使用iptables和dnsmasq的基于linux的高山路由器
  • dnsmasq

    2020-04-10 11:48:36
    1. apt-get install dnsmasq 2. vim /etc/dnsmasq.conf 用于修改配置文件内容: a.(很重要!)listen-address改为本机IP地址以及127.0.0.1这样的信息,如listen-address=10.10.74.4, 127.0.0.1 b. addn-hosts改为...
    一、配置:
    1. apt-get install dnsmasq
    2. vim /etc/dnsmasq.conf  用于修改配置文件内容:
    a.listen-address改为本机IP地址以及127.0.0.1这样的信息,如listen-address=10.10.74.4, 127.0.0.1
    b. addn-hosts改为设置hosts的文件, addn-hosts=/etc/dnsmasq.hosts
    c. 去掉resolv-file的#号,功能为配置上行DNS。这边配置的为resolv-file=/etc/resolv.dnsmasq.conf。 文件内信息,如: nameserver 8.8.8.8
    d. 去掉strict-order的# 号,功能为严格按照resolv-file中顺序执行
    e. 注释掉 no-hosts
    
    二、修改要hosts重定向的信息。具体路径查看dnsmasq.conf文件中addn-hosts地址。
    其中为:/etc/dnsmasq.hosts
    
    三、修改完后需要重启dnsmasq进程
    安装结束后,dnsmasq可执行程序路径为/usr/sbin/dnsmasq
    可以使用 /usr/sbin/dnsmasq start
    /usr/sbin/dnsmasq stop
    /usr/sbin.dnsmasq restart
    去启动、停止、重启 dnsmasq服务
    
    # cat /etc/dnsmasq.conf|grep -E "^[^#]"                                                                                                           
    
    address=/izuiyou.com/192.168.209.80
    listen-address=192.168.233.2,192.168.209.80,0.0.0.0,127.0.0.1
    addn-hosts=/etc/dnsmasq_add_hosts
    conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig
    
    展开全文
  • Pi-hole的dnsmasq配置文件 此回购包含 Dnsmasq配置文件可停止跟踪和发布,尤其是在移动应用程序上 来自 ,格式为 。
  • dnsmasq Dnsmasq的Docker映像
  • dnsmasq-2.85.tar.xz

    2021-11-02 15:15:21
    dnsmasq-2.85.tar.xz dnsmasq-2.85.tar.xz dnsmasq-2.85.tar.xz
  • dnsmasq.tar.gz-2.75

    2016-12-29 20:53:45
    dnsmasq源码
  • 这个 repo 包含文件 + dnsmasq 配置,可用于通过其内置的 tftp 客户端网络引导 OSX 系统。 我尝试使用此功能从网络启动带有完全混乱的 EFI 分区的 MacbookPro,因为错误的分区会在加载时使固件崩溃。 您将需要使用...
  • Dnsmasq

    2021-06-08 14:52:55
    Dnsmasq 软件 dnsmasq 2.76 此程序可提供DNS、DHCP、TFTP服务 安装 yum install dnsmasq -y 配置文件 /etc/dnsmasq.conf(主程序配置文件,DNS部分) #port=5353 # 默认启用服务,端口53;改为0,禁用DNS ...

    Dnsmasq

    软件

    dnsmasq 2.76

    此程序可提供DNS、DHCP、TFTP服务

    安装

    yum install dnsmasq -y

    配置文件

    /etc/dnsmasq.conf(主程序配置文件,DNS部分)

    #port=5353							# 默认启用服务,端口53;改为0,禁用DNS
    resolv-file=/etc/resolv.conf.dnsmasq # 定义上级dns服务器(自定义文件),默认为/etc/resolv.conf
    strict-order						# 表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。
    no-hosts							# 不读取/etc/hosts文件
    addn-hosts=/etc/hosts.dnsmasq		# 内网服务器域名-IP解析文件(自定义文件)
    listen-address=127.0.0.1,172.16.1.100 # 默认不启用监听本机所有地址,启用监听地址127.0.0.1给本机使用,监听地址172.16.1.100对外提供服务
    server=/google.com/223.5.5.5		# 为指定域名使用特定DNS服务器
    #address=/www.dns.com/172.16.1.102	# 指定域名解析到特定IP地址
    cache-size=150						# DNS缓存150条
    log-queries							# 设置dns日志记录
    log-facility=/var/log/dnsmasq.log 	# 设置日志路径
    log-async=50						# 异步log,缓解阻塞,提高性能。默认为5,最大100。
    #user=								# 默认nobody
    #group=								# 默认nobody
    

    /etc/resolv.conf.dnsmasq(上级DNS服务器文件)

    nameserver 114.114.114.114
    nameserver 8.8.8.8
    

    /etc/hosts.dnsmasq(添加局域网内ip-域名映射,不支持泛域名)

    # 格式:ip 域名
    172.16.1.11  www.test1.cn
    172.16.1.12  www.test2.cn
    

    /etc/dnsmasq.d/address.conf(指定解析域名到特定IP,DNS劫持,支持泛域名)

    # 格式: address=/domain/ip_address
    address=/www.google.com/127.0.0.1
    address=/baidu.com/172.16.1.1
    

    /etc/resolv.conf(本机使用dnsmasq解析)

    nameserver 127.0.0.1
    

    tips

    每次修改文件必须重启dnsmasq服务才能生效,防火墙开放tcp/udp53端口。

    命令

    dnsmasq --test						# 检查所有配置文件语法是否正确
    systemctl start|stop|enable dnsmasq	# 启动|停止|开机自启dnsmasq
    ss -tunlp | grep 53					# 查看端口号(53)
    dig|nslookup www.test.cn	    	# 用dig或nslookup测试DNS能否解析到IP地址
    
    展开全文
  • dnsmasq与cloudflare-doh和chinalist 用于使用DoH和China Domain List构建dnsmasq容器的dockerfile。 用法 mkdir docker-chinalist-dns && cd docker-chinalist-dns git clone ...
  • dnsmasq-stubby 使用dnsmasq和Stubby的TLS上的DNS

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,592
精华内容 4,636
关键字:

dnsmasq