图:广州艺术博物馆顶。拍摄于 2024年 2 月
引
对于大牛,这段内容有点哆嗦唠叨,毕竟读者想看的或者就是个配网方法,而作者想写的竟然是 Internet 历史,不喜可跳过。
我为何要说这些从业者人尽佳知的老概念?因为,对于这些旧技术,我觉得大家现在只记得这个词,而忘记了他们的源。为何而来,从可而来。但这重要吗?So what? 过时的技术本身的直接职业价值与学习付出比的确非常低。对,有时间为何不学点 AI。我之所以这样想,因为我也是这样一路走过来的一名程序员:
国内单机时代(1990 ~ 2000 ):研究 DOS/C++/VC++/Windows/…
国内电信与互联网起步阶段(2000 ~ 2010):研究 Socket/多线程/Java
国内互联网应用、移动应用大爆发期(2010 ~ 2019):Linux/Cloud Native
AI (2019 ~ 现在):突然学不动/麻木了
作为一名平凡程序员,搞钱当然重要。但我想作为一个爱思考的人,在那么多波科技浪潮随波逐流、飘飘荡荡后,是不是应该换个高视角,看看这些浪潮的源动力和核心创造力。不要指望这些思考会给现实世界带来什么现实的东西,但如果你觉得思考本身就是个有趣的事情,这个思考方向就会变得很有趣。
有个哲学的专业大师说过。**哲学本质是什么?大概就是思考思考本身的问题。**对于理科生,这个概念可能可以比喻为,微积分之于加减乘除。
最近由于种种原因,需要在旧居和新居之间跑。在旧居中已经和一套网络和设备了。包括一些树莓派主机,一台 Dell 服务器,以及上面运行的服务。人在新居时,需要连接到旧居设备是相当麻烦的事,反之也是。原因大家都知道,因为是两个独立的局域网。
根据伟大的 7 层开放系统交互模型( Open Systems Interconnection model (OSI model)
) ,是否可能连接起两个局域网?
https://en.wikipedia.org/wiki/OSI_model
然后再看看在我们大部分现实世界的事实:
Network Reference Model - PROFINET University
我不可能在新旧居之间拉一条网线,也不想采用搭建一个软以太网桥的方法,因为这会让广播的行为参与者太多,新居那边有比较多米家的 WIFI 设备。那么就考虑在 IP 层互联吧。这也正是 Internet 的本原。
https://en.wikipedia.org/wiki/Internet
方案
“链家” 的 Wireguard 组网方案
上面就是我的 “链家” Wireguard 组网方案图。下面说说一点点实现细节片段。 和以前习惯一样,我不会写一个 cookbook ,手把手去教那种。只提一些要点。相信真实施的人是那种已经有相当背景积累,只需要一点点 tips/idea。
方案设计上,raspberry pi 作为 所在LAN 中的所谓旁路由
,只负责路由本 LAN 到另一个 LAN 的流量。这个路由的输出当然不是明文的原始 IP 包,是经过 Wireguard 加密的。加密包经过互联网,到达另一个运行 Wireguard 的 raspberry pi 。这个 raspberry pi 解密数据包为标准 IP 包,然后发现是 TCP 请求,于是 sNAT 代理连接到本 LAN 的其它设备。
raspberry pi 的路由与 NAT 配置
首先是让 kernel 打开 ip 路由功能:
|
|
然后是 sNAT 了:
|
|
Wireguard 的配置其实也不算难,这里不打算写明白。提一点是,AllowedIPs
的配置
[Peer]
PublicKey = ...
AllowedIPs = .../24, 192.168.2.0/24(对端 LAN IP地址段)
Endpoint = foo.bar.com:port
PersistentKeepalive = 25
它让 Wireguard 加入一条 ip route 规则:
192.168.2.0/24 dev wg0 scope link
有更完美的方案吗
当然有,为配置方便,上面方案用了 sNAT。这就不是完整意义上的直联了。有点像玩 kubernetes 的 service 时, 用虚拟 service ip 带来的服务端看不到流量原 ip 一样的限制。
另一个是,旁路由
的使用增加了网络配置的复杂性。如果主路由足够强大和可玩,还是直接在主路由做好了。
以后 IPv6 的普及,只从技术面看,或者可以一定程度上解决这个互联问题。但技术再好,也胜不了人为的限制。
结语
技术文章到这里完结了。部分读者可能失望 :)
原始的互联网技术,关注的是信号通道层面的互联。而解决异构物理层的网络,如何互联的问题,是原始的互联网技术的最大创新。大家每天使用平淡无奇的技术,其背后都是设计思想上的突破。技术可能陈旧,但思想突破方法上永远无所谓陈旧。于我看来,原始互联网设计上最大的突破是在保留历史底层协议的原则下,统一上层协议,加上有机融合了路由与适配转换。最终成就了现在的互联网。
现世中,天天听到人说财务自由,但很少人说互联 Freedom。曾经,幻想有了财务自由什么都不重要,不过有时讽刺的事,以前最看不起的价值,在一些时候就会变为最在意的事的最后护城河。要 Free 还是要 Freedom ? To be or not to be ?
數|拷|升|在|以|網|這|自|內|先|行|免|
位|貝|級|服|虛|路|交|負|附|買|規|費|
化|免|到|務|擬| |易|盈|有|一| | |
類|費|雲|器|友|上|倒|虧|群|送|兩|套|
比| |端|內|情|網|也| |星|一|廂|餐|
才| |的|面|按|下|實| |聯|又|情|的|
對| |規|對|贊|載|惠| |手|下|願|酒|
| |格|面|來|免| | |跨|殺|無|水|
| |格|進|奉|費| | |年|再|悔|免|
| |式|化|陪| | | |夜|送| |費|
| |化|人| | | | |的|一| | |
| |輪|類| | | | |票|杯| | |
| |回| | | | | |兩| | | |
| | | | | | | |位| | | |
| | | | | | | | | | | |
又|這|才|用|才|我|付|免|換|她|小|給|
分|一|爬|特|賺|兢|出|費|來|痴|心|誰|
期|生|到|價|到|兢|的|很|了|心|哪| |
要|一|這|清|個|業|駟|貴|薄|真| |那|
頭|世|市|倉|三|業|馬| |情|意|人|多|
款|的|場|那|十|要|難| |人|驚|生|情|
自|月|地|優|多|擔|追| |拋|天|不|笑|
備|租|位|惠|K|驚| | |走|動|那|容|
|含| |的| |受| | |的|地|麼|免|
|稅| |方| |怕| | |落|的|完|費|
|金| |案| | | | |花|犧|美| |
| | | | | | | |流|牲| | |
| | | | | | | |水| | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
羅| |大|讓|大|免|救|讓|等|起|血|且|
大| |家|各|家|費|贖|專|降|飛|拼|浩|
佑| |一|位|快|萬|給|機|落| |就|浩|
| |起|都|快|歲|慈|豪| |窗|是|蕩|
-| |體|能|來| |悲|宅|人|外|要|蕩|
| |會|體|排| |的|魚|出|的|對|的|
免| | |會|隊| |鹵|翅|境|風|你|促|
費| | | | | |肉|超|煙|景|回|銷|
| | | | | |飯|跑|酒|免|饋|加|
| | | | | |和|的|免|費| |班|
| | | | | |礦|原|稅| | | |
| | | | | |泉|罪| | | | |
| | | | | |水| | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |