当前位置: 首页 > news >正文

阿里云安装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访问。

http://www.lryc.cn/news/524463.html

相关文章:

  • Docker网段和服务器ip冲突导致无法访问网络的解决方法
  • Kubernetes 集群中安装和配置 Kubernetes Dashboard
  • Android开发之Spinner
  • 【c++继承篇】--继承之道:在C++的世界中编织血脉与传承
  • 分布式系统通信解决方案:Netty 与 Protobuf 高效应用
  • 计算机网络 (54)系统安全:防火墙与入侵检测
  • stack底层实现细节
  • 工业相机 SDK 二次开发-Halcon 插件
  • map和set的使用(一)详解
  • ARP 表、MAC 表、路由表、跨网段 ARP
  • 37.构造回文字符串问题|Marscode AI刷题
  • ssm-mybatisPlus学习笔记
  • 【算法学习笔记】35:扩展欧几里得算法求解线性同余方程
  • 线性规划:机器学习中的优化利器
  • Ubuntu开发中的问题
  • MAC 地址转换为标准大写格式
  • 使用插件SlideVerify实现滑块验证
  • 深入探索 Nginx 的高级用法:解锁 Web 服务器的强大潜能
  • (01)搭建开发环境
  • Win11桌面右键刷新选项在二级界面的修正方法
  • 配电室防静电地板通常用哪种
  • 【重庆市乡镇界】面图层shp格式arcgis数据乡镇名称和编码wgs84坐标无偏移内容测评
  • 68,[8] BUUCTF WEB [RoarCTF 2019]Simple Upload(未写完)
  • Windows电脑桌面记录日程安排的提醒软件
  • TiDB与Oracle:数据库之争,谁能更胜一筹?
  • USART_串口通讯中断案例(HAL库实现)
  • 【MySQL】存储引擎有哪些?区别是什么?
  • [OpenGL]实现屏幕空间环境光遮蔽(Screen-Space Ambient Occlusion, SSAO)
  • linux-NFS网络共享存储服务配置
  • w-form-select.vue(自定义下拉框组件)