零成本自建企业级SD-WAN!用Panabit手搓iWAN实战
我们前面提到过,最开始了解到Panabit,是因为他的SD-WAN产品(误以为是外国货?这家国产SD-WAN神器竟能免费白嫖,附Panabit免费版体验全记录);现在发现,其SD-WAN的技术基础是iWAN,那肯定要研究一下iWAN。
按照官网介绍,iWAN可以分为3种角色:iWAN服务端、iWAN客户端和iWAN管理端,对应SD-WAN网络中的POP、CPE与控制器三种角色。其中iWAN服务端和iWAN客户端均可以通过Panabit来实现,而iWAN管理端则一般使用PanaCloud云平台。PanaCloud云平台负责管理所有CPE与POP点设备,对所有设备进行统一运维,包括隧道配置下发、整网拓扑管理、隧道状态维护等。这么看来,抛开PanaCloud云平台,我们用Panabit应该也能手搓一个简易SD-WAN网络。
从配置页面来看,iWAN位于虚拟专网分类下,那一定程度上讲,iWAN也是VPN隧道;既然如此,建立隧道肯定需要IP地址,那网络模式肯定是要使用网关模式。
比较有意思的是,Panabit还支持应用商店,这里有一个【拓扑图构建】的应用,我们就用它来画一下本次实验的拓扑图。

对于iWAN来说,设备角色分为服务端和客户端,本次实验中,我们期望将Panabit1配置为服务端,将Panabit2配置为客户端。
首先,我们要完成两台Panabit的上线配置,服务端Panabit1的网络配置如下:

客户端Panabit2的网络配置如下:

客户端需要能够访问到服务端的WAN口IP地址,在客户端侧使用系统自带的网络检测工具探测一下服务端是否可达。

接下来,我们先配置iWAN服务端。在【虚拟专网】下的【iWAN服务】中的【服务列表】页签,点击【添加】按钮,弹出【添加iWAN服务】对话框,配置很简单,需要补充服务器名称、服务器网关、认证方式和地址池等信息。

这里,我们首先要找到地址池配置。在【对象管理】下的【账号管理】模块,切换到【组织架构】页签,这里显示的地址池都是空的,应该不能使用。

点击【添加用户组组】,我们创建一个给iWAN服务用的用户组iWAN,看上去跟配置openVPN的服务端有点像(在Ubuntu系统手撸一个自动搭建openVPN服务端的SHELL脚本)。

对应本地认证的认证方式,我们还要点击【添加本地账号】来创建一个iWAN客户端账号。这个配置还挺丰富,可以限制账号的有效期、同时在线用户数、绑定IP等信息,就是不知道如果允许3个客户端同时在线时绑定IP地址还有效吗?

配置完地址池和本地账号之后,回到【iWAN服务】页面,完成服务端的创建。

细心观察的话,可以看到后面还有一个【服务映射】的页签,创建好iWAN服务之后,这里自动将8000端口映射到了刚创建的iWAN服务上。

确认了一下,iWAN服务默认使用UDP端口8000,通过服务映射是不是可以同时启用多个iWAN服务了?
到这里,iWAN服务端就搭建好了,我们继续配置iWAN客户端。在客户端Panabit2的WEB页面,在【虚拟专网】下的【iWAN客户端】模块,点击【添加】来创建一个iWAN客户端。

这里填入跟服务端匹配的服务器IP、服务器端口、iWAN账号和密码,令人意外的是,这里的加密竟然是个可选项,还支持二层转发。先使用默认配置,剩下的后面再测试。
提交之后,iWAN客户端上线成功,并且获取到了指定的IP地址10.13.1.3。

这时候,我们就能使用iWAN客户端测试iWAN服务端是否可达了。

测试通过之后,就可以在【路由/NAT】模块中添加iWAN客户端和服务端之间的内网路由了。首先是iWAN服务端一侧,必填项是策略序号、源/目地址和执行动作。

如果是目的路由,仅填入目的地址即可,如果同时填入源目地址,那就是策略路由了;执行动作选择【路由】,路由线路选择【iWAN】,下一跳填入iWAN客户端的IP地址。
对应的,完成iWAN客户端侧的路由配置。

