美文网首页
ubuntu20.04上安装dnsmasq服务及dns缓存配置

ubuntu20.04上安装dnsmasq服务及dns缓存配置

作者: 流浪的企鹅 | 来源:发表于2022-01-29 15:26 被阅读0次

    1. 禁用系统自带的dns服务

    sudo systemctl stop systemd-resolved
    sudo systemctl disable --now systemd-resolved
    #备份/etc/resolv.conf
    mkdir -p ~/bak
    sudo mv /etc/resolv.conf  ~/bak/etc-resolv.conf
    

    2. 安装dnsmasq服务

    sudo apt install dnsmasq -y
    #查看启动状态
    sudo systemctl status dnsmasq
    

    3. 配置/etc/dnsmasq.conf和/etc/resolv.conf

    #1.备份dnsmasq.conf
    sudo cp /etc/dnsmasq.conf ~/bak/etc-dnsmasq.conf
    #2.sed 或vim 编辑配置文件
    sudo sed -i 's/#server=\/localnet\/192.168.0.1/#server=\/localnet\/192.168.0.1\nserver=\/google.com\/223.5.5.5/g' /etc/dnsmasq.conf
    sudo sed -i 's/#server=\/localnet\/192.168.0.1/#server=\/localnet\/192.168.0.1\nserver=\/cn\/114.114.114.114/g' /etc/dnsmasq.conf
    sudo sed -i 's/#server=\/localnet\/192.168.0.1/#server=\/localnet\/192.168.0.1\nserver=\/qq.com\/119.29.29.29/g' /etc/dnsmasq.conf
    sudo sed -i 's/#server=\/localnet\/192.168.0.1/#server=\/localnet\/192.168.0.1\nserver=/baidu.com/180.76.76.76/g' /etc/dnsmasq.conf
    sudo sed -i 's/#server=\/localnet\/192.168.0.1/#server=\/localnet\/192.168.0.1\nserver=/taobaocdn.com/223.5.5.5/g' /etc/dnsmasq.conf
    sudo sed -i 's/#server=\/localnet\/192.168.0.1/#server=\/localnet\/192.168.0.1\nserver=/taobao.com/223.5.5.5/g' /etc/dnsmasq.conf
    sudo sed -i 's/#server=\/localnet\/192.168.0.1/#server=\/localnet\/192.168.0.1\nserver=/aliyun.com/223.5.5.5/g' /etc/dnsmasq.conf
    #设置cache-size
    sudo sed -i 's/#cache-size=150/#cache-size=150\ncache-size=1500/g' /etc/dnsmasq.conf
    sudo sed -i "s/#resolv-file=\/etc/resolv-file=\/etc/g" /etc/dnsmasq.conf
    #3.测试配置
    dnsmasq --test
    #4.重启服务
    sudo systemctl restart dnsmasq
    #5.配置/etc/resolv.dnsmasq.conf
    sudo sed -i '1a\nameserver 8.8.8.8' /etc/resolv.dnsmasq.conf
    sudo sed -i '1a\nameserver 114.114.114.114' /etc/resolv.dnsmasq.conf
    
    

    4.设置本机dns

    将本机dns设置为127.0.0.1 , 即可使用dnsmasq服务提供的dns缓存。

    5.应用

    5.1 屏蔽网页广告

    将指广告的URL指定127这个IP,就可以将网页上讨厌的广告给去掉了。

    address=/ad.youku.com/127.0.0.1
    address=/ad.iqiyi.com/127.0.0.1
    

    5.2 指定域名解析到特定的IP上

    可以让你控制一些网站的访问,非法的DNS就经常把一些正规的网站解析到不正确IP上。

    address=/test.com/123.123.123.123
    

    5.3 管理控制内网DNS

    首先将局域网中的所有的设备的本地DNS设置为已经安装Dnsmasq的服务器IP地址。然后修改已经安装Dnsmasq的服务器Hosts文件:/etc/hosts,指定域名到特定的IP中。

    附录:

    1. dnsmasq常用配置项

    具体参数 参数说明
    resolv-file 定义dnsmasq从哪里获取上游DNS服务器的地址, 默认从/etc/resolv.conf获取。
    strict-order 表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。
    listen-address 定义dnsmasq监听的地址,默认是监控本机的所有网卡上. 如:listen-address=127.0.0.1,192.168.x.x
    address 启用泛域名解析,即自定义解析a记录,例如:address=/long.com/192.168.115.10 访问long.com时的所有域名都会被解析成192.168.115.10
    bogus-nxdomain 对于任何被解析到此 IP 的域名,将响应 NXDOMAIN 使其解析失效,可以多次指定通常用于对于访问不存在的域名,禁止其跳转到运营商的广告站点
    server 指定使用哪个DNS服务器进行解析,对于不同的网站可以使用不同的域名对应解析。
    cache-size 制定dns缓存大小, 如cache-size=1500

    2. 常用dns

    腾讯 119.29.29.29
    百度 180.76.76.76
    阿里:223.5.5.5 / 223.6.6.6
    114:114.114.114.114
    Google:8.8.8.8/ 8.8.4.4 ipv6: 2001:4860:4860::8888 / 2001:4860:4860::8844
    北京dns:202.96.199.133 / 202.96.0.133 / 202.106.0.20 / 202.106.148.1 / 202.97.16.195 / 202.138.96.2

    3.常用的dnsmasq.conf配置

    server=/aliyun.com/223.5.5.5
    server=/taobao.com/223.5.5.5
    server=/baidu.com/180.76.76.76
    server=/qq.com/119.29.29.29
    server=/cn/114.114.114.114
    server=/google.com/223.5.5.5
    cache-size=1500
    

    相关文章

      网友评论

          本文标题:ubuntu20.04上安装dnsmasq服务及dns缓存配置

          本文链接:https://www.haomeiwen.com/subject/gjnxkrtx.html