在OpenWrt上安装DNSCrypt

一、OpenWrt介绍

OpenWrt官网: https://openwrt.org
在OpenWrt上安装DNSCrypt
OpenWrt是一种适用于嵌入式设备的Linux发行版,是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VoIP设备中。同时,OpenWrt还提供了100多个已编译好的软件,且数量还在不断增加,OpenWrt SDK简化了开发相关软件的过程。

二、DNSCrypt介绍

DNSCrypt官网: https://www.dnscrypt.org
在OpenWrt上安装DNSCrypt
DNSCrypt是一种DNS客户端和DNS解析器之间的认证通信的协议。它可以防止DNS欺骗,它使用密码签名来验证来自选择的DNS解析器返回的原始响应,保证信息没有被篡改。DNSCrypt软件支持Linux、Mac OSX、Android、iOS、BSD和Windows等系统。
DNSCrypt不属于任何公司或组织,它是一个使用了高度安全的、非NIST加密的文档化协议,其参考实现是开源的,有一个非常宽松的许可证。
要注意,DNSCrypt并非VPN的替代品,因为它只是验证DNS流量,并不会预防“DNS泄露”等。

本文主要讲述怎样在OpenWrt路由器上安装和配置DNSCrypt。

步骤1:安装DNSCrypt

DNSCrypt源码不在opkg的默认列表中,因此需要先把源添加到opkg列表的最后 ‘/etc/opkg.conf’。

echo 'src/gz exopenwrt http://exopenwrt.roland.black/barrier_breaker/14.07/ar71xx/packages/exopenwrt' >> /etc/opkg.conf

然后接着进行安装:

opkg update
opkg install dnscrypt-proxy

验证安装:

### opkg status | grep -n "dnscrypt-proxy"
### Result ###
230:Package: dnscrypt-proxy
236: /etc/config/dnscrypt-proxy ff316755d745da9b15b7166b667ed108

步骤2:配置DNSCrypt

DNSCrypt的配置文件在/etc/config/dnscrypt-proxy,它比较简单,易于调整:

### nano /etc/config/dnscrypt-proxy
config dnscrypt-proxy
    option address '127.0.0.1'
    option port    '5353'
  # option resolver        'cisco'
  # option resolvers_list  '/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv'
  # option ephemeral_keys '1'

现在可以启动DNSCrypt,并设置自启动:

/etc/init.d/dnscrypt-proxy enable
/etc/init.d/dnscrypt-proxy start

如果路由器重启后dnscrypt-proxy没有启动,那么或许该尝试在网络接口完全启动前启动它。在/etc/rc.local文件的“exit 0”行上面添加:

sleep 10
/etc/init.d/dnscrypt-proxy start

接下来,编辑‘/etc/config/dhcp’配置:

config dnsmasq
    option domainneeded         1
    option boguspriv            1
    option filterwin2k          0
    option localise_queries     1
    option rebind_protection    1
    option rebind_localhost     1
    option local                '/lan/'
    option domain               'lan'
    option expandhosts          1
    option nonegcache           0
    option authoritative        1
    option readethers           1
    option leasefile            '/tmp/dhcp.leases'
#   option resolvfile           '/tmp/resolv.conf.auto'
    option noresolv             1
    list server                 '127.0.0.1#5353'
    list server                 '/pool.ntp.org/208.67.222.222'
#   list server                 '208.67.222.222'
#   list server                 '208.67.220.220'

重启dnsmasq,使之生效:

/etc/init.d/dnsmasq restart

至此,就成功完成了DNSCrypt的安装。

相关推荐