此时,在两端的内网主机上进行测试,是无法互通的。差了官方的配置手册,经过多次测试验证,发现这个系统比较奇葩,竟然需要手工添加直连路由;也就是说,Panabit作为内网的网关,他可以直接访问局域网内的终端,但是没有路由条目,如果其他设备要访问进来,还得单独添加到LAN侧的路由。

我就说,怎么追踪路径,发现请求流量没有转发到内网,而是直接扔到了WAN接口上。
此时再进行测试,就能正常互通了。

但貌似也不太正常,为什么呢?分明中间过了隧道,为啥显示一跳就到了?
***推荐阅读***
误以为是外国货?这家国产SD-WAN神器竟能免费白嫖,附Panabit免费版体验全记录
Panabit竟能无缝整合Ubuntu?用5MB升级包在Ubuntu极速安装Panabit
从崩溃到3G带宽!Panabit三种部署模式性能实测,这个坑千万别踩
48核+96GB内存!EVE-NG 6.2低配版安装实录,网络工程师必看!
告别重装!Ubuntu 22.04直升24.04教程,零数据丢失的终极方案
小白也能玩转VPP!Ubuntu 24.04使用APT极速部署VPP
CentOS迁移指南:在Ubuntu上从零编译部署VPP+DPDK,解锁Ubuntu网络性能!
从单网卡到全局,3种方法教你精准拿捏Ubuntu的IPv6
IPv6隧道搭建指南:用WireGuard轻松玩转IPv4/IPv6混合网络
基于IPv6配置openVPN实战:告别双栈难题,一步打通IPv6隧道!
无需公网IPv4!手把手教你配置基于IPv6的WireGuard安全隧道
手把手教你玩转IPv6 PPPoE:Ubuntu拨号+VSR服务器配置全解析
运营商不会告诉你的秘密:企业级路由器能通过多拨叠加带宽,轻松跑满千兆!
目前来看,ollama量化过的DeepSeek模型应该就是最具性价比的选择
哪怕用笔记本的4070显卡运行DeepSeek,都要比128核的CPU快得多!

