阿里云安装mikrotik7配置内网互通
阿里云近期推出了200M不限量机器,对于没有公网接入的中小企业可以借助这个机器对多地分支机构进行内网互通。目前已经有很多机构用这个搞跨云k8s,跨云集群了。
mikrotik作为一个商用的软件,操作性比一些开源的软件好用不少。
本文使用的网段为172.16.105.0/24,可根据需要进行修改
一、安装mikrotik
阿里云机器并没有mikrotik操作系统模板,我们可以通过dd命令的方式进行安装。阿里云机器基本上是virto网卡,本身mikrotik是有这个网卡驱动的,不用进行额外的操作
安装命令如下
先安装rockylinux 8.9 非UEFI版本
安全组 将22端口 设置成单个ip可访问,不要开放所有ipv4访问,
ssh登录后执行如下命令
# 下载
wget https://download.mikrotik.com/routeros/7.17/chr-7.17.img.zip# 解压
gunzip -c chr-7.17.img.zip > chr.img# 查看device start值 为34 65570可执行后续脚本,如果不是将后续 offset值替换为对应值*512
fdisk -lu chr.imgmkdir -p /mnt/chr_img1
mkdir -p /mnt/chr_img2# 挂载镜像并写入自定义脚本,修改阿里云内网IP地址,外网IP地址阿里云不写在Linux上,统一由路由转发,所以不要配置服务器公网IP
mount -o loop,offset=33571840 chr.img /mnt/chr_img2 && \
ADDRESS=`ip addr show eth0 | grep global | cut -d' ' -f 6 | head -n 1` && \
GATEWAY=`ip route list | grep default | cut -d' ' -f 3` && \
echo "/ip address add address=$ADDRESS interface=[/interface ethernet find where name=ether1]
/ip route add gateway=$GATEWAY
" > /mnt/chr_img2/rw/autorun.scr && \
umount /mnt/chr_img2# 立即重新挂载所有的文件系统为只读
echo u > /proc/sysrq-trigger# 用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换(注意上文提及的磁盘/dev/vda)
dd if=chr.img bs=1024 of=/dev/vda# 重启服务器
reboot# 等待服务器重启后用winbox连接服务器,注意阿里云是有防火墙的,需要防火墙添加8291端口才能访问成功,方法见阿里云防火墙添加端口博文
重启服务器完成后 安全组设置tcp 8291 开放单个ip访问
winbox下载:https://download.mikrotik.com/routeros/winbox/3.41/winbox64.exe
winbox 首次链接使用ip连接 ip使用服务器ip 用户名admin 密码默认为空,首次登录后修改密码
注意,设置完密码前,阿里云22 8291端口不要开启所有ipv4访问,否则容易被扫到让别人控制。
二、mikrotik安装wireguard
winbox菜单-->wireguard-->+-->Apply-->OK
复制其中的publickey 后续使用 我这里是QpNfpW60t+TZlYYgqF+C3BZdloF0xH/kcAVzVXi+4F4=
配置wireguard网段
winbox菜单-->ip-->Address ->+ 填入如下信息 这里配置的是172.16.105.0/24网段
Address 172.16.105.1/24
Network 172.16.105.0
Interface wireguard1(上面的网卡)
上面wireguard默认使用的13231的udp端口,需要在阿里云安全组开放13231 udp端口的所有ip访问。
最后在mikrotik里添加两条防护墙规则
winbox菜单-->New Terminal 逐个执行下面两条命令
/ip firewall filter add action=accept chain=input comment="allow WireGuard" dst-port=13231 protocol=udp
/ip firewall filter add action=accept chain=input comment="allow WireGuard traffic" src-address=172.16.105.0/24
三、客户端配置
下载windows客户端(系统需要win7及以上,win7需要多安装3个补丁KB2533623 KB2921916 KB4457144,其他系统不需要)
https://download.wireguard.com/windows-client/
注意不要下载wireguard-installer.exe 这个只是个安装器,大部分人下载wireguard-amd64-0.5.3.msi即可
初次使用
左下角-->新建隧道-->新建空白隧道
默认会生成一个客户端的公钥和私钥
填写名后,在后面追加 这里的peer里的publickey就是上面mikrotik的wireguard生成的公钥
Address = 172.16.105.2/32
DNS = 114.114.114.114[Peer]
PublicKey = QpNfpW60t+TZlYYgqF+C3BZdloF0xH/kcAVzVXi+4F4=
AllowedIPs = 172.16.105.0/24
Endpoint = 114.215.87.93:13231
PersistentKeepalive = 30
最终填写如下
保存后,复制客户端里的公钥wWZif/wEs1YpWDJ1T5WlI/dEP/rwN9ujyW2zIe5aeEU=
需要填写到mikrotik的peer菜单里
winbox菜单-->wireguard-->peers--> +
填写如下内容
Interface : wireguard1
Public Key : wWZif/wEs1YpWDJ1T5WlI/dEP/rwN9ujyW2zIe5aeEU= (对应客户端新建时生成的公钥)
Allow Address: Address = 172.16.105.2/32 (对应客户端Interface的Address字段)
之后点击客户端的连接,通过日志可以看到连接成功还是失败
此时客户端可以尝试ping mikrotik上的172段地址
可以看到能ping通说明连接正常
mikrotik上可以反过来ping 客户端172段地址,默认由于win10 win11默认禁止局域网ping,需要防火墙放行
放行如下
防火墙高级面板方式
打开控制面板,选择Windows Defender防火墙。
选择高级设置。
点击入站规则,找到核心网络诊断 - ICMP回显请求 (ICMPv4-ln)。
右键点击规则,选择启用规则(如果已经启用,则显示的是禁用规则)。
放行之后,再从mikrotik ping可以看到ping 能正常返回了。
四、多客户端互访
参照上一节的过程配置客户端地址为172.16.105.3
之后客户端之间相互ping 可以看到客户段互ping正常
下一篇介绍lan to lan访问。
相关文章:

