OPNsense是基于FreeBSD的开源防火墙和路由安全软件,使用Unbound来提供DNS解析功能。通过配置Unbound DNS,可以对所有DNS查询进行加密,提高网络访问的隐私和安全性。
通常情况下,使用纯文本路由的所有DNS查询,运营商可以监控查询过程。DNS over TLS(DoT)是使用TLS协议对DNS流量进行加密的安全协议,可以提高DNS查询安全性和隐私性。使用DoT的优点:
- 避免DNS挟持。
- 摆脱中间人攻击。
- 减少被监控。
首先,打开防火墙Web UI。导航到服务>Unbound DNS,其他选项:
右侧会看到DNS over TLS 服务器的选项。输入DoT的域名服务器。格式如下:ip地址@端口号
例如:9.9.9.9@853 ## IBM DNS Dot
1.1.1.1@853 ## Cloudflare DNS DoT
8.8.8.8@853 ## Google DNS Do
填写完成后如下图所示:
最后,重新启动“Unbound”服务。单击服务>Unbound DNS >常规菜单,确保选择“启用DNSSEC支持”,单击右上角的“重启服务”图标:
客户端设置
客户端DNS指定为防火墙的LAN网关地址,也可以在DHCP设置的DNS选项,把DNS设置为防火墙的LAN网关,让客户端通过DHCP自动分配IP。
验证DNS加密进入防火墙shell环境,输入:cat /var/unbound/etc/dot.conf
可以查看通过GUI添加的DoT配置文件:
server: tls-cert-bundle: /etc/ssl/cert.pem forward-zone: name: "." forward-tls-upstream: yes forward-addr: 1.1.1.1@853 forward-addr: 8.8.8.8@853 forward-addr: 9.9.9.9@853
也可以在OPNsense防火墙上执行DNS tcpdump:
tcpdump port 853
然后在客户端用ping命令查询域名,或打开浏览器浏览网页,来查看DNS的通信过程。