正文共:777 字 11 图,预估阅读时间:1 分钟
我们现在已经熟练的掌握了openVPN的部署方式和配置方法(带认证的openVPN连接/断开操作指南),还掌握了在CentOS系统部署SmartDNS的方法(基于CentOS部署SmartDNS)。在某些场景下,我们可能需要使用openVPN服务器来作为DNS服务器进行地址解析,那是不是可以组合一下呢?
首先,还是端口的问题。一般情况下,运营商默认封禁一些知名端口(家庭宽带的公网IPv4地址到底封了多少端口?),其中就包括DNS(Domain Name System,域名系统)服务使用的UDP端口53。正常来讲,如果需要使用53端口,都需要向网络运营商提供信息进行报备,之后开通使用。
但是,我们现在不是用的openVPN吗?连接建立之后,理论上我们跟服务器的通信就是内网了,就没有广域网封控的限制了。理论如此,实际呢?我们来测试一下。
跟上次一样,我们登录云主机之后,先下载SmartDNS配套的安装包。
wget https://github.com/pymumu/smartdns/releases/download/Release40/smartdns.1.2023.01.02-1537.x86_64-linux-all.tar.gz
然后解压文件,并切换到smartdns目录下,执行安装命令。
tar zxf smartdns.1.2023.01.02-1537.x86_64-linux-all.tar.gz
cd smartdns
./install -i
接下来,我们修改SmartDNS的配置文件/etc/smartdns/smartdns.conf,主要是指定IPv4的监听端口、配置配置SmartDNS的上游服务器信息。
然后我们启动SmartDNS服务,并使能开启自启。
systemctl enable smartdns
systemctl start smartdns
查看服务端口的启动状态。
这里简单说明一下,虽然我们使用的是UDP协议,并且IPv4仅支持UDP协议(基于TCP的DNS传输:操作要求、基于TCP的DNS传输:实施要求),但是我们启用了IPv6的TCP监听,这样我们就能比较方便地看到SmartDNS服务是否正常了。
最后,我们还需要修改一下openVPN服务器的配置文件,向客户端推送一条地址为openVPN网关的DNS。
重新加载并启动openVPN服务。
通过客户端连接openVPN服务器,连接成功之后,查看客户端的网络连接状态。
我们可以看到,客户端已经获取到了下发的配置,并且成功将DNS服务器设置为了网关。然后我们执行命令测试一下,看DNS解析是否生效。
nslookup -querytype=ptr smartdns
可以看到,解析的值为smartVPN,这是我们设置的服务器的名称,表示配置生效。
最后,我们测试一下地址解析情况。
解析是正常的,就是时延比较糟糕。
查看解析日志,解析都是正常的,未出现报错信息。
这种openVPN和SmartDNS的组合体,你说是叫openDNS好呢?还是叫smartVPN好一些呢?
长按二维码
关注我们吧
带认证的openVPN连接/断开操作指南
配置openVPN使用用户名密码认证
基于CentOS部署SmartDNS
使用Python批量处理Excel的内容
如何使用Python提取Excel中固定单元格的内容
解决openVPN的递归路问题还是要从服务器端下手
在SD-WAN网络中应用OpenVPN,chatGPT是这样想的
配置优化:将openVPN的配置文件合4为1
通过Nginx做一个openVPN配置文件下载页面
openAI告诉我要这样运营公众号
听说kaili可以破解WiFi密码,装一个试试!
MSR810-LM快速配置通过LTE模块上网