阿里云安装mikrotik7配置内网互通
阿里云近期推出了200M不限量机器,对于没有公网接入的中小企业可以借助这个机器对多地分支机构进行内网互通。目前已经有很多机构用这个搞跨云k8s,跨云集群了。 mikrotik作为一个商用的软件,操作性比一些开源的软件好用不少。 本文使用的网段为172.16.1…...

Docker网段和服务器ip冲突导致无法访问网络的解决方法
若宿主机所在网络的网段为172.[17-31].xx.xx,则会与Docker本身内部网络间出现冲突,此时需要重新配置Docker默认地址池 一:查看docker的默认网段 route 二:修改docker的默认网段 etc/docker/daemon.json文件增加修改网段信息 {…...

Kubernetes 集群中安装和配置 Kubernetes Dashboard
前言 上篇成功部署Kubernetes集群后,为了方便管理和监控集群资源,安装Kubernetes Dashboard显得尤为重要。Kubernetes Dashboard 是一个通用的、基于 Web 的 UI,旨在让用户轻松地部署容器化应用到 Kubernetes 集群,并对这些应用进…...
Android开发之Spinner
Android开发之Spinner 1. 概述2. Spinner3. 适配器3.1 ArrayAdapter3.2 SimpleAdapter 1. 概述 Android开发学习笔记。学习下拉框控件Spinner和适配器(数组适配器ArrayAdapter、简单适配器SimpleAdapter)的使用。 2. Spinner 下拉框控件,用…...

【c++继承篇】--继承之道:在C++的世界中编织血脉与传承
目录 引言 一、定义二、继承定义格式2.1定义格式2.2继承关系和访问限定符2.3继承后子类访问权限 三、基类和派生类赋值转换四、继承的作用域4.1同名变量4.2同名函数 五、派生类的默认成员构造函数5.1**构造函数调用顺序:**5.2**析构函数调用顺序:**5.3调…...

分布式系统通信解决方案:Netty 与 Protobuf 高效应用
分布式系统通信解决方案:Netty 与 Protobuf 高效应用 一、引言 在现代网络编程中,数据的编解码是系统设计的一个核心问题,特别是在高并发和低延迟的应用场景中,如何高效地序列化和传输数据对于系统的性能至关重要。随着分布式系…...

计算机网络 (54)系统安全:防火墙与入侵检测
前言 计算机网络系统安全是确保网络通信和数据不受未经授权访问、泄露、破坏或篡改的关键。防火墙和入侵检测系统(IDS)是维护网络系统安全的两大核心组件。 一、防火墙 定义与功能 防火墙是一种用来加强网络之间访问控制的特殊网络互联设备,它…...
stack底层实现细节
一、stack 和 queue 在 STL 中 stack 和 queue 已经不算是容器了,而是容器适配器,适配器模式也是常用的模式之一,体现在 stack 和 queue 中就是他们两个的实现不是单独写的,而是复用了前面合适的优秀的STL 容器的代码而实现的具有…...

工业相机 SDK 二次开发-Halcon 插件
本文介绍了 Halcon 连接相机时插件的使用。通过本套插件可连接海康 的工业相机。 一. 环境配置 1. 拷贝动态库 在 用 户 安 装 MVS 目 录 下 按 照 如 下 路 径 Development\ThirdPartyPlatformAdapter 找到目录为 HalconHDevelop 的文 件夹,根据 Halcon 版本找到对…...

map和set的使用(一)详解
文章目录 序列式容器和关联式容器map和set的介绍set构造和迭代器遍历和insertfinderaseswapclearcountlower_bound和upper_boundmultiset和set的对比 set的二个题目题目解析算法原理代码介绍一个找差集的算法同步算法题目解析算法原理代码 map构造遍历initiaizer_list 序列式容…...

ARP 表、MAC 表、路由表、跨网段 ARP
文章目录 一、ARP 表1、PC2、路由器 - AR22203、交换机 - S57004、什么样的设备会有 ARP 表? 二、MAC 表什么样的设备会有 MAC 表? 三、路由表什么样的设备会有路由表? 四、抓取跨网段 ARP 包 所谓 “透明” 就是指不用做任何配置 一、ARP 表…...
37.构造回文字符串问题|Marscode AI刷题
1.题目 问题描述 小C手中有一个由小写字母组成的字符串 s。她希望构造另一个字符串 t,并且这个字符串需要满足以下几个条件: t 由小写字母组成,且长度与 s 相同。t 是回文字符串,即从左到右与从右到左读取相同。t 的字典序要小…...

ssm-mybatisPlus学习笔记
注意!mybatisPlus只能够进行单表操作,其他的仍需要mybatis 1.快速入门 编写启动类 MapperScan("com.atguigu.mapper") SpringBootApplication public class MainApplication {public static void main(String[] args) {SpringApplication.r…...
【算法学习笔记】35:扩展欧几里得算法求解线性同余方程
线性同余方程问题 线程同余方程问题是指 a x ≡ b ( m o d m ) ax \equiv b~(mod~m) ax≡b (mod m),给定 a a a、 b b b和 m m m,找到一个整数 x x x使得该方程成立,即使得 a x m o d m b ax~mod~mb ax mod mb,随便返回任何一个…...

线性规划:机器学习中的优化利器
一、线性规划的基本概念 线性规划(Linear Programming, LP)是运筹学中数学规划的一个重要分支,用于在一组线性不等式的约束条件下,找到线性目标函数的最大值或最小值。其问题可以表述为: 在一组线性约束条件 s.t.&am…...
Ubuntu开发中的问题
1.退出anaconda指令:conda deactivate 2.Linux系列:一打开终端就默认进入conda的base环境,取消方法 在终端输入conda config --show,会显示所有的配置信息,然后利用conda config --set来修改此配置: conda config --se…...
MAC 地址转换为标准大写格式
// ConvertToStandardMac 将 MAC 地址转换为标准格式,确保每个字节都是两位,并且字母是大写的 func ConvertToStandardMac(mac string) (string, error) { // 分割 MAC 地址的每一部分 parts : strings.Split(mac, ":") // 确保每部分是两…...

使用插件SlideVerify实现滑块验证
作者gitee地址:https://gitee.com/monoplasty/vue-monoplasty-slide-verify 使用步骤: 1、安装插件 npm install --save vue-monoplasty-slide-verify 2、在main.js中进行配置 import SlideVerify from vue-monoplasty-slide-verify; Vue.use(SlideV…...
深入探索 Nginx 的高级用法:解锁 Web 服务器的强大潜能
在当下互联网技术飞速发展的浪潮中,Nginx 凭借其轻量级、高性能的特性,在 Web 服务器和反向代理服务器领域脱颖而出,成为众多开发者和运维工程师的得力工具。它不仅能高效处理静态资源,在负载均衡、反向代理等方面也表现出色。然而…...
(01)搭建开发环境
1.安装虚拟机软件 VMware Workstation Pro 17 2.虚拟机安装ubuntu20.4系统 3.安装VMtools工具 4.安装vim编辑器 sudo apt install vim 4.安装SSH服务 选择下载源为:http://mirrors.aliyun.com/ubuntu在线安装:sudo apt-get install openssh-serv…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...

SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...

解析“道作为序位生成器”的核心原理
解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制,重点解析"道作为序位生成器"的核心原理与实现框架: 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...

Java设计模式:责任链模式
一、什么是责任链模式? 责任链模式(Chain of Responsibility Pattern) 是一种 行为型设计模式,它通过将请求沿着一条处理链传递,直到某个对象处理它为止。这种模式的核心思想是 解耦请求的发送者和接收者,…...