相关文章:
零成本自建企业级SD-WAN!用Panabit手搓iWAN实战
我们前面提到过,最开始了解到Panabit,是因为他的SD-WAN产品(误以为是外国货?这家国产SD-WAN神器竟能免费白嫖,附Panabit免费版体验全记录);现在发现,其SD-WAN的技术基础是iWAN&#…...
Unity-微信截图功能简单复刻-03绘制空心矩形
思路-绘制空心矩形 拓展UGUI的Graphic类,实现拖拽接口。 开始拖拽时记录鼠标位置, 使用拖拽中的鼠标位置和记录的位置,计算矩形顶点,绘制矩形。 两个三角形合并为一个矩形,作为空心矩形的一条边,四个边合并为空心矩形…...
国产品牌芯洲科技100V降压芯片系列
SCT2A25采用带集成环路补偿的恒导通时间(COT)模式控制,大大简化了转换器的片外配置。SCT2A25具有典型的140uA低静态电流,采用脉冲频率调制(PFM)模式,它使转换器在轻载或空载条件下实现高转换效率。 芯洲科技100V降压芯片系列提供丰富的48V系…...
研一自救指南 - 07. CSS面向面试学习
最近的前端面试多多少少都会遇到css的提问,感觉还是要把重点内容记记背背。这里基于b站和我自己面试的情况整理。 20250418更新: 1. BFC Block Formatting Context,一个块级的盒子,可以创建多个。里面有很多个块,他们…...
图灵奖得主LeCun:DeepSeek开源在产品层是一种竞争,但在基础方法层更像是一种合作;新一代AI将情感化
图片来源:This is World 来源 | Z Potential Z Highlights: 新型的AI系统是以深度学习为基础,能够理解物理世界并且拥有记忆、推理和规划能力的。一旦成功构建这样的系统,它们可能会有类似情感的反应,但这些情感是基…...
从GET到POST:HTTP请求的攻防实战与CTF挑战解析
初探HTTP请求:当浏览器遇见服务器 基础协议差异可视化 # 典型GET请求 GET /login.php?username=admin&password=p@ssw0rd HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0# 典型POST请求 POST /login.php HTTP/1.1 Host: example.com Content-Type: application/x…...
SQL-exists和in核心区别、 性能对比、适用场景
EXISTS和IN的基本区别。IN用于检查某个值是否在子查询返回的结果集中,而EXISTS用于检查子 查询是否至少返回了一行数据。通常来说,EXISTS在子查询结果集较大时表现更好,因为一旦找 到匹配项就会停止搜索,而IN则需要遍历整个结果集。 在 SQL 中,EXISTS 和 IN 都可以用于…...
Charles 安装与使用详解:实现 App 与小程序 HTTPS 抓包
在日常的移动端开发、接口调试或逆向分析中,我们经常需要抓取移动 App 或微信小程序的 HTTP/HTTPS 请求。Charles 是一款经典强大的代理抓包工具,凭借简单的界面和强大的功能,成为了 macOS 抓包的首选工具之一。 本文将详细介绍 Charles 的安…...
使用Redis5.X部署一个集群
文章目录 1.用Redis5.x来创建Cluste2. 查看节点信息 nodes3. 添加节点 add-node4.删除节点 del-node5.手动指定从节点 replicate6.检查集群健康状态 check 建议使用5.x版本。 首先,下载Redis,根据自己的环境选择版本。 一键启动Redis集群文件配置。 ech…...
Ubuntu Linux 中文输入法默认使用英文标点
ubuntu从wayland切换到x11, 然后安装fcitx(是fcitx4版本)和 fcitx-googlepinyin, 再sudo dpkg -i 安装百度输入法deb包. 在fcitx配置中, 附加组件,打勾高级, 取消打勾标点支持和全角字符. 百度输入法就可以默认用英文标点了. 而google拼音输入法的问题是字体大小没法保存,每…...
Mermaid 是什么,为什么适合AI模型和markdown
什么是 Mermaid? Mermaid 是一个基于 JavaScript 的开源绘图和图表工具,允许用户通过简单的文本语法创建图表。它支持生成流程图、时序图、类图、甘特图等多种类型的可视化内容,并直接从类似 Markdown 的代码中渲染。Mermaid 因其与 Markdow…...
Java漏洞原理与实战
一、基本概念 1、序列化与反序列化 (1)序列化:将对象写入IO流中,ObjectOutputStream类的writeobject()方法可以实现序列化 (2)反序列化:从IO流中恢复对象,ObjectinputStream类的readObject()方法用于反序列化 (3)意义:序列化机制允许将实现序列化的J…...
第十届团体程序设计天梯赛-上理赛点随笔
2025.4.19来到军工路580号上海理工大学赛点参加cccc 校内环境挺好的,校内氛围也不错;临走前还用晚餐券顺走一袋橘子 再来说说比赛 首先是举办方服务器爆了,导致前10分钟刷不出题,一个多小时还上交不了代码 然后就是我用py总有几…...
考公:数字推理
文章目录 1.真题12 312 530 756 ()-3 3 1 12 17 ()356 342 333 324 ()30 28 27 25 () 2215105 1494 1383 1272 ()2 3 8 21 46 ()4/25 1/4 4/9 1 ()39 416 630 848 ()5 8 11 17 () 10714 21 40 77 () 229 2.数字推理方法2.1 差值法2.2 比值法(乘法关系)2.…...
树莓派超全系列教程文档--(32)config.txt常用音频配置
config.txt常用音频配置 板载模拟音频(3.5mm耳机插孔)audio_pwm_modedisable_audio_ditherenable_audio_ditherpwm_sample_bits HDMI音频 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 板载模拟音频(3.5mm耳机…...
面试专栏-02-MySQL知识点(第二部分)
6、锁 1、分类: 全局锁:锁住数据库中的所有表表级锁:每次操作锁住整张表行级锁:每次操作锁住对应行的数据 2、全局锁 加锁后,整个实例只能进行读取操作,从而保证数据的完成性和一致性。 特点ÿ…...
55、⾸屏加载⽩屏怎么进⾏优化
答: (1)使⽤CDN 减⼩代码体积,加快请求速度; (2)SSR通过服务端把所有数据全部渲染完成再返回给客⼾端; (3) 路由懒加载,当⽤⼾访问的时候,再加载相应模块; (4) 使⽤外…...
python函数之间嵌套使用yield
假设一种场景,函数 A 可以在获得函数 B 的返回值(即一个生成器对象)后,再次对其进行 yield 操作。这是因为 Python 的生成器是可迭代的,你可以在一个生成器中迭代另一个生成器,并将其结果逐个 yield 出去。…...
【MySQL数据库入门到精通】
文章目录 一、SQL分类二、DDL-数据库操作1.查询2.创建数据库3.删除数据库4.使用数据库 三、DDL-表操作1.查询 一、SQL分类 根据功能主要分为DDL DML DQL DCL DDL:Date Definition Language数据定义语言:定义数据库,表和字段 DML:Date Manipulatin Lan…...
[Swift]pod install成功后运行项目报错问题error: Sandbox: bash(84760) deny(1)
操作: platform :ios, 14.0target ZKMKAPP do# Comment the next line if you dont want to use dynamic frameworksuse_frameworks!# Pods for ZKMKAPPpod Moyaend pod install成功后运行报错 报错: error: Sandbox: bash(84760) deny(1) file-writ…...
游戏引擎学习第233天
原地归并排序地方很蒙圈 game_render_group.cpp:注意当前的SortEntries函数是O(n^2),并引入一个提前退出的条件 其实我们不太讨论这些话题,因为我并没有深入研究过计算机科学,所以我也没有太多内容可以分享。但希望在过去几天里…...
卷积神经网络基础(二)
停更好久的卷积神经网络基础知识终于开始更新了哈哈,今天主要介绍的是误差反向传播法。 目录 一、计算图 1.1 用计算图求解 1.2 局部计算 1.3 为什么采用计算图 二、链式法则 2.1 计算图的反向传播 2.2 链式法则 2.3 链式法则和计算图 三、反向传播 3.1 …...
探索大语言模型(LLM):定义、发展、构建与应用
文章目录 引言大规模语言模型的基本概念大规模语言模型的发展历程1. 基础模型阶段(2018年至2021年)2. 能力探索阶段(2019年至2022年)3. 突破发展阶段(以2022年11月ChatGPT的发布为起点) 大规模语言模型的构…...
树莓派超全系列教程文档--(33)树莓派启动选项
树莓派启动选项 启动选项start_file ,fixup_filecmdlinekernelarm_64bitramfsfileramfsaddrinitramfsauto_initramfsdisable_poe_fandisable_splashenable_uartforce_eeprom_reados_prefixotg_mode (仅限Raspberry Pi 4)overlay_prefix配置属…...
PTA:模拟EXCEL排序
Excel可以对一组纪录按任意指定列排序。现请编写程序实现类似功能。 输入格式: 输入的第一行包含两个正整数 n (≤105) 和 c,其中 n 是纪录的条数,c 是指定排序的列号。之后有 n 行,每行包含一条学生纪录。每条学生纪录由学号(6…...
Python 爬虫解决 GBK乱码问题
文章目录 前言爬取初尝试与乱码问题编码知识科普UTF - 8GBKUnicode Python中的编码转换其他编码补充知识GBKGB18030GB2312UTF(UCS Transfer Format)Unicode 总结 前言 在Python爬虫的过程中,我尝试爬取一本小说,遇到GBK乱码问题&a…...
Scala与人工智能:融合多范式编程的AI开发利器
在人工智能(AI)技术飞速发展的今天,编程语言的选择直接影响着算法实现效率与系统可扩展性。Scala,作为一门融合面向对象(OOP)与函数式编程(FP)的多范式语言,凭借其独特的…...
解决echarts饼图label显示不全的问题
解决办法 添加如下配置: labelLayout: {hideOverlap: false},...
JCST 2025年 区块链论文 录用汇总
Conference:Journal of Computer Science and Technology (JCST) CCF level:CCF B Categories:交叉/综合/新兴 Year:2025(截止4.19) JCST 2024年 区块链论文 录用汇总 1 Title: An Understandable Cro…...
不带无线网卡的Linux开发板上网方法
I.MX6ULL通过网线上网 设置WLAN共享修改开发板的IP 在使用I.MX6ULL-MINI开发板学习Linux的时候,有时需要更新或者下载一些资源包,但是开发板本身是不带无线网卡或者WIFI芯片的,尝试使用网口连接笔记本,笔记本通过无线网卡连接WIFI…...
