openVPN+SmartDNS=openDNS or smartVPN?

fa5dec83d78fb04bd589ad8dfc7ba7e5.gif

正文共: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

2b0fc54495e96b1404c408e66e2db41e.png

然后解压文件,并切换到smartdns目录下,执行安装命令。

tar zxf smartdns.1.2023.01.02-1537.x86_64-linux-all.tar.gz
cd smartdns
./install -i

7d9005cd7a045070d416def64289e0ca.png

接下来,我们修改SmartDNS的配置文件/etc/smartdns/smartdns.conf,主要是指定IPv4的监听端口、配置配置SmartDNS的上游服务器信息。

1f350b8da984e271d680f42acb8c2514.png

然后我们启动SmartDNS服务,并使能开启自启。

systemctl enable smartdns
systemctl start smartdns

6756eba2d8ba60d86cae5a494746fd94.png

查看服务端口的启动状态。

69c1b4911b916a2580bfa71086068a43.png

这里简单说明一下,虽然我们使用的是UDP协议,并且IPv4仅支持UDP协议基于TCP的DNS传输:操作要求基于TCP的DNS传输:实施要求,但是我们启用了IPv6的TCP监听,这样我们就能比较方便地看到SmartDNS服务是否正常了。

最后,我们还需要修改一下openVPN服务器的配置文件,向客户端推送一条地址为openVPN网关的DNS。

212549470d6cb3797b652bb13633f02f.png

重新加载并启动openVPN服务。

0da453db9717b1ba5a16723f585cbecf.png

通过客户端连接openVPN服务器,连接成功之后,查看客户端的网络连接状态。

c664cbbbcdb204f3b054837b3a5f93e6.png

我们可以看到,客户端已经获取到了下发的配置,并且成功将DNS服务器设置为了网关。然后我们执行命令测试一下,看DNS解析是否生效。

nslookup -querytype=ptr smartdns

84dc676aeed4d2670f3c4db5870aa413.png

可以看到,解析的值为smartVPN,这是我们设置的服务器的名称,表示配置生效。

最后,我们测试一下地址解析情况。

b02aa160598ce71f22bceb8b9d42ecf1.png

解析是正常的,就是时延比较糟糕。

d3a5b4f87c3c979e5ef5e1661dfda495.png

查看解析日志,解析都是正常的,未出现报错信息。

这种openVPN和SmartDNS的组合体,你说是叫openDNS好呢?还是叫smartVPN好一些呢?

bf25f260cadb63e17a2cf73c67ce632d.gif

长按二维码
关注我们吧

e08828c6c5be10cb3733b264bd3b78ff.jpeg

451feaa08c3542d1370a5b3b76a3d51c.png

带认证的openVPN连接/断开操作指南

配置openVPN使用用户名密码认证

基于CentOS部署SmartDNS

使用Python批量处理Excel的内容

如何使用Python提取Excel中固定单元格的内容

解决openVPN的递归路问题还是要从服务器端下手

在SD-WAN网络中应用OpenVPN,chatGPT是这样想的

配置优化:将openVPN的配置文件合4为1

通过Nginx做一个openVPN配置文件下载页面

openAI告诉我要这样运营公众号

听说kaili可以破解WiFi密码,装一个试试!

MSR810-LM快速配置通过LTE模块上网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/20528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

查看电脑品牌

查看电脑品牌是了解电脑基本信息的重要步骤,尤其在需要技术支持或升级硬件时,知道电脑的品牌极为关键。下面将详细介绍几种不同的方法来查看电脑品牌: 通过DirectX诊断工具查看品牌型号:使用快捷键WinR打开运行窗口,输…

如何使用 Apache 和 Nginx 创建临时和永久重定向

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 HTTP 重定向,或者 URL 重定向,是一种将一个域名或地址指向另一个的技术。重定向有许多用途,也有几种不同的重定向方式需要考虑。当一个站点需要将请求一个地址…

【网络安全】Web安全基础 - 第二节:前置基础知识- HTTP协议,握手协议,Cookie及Session

本章节主要介绍一些基础知识 d(^_^o) HTTP协议 什么是HTTP 超文本传输协议(HyperText Transfer Protocol)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 HTTP是一个基于请求与响应,无状态的,应用层协议,…

100.网络游戏逆向分析与漏洞攻防-ui界面的设计-聊天功能的界面与设计

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果 现在的代码都是依据数据包来写的,如果看不懂代码,就说明没看懂数据包…

Git常用命令1

1、设置用户签名 ①基本语法: git config --global user.name 用户名 git config --global user.email 邮箱 ②实际操作 ③查询是否设置成功 cat ~/.gitconfig 注:签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交…

MulterError: Field name missing 报错解决

