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,一经查实,立即删除!

相关文章

【网络安全】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…

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

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

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基本操作(二) 一、字符串类型 二、日期类型 三、

基于分步傅立叶数值算法的一维非线性薛定谔方程求解matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于分步傅立叶数值算法的一维非线性薛定谔方程求解matlab仿真. 2.测试软件版本以及运行结果展示 MATLAB2022A版本运行 3.核心程序 ........................…

今天,组长和研发总监吵起来了 ...

插&#xff1a; AI时代&#xff0c;程序员或多或少要了解些人工智能&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家(前言 – 人工智能教程 ) 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家…

下载HF AutoTrain 模型的配置文件

下载HF AutoTrain 模型的配置文件 一.在huggingface上创建AutoTrain项目二.通过HF用户名和autotrain项目名,拼接以下url,下载模型列表(json格式)到指定目录三.解析上面的json文件、去重、批量下载模型配置文件(权重以外的文件) 一.在huggingface上创建AutoTrain项目 二.通过HF用…

Flutter中如何让Android的手势导航栏完全透明?

Flutter 开发中 安卓机器都有 像ios 的手势操作栏&#xff0c; 也就是屏幕底下的 那条线。 但这条线默认是有颜色的 &#xff08;像下面这样&#xff09; 一、全屏幕方式 void main() {// 全屏沉浸式SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []…

Vxe UI vxe-upload 上传组件,显示进度条的方法

vxe-upload 上传组件 查看官网 https://vxeui.com 显示进度条很简单&#xff0c;需要后台支持进度就可以了&#xff0c;后台实现逻辑具体可以百度&#xff0c;这里只介绍前端逻辑。 上传附件 相关参数说明&#xff0c;具体可以看文档&#xff1a; multiple 是否允许多选 li…