使用DDNS搭建Wireguard服务器的一个小问题

  • 遇到的问题
  • 解决方案
    • 批处理脚本代码

最近使用家里闲置的树莓派搭建了一个Wireguard服务器。
家里电信宽带有动态公网IP,阿里云买个冷门域名也不需要多少钱,在树莓派上用python写个小脚本用来实现DDNS(网上攻略一大堆)。
搭建好服务器后在单位电脑和笔记本上还有家里电脑都装上Wireguard客户端,组建一个简单的VPN网络运行成功。实现不管在哪都能用笔记本远程控制单位和家里的电脑。

遇到的问题

因为用的动态域名搭建的服务器,家里的公网IP只要一变更,客户端就连不上了,必须得手动重启一下,虽然IP变更不是很频繁,但是也颇为麻烦。

解决方案

因为所有的Wireguard客户端用的都是Windows系统,想了一个比较方便的办法。
在所有客户端写一个批处理脚本比对阿里云上的域名解析地址和Wireguard中Endpoint地址,如果两个地址不一样就重启Wireguard Tunnel服务。实现自动重启Wireguard功能。
运行脚本后发现完美解决问题,只要把脚本加入开机启动让他自动运行就行了。

批处理脚本代码

@echo off
:start
for /f "skip=6 tokens=2" %%i in ('wg show wg0') do (
set tmp1=%%i
goto :next1
)
:next1
for /f "delims=:" %%i in ("%tmp1%") do (set ip1=%%i)
for /f "skip=45 tokens=2" %%i in ('aliyun alidns DescribeDomainRecords --DomainName aaa.com ') do (
set tmp2=%%i
goto next2
)
:next2
for /f delims^=^" %%i in ("%tmp2%") do (set ip2=%%i)
if %ip1% neq %ip2% (net stop "WireGuard Tunnel: wg0" && net start "WireGuard Tunnel: wg0")
timeout /T 10 /NOBREAK
goto start

脚本中用的aliyun命令行控制台直接在阿里云官网下,主要用来获取域名解析信息,因为会获取到很多不需要的东西,所以需要处理提取一下。
wg0网卡换成客户端相应的网卡名称就行。

使用DDNS搭建Wireguard服务器的一个小问题相关推荐

  1. 服务器图片显示小方块,高手帮忙了!!验证码跟着敲好之后 服务器打开一个小方块里面空的!在线等!!!...

    require_once 'string.func.php'; //通过GD库做验证码 //创建画布 $width=80; $height=28; $image=imagecreatetruecolo ...

  2. 流放者柯南自建服务器 linux,流放者柯南搭建个人服务器搭建教程 个人服务器怎么搭建-游侠网...

    流放者柯南中想必现在很多入手的玩家都不清楚怎么来搭建个人服务器吧,小编现在就为大家带来个人服务器搭建教程,感兴趣的玩家赶紧来看看吧! 搭建个人服务器教程(Windows) 1. 下载STEAMCMD ...

  3. 搭建web服务器需要哪些步骤?

    首先跟大家简单普及一下什么是web服务器? Web服务器也称为WWW(WORLD WIDE WEB)服务器,一般指网站服务器,是指驻留于因特网上某种类型计算机的程序.WEB服务器主要功能是提供网上信息 ...

  4. Ubuntu搭建kms服务器

    Key Management Service(简称:KMS),这个功能是在Windows Vista之后的产品中的一种新型产品激活机制.我们可以利用手里闲置的VPS安装vlmcsd来搭建KMS激活服务 ...

  5. 还在用内网穿透?手把手教你搭建pptp服务器

    前言 说到内网穿透,想必很多人都会想到花生壳.natapp等等穿透工具,优点就是简单方便,缺点就是有端口数量限制,不交钱的话,还限制带宽.限制协议等等 pptp能做什么? 1.连上pptp的主机都会有 ...

  6. caffe 搭建参数服务器(1)—— 用MPI实现多节点同时训练一个模型

    实现的训练过程的效果 因为主要目的是为了节点通讯,所以其他地方没改,下图是四个节点训练过程 1. 目的 使用OpenMPI进行节点间的通讯,搭建参数服务器,实现4节点同时训练一个模型 2. 思路 采用 ...

  7. node.js 微信小程序 部署服务器_微信小程序开发入门(一),Nodejs搭建本地服务器...

    1.  如何模拟真实环境中,读取服务端数据,首先需要使用Nodejs搭建一个本地服务器的环境. 在搭建web服务器之前,需要先安装node.js(安装版本最好为6.9.x) 安装后node.js,接下 ...

  8. vps建网站python_如何使用python搭建一个小网站 ?

    作为一名程序员,还是必须要会开发网站的,不然别人都会怀疑你是不是程序员了.今天,主要介绍一下如何使用python来搭建一个网站.可能有人会觉得搭建网站不都应该用java么?python的性能那么低.的 ...

  9. Node.js搭建本地HTTP服务器(微信小程序)

    Node.js搭建本地HTTP服务器(微信小程序) Node.js简易搭建本地HTTP服务器 1. 首先关闭微信开发者工具中的验证 单击工具栏中的详情按钮,选中图中所示选项即可. 2. 将Node.j ...

最新文章

  1. php上传图片到非项目目录,前端页面的读取问题
  2. MYSQL和ORACLE时区设置比较
  3. BOOST_VMD_ASSERT_IS_TYPE宏相关的测试程序
  4. 如何获取网站icon
  5. php 错误 异常,php中的异常和错误解析
  6. cocos2d-x Lua与OC互相调用
  7. POI处理超过65536条记录
  8. Android 系统性能优化(75)---MTK 平台perfomance问题的基本信息确认
  9. 小红书发布声明:已对站内内容启动全面排查、整改
  10. Report Service中报 RSClientController 未定义
  11. python自动化要学全部基础知识_FishC工作室《零基础学习python》全套课后题
  12. 螺纹螺母的直径和牙数备忘
  13. Busting Frame Busting
  14. 《创造成功本能》 博客思听 2011年2月
  15. 解决.bat文件打开是记事本的问题
  16. 哪里有纯免费的PPT模板下载网站?
  17. 高端配置台式计算机,高配置台式电脑清单 3款高性能主机推荐
  18. python爬虫脚本获取网易招聘某个职业的全部数据信息
  19. 一个服务器可以放几个小程序,一个服务器可以放几个小程序
  20. 7-3 小字辈 (25分)

热门文章

  1. 百度地图不能显示图层的解决办法
  2. 《Python 深度学习》6.3 循环神经网络的高级用法 (代码)
  3. 李沐-->卷积神经网络
  4. 司马懿PPT学校免费课程合集(免费赠送)
  5. SMSSDK短信验证
  6. 青龙脚本--快手极速版解密6w版
  7. unity3d著名项目-Dark Tree翻译
  8. matlab指数积分函数,如何使用matlab拟合指数分布函数?
  9. Intel 82801H(ICH8) HD Audio Controller 的驱动问题
  10. 2021年保育员(中级)考试题库及保育员(中级)考试资料