Request POST /FileUpload/chunkApi/upload/mProjectNews/Images failed with status code 500. MulterError: Field name missing. 原因:Multer是基于Busboy解析的表单参数信息,经定位发现是解析表单中文本参数时出现了null,故收到MISSION_…

【算法】模拟算法——数青蛙(medium)

题解:模拟算法——数青蛙(medium) 目录 1.题目2.题解3.参考代码4.总结 1.题目 题目链接:LINK 2.题解 用循环进行遍历, 如果该字符为o\o\a\k 找一下前驱字符是否存在 如果存在,前驱字符–,该字符如果不存在&#x…

CATIA二次开发VBA入门(4)——进程外开发环境搭建,vb.net在Visual Studio中开发,创建圆柱曲面的宏录制到二次开发案例

目录 引出vb.net和vb6.0 进程外开发环境搭建vb.net开发环境搭建《CATIA二次开发技术基础》模板 添加宏库引用 vs开发环境初步vs中的立即窗口对象浏览器 建立模板案例:创建一堆圆柱曲面第一步:录制宏第二步:代码精简第三步:for循环…

⌈ 传知代码 ⌋ 命名实体识别

💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

python | awswrangler,一个高效的 Python 库!

本文来源公众号“python”,仅用于学术分享,侵权删,干货满满。 原文链接:awswrangler,一个高效的 Python 库! 大家好,今天为大家分享一个高效的 Python 库 - awswrangler。 Github地址&#x…

提升B端图表设计技能:教程分享

图表是数据可视化的常用表现形式,是对数据的二次加工,可以帮助我们理解数据、洞悉数据背后的真相,让我们更好地适应这个数据驱动的世界。本期就来带大家学习图表的设计及构成,帮助大家更好的理解图表设计。 设计教程源文件http:/…

STM32 | 超声波写倒车雷达小系统

01、知识回顾 STM32 | HC-SR04 超声波测距模块 | DHT11数字温湿度传感器(第七天)STM32 | 数字温湿度传感器DHT11STM32 | HC-SR04 超声波测距模块STM32 | DHT11数字温湿度传感器实战STM32 | 超声波实战STM32 | 方式1:手机发送指令,开发板向手机发送温湿度;方式2:手机发送指令…

OpenAI已全面开放自定义GPT以及文件上传等功能

今天,OpenAI兑现了前段时间做出的承诺:免费向所有用户开放GPT-4o。这意味着所有的免费用户都能使用自定义GPT模型、分析图表等其他GPT-4o新功能了。现在ChatGPT界面长这样: 可以看出,免费用户也能使用GPT store中定义好的模型&…

Python开发与应用实验1 | 开发环境安装配置

*本文来自博主对专业课 Python开发与应用 实验部分的整理与解析。 *一些题目可能会增加了拓展部分(⭐)。拓展部分不是实验报告中原有的内容,而是博主本人的补充,以便各位学习参考。 *实验环境为:Python 3.10 &#xf…

java实现地形dem产汇流流场数据提取解析

一、基础概念 在GIS和气象学、海洋学、大气科学、水文学等领域,"提取流场"通常指的是从数据集中识别和分析流体(如水流、风场、洋流、大气流)的运动模式和流向的过程。这个过程涉及数据处理、可视化和分析技术,下面是提…

Wpf 使用 Prism 实战开发Day31

登录数据绑定 1.首先在LoginViewModel 登录逻辑处理类中&#xff0c;创建登录要绑定属性和命令 public class LoginViewModel : BindableBase, IDialogAware {public LoginViewModel(){ExecuteCommand new DelegateCommand<string>(Execure);}public string Title { ge…

vue-标签选择

效果 选中后 代码 <span :class"[item.bealtrue?p_yx_span span_active :span p_yx]" click"onTagSelect(index)" v-for"(item,index) in tagList" :key"index" >{{item.name}} </span> // 列表值 tagList:[ {id: 1, na…

R语言ggplot2包绘制世界地图

数据和代码获取&#xff1a;请查看主页个人信息&#xff01;&#xff01;&#xff01; 1. 数据读取与处理 首先&#xff0c;从CSV文件中读取数据&#xff0c;并计算各国每日收入的平均签证成本。 library(tidyverse) ​ df <- read_csv("df.csv") %>% group_…

PostgreSQL基础(六):PostgreSQL基本操作(二)

文章目录 PostgreSQL基本操作(二) 一、字符串类型 二、日期类型 三、

Qt中使用继承时信号槽定义原则

在Qt代码中&#xff0c;当使用继承来创建新的类时&#xff0c;信号与槽的使用需要注意以下几点&#xff1a; 父类的信号与槽&#xff1a;当一个类继承自另一个类时&#xff0c;它继承了父类的所有信号与槽。可以通过connect函数将父类的信号连接到对应的槽函数上。 新类的信号…