← 返回文章流

提高研发效率之网络环境优化

前言 我的网络环境历程 我的网络环境优化 1、线路优选 2、建立肉鸡工具 3、网络环境优化的思考 前言 作为一个对技术有追求的我,在入行时我就在积累我自己擅长的技术。起初一直是以 .txt 文本记录,各种 .zip 打包,一直携带在随身的U盘上。比如常见的: asp常用代码&函数.zip jQuery常用API.zip CSS常用技巧.zip 常用装机软件.zip css hack大全 ... 当然,历任公司的代码不在其中。因为我相信学到的是思考方式和思维,代码只是一种形式。并且我希望在任何T+1的公司做的代码都是新的。就好比我现在看我10年前写的博客,整体的格式简直惨不忍睹。我没有修正这些,是因为这些正是我的过往,也是青春的样子。 随着知识“笔记”的积累,我发现很多基础的能力对自己的开发效率有很大联系。在2015年之后,我就特别注重效率、数据和自动化(现在我称之为 Automation )。 2015-我是这样提高自己的效率 2016-数据在手,天下我有 2017-善用搜索寻人 2017-这些装备为我强力驱动 在最近总是频发遇到网络相关的问题,主要表现是某些网络代理软件总是出问题、来回切换网络不生效。导致我的工作环境会受到影响,于是我需要花些时间整体的捋一捋这块的事情:网络环境。而当前这个博文只是用户记录,en,看看就行。 我的网络环境历程 由于 GFW 的影响,早期 GitHub, Google 等网站进行学习时,一般是通过各类大神写的 xxhosts 来完成。甚至有人做了 Bash/CMD 命令,以方便一键更新,确保可用。但随着规模的扩大,基本都会被屏蔽。并且也会暴一些安全问题,被钓鱼、被警告等。 后来 S.h.a.d.o$w#s.o^c*k-s_X 一经出道,即巅峰。通过 SS 可以很方便的进行网络转发。但好景不长,2015年8月停止维护。(还好我存着历史版本) 2021年,C.l*a-s_h 凭借多协议、分流策略、配置化等亮点成为主流。甚至把7890端口和机场全部带红,成为当时最好的工具之一。直到现在,大部分软件还在遵循她的配置格式和能力。 由于受限于环境因素,爆火的基本会被消灭。但好在开源社区总是层出不穷的在迭代、在净化,做为开发者的我们总是受益者。 不论使用哪种方式,我们都应当把安全性放在第一位。我们的流量能不能被劫持?能不能加密?使用的软件是否安全? 我的网络环境优化 1、线路优选 做为研发,不论在哪个公司工作,上班的前提条件就是连接公司内网。不论什么形式,肯定是需要通过软件连接。因不同的软件网络转发模式也是不同的,有的是TUN一把梭,有的是PAC,但大部分软件都是全局模式。这导致几个问题: 访问公网资源变慢 出口IP不可控 被安排,自己说了不算 这时候就要思考下,公司的网络软件是什么模式?我能不能把公网的网络当成一个节点? 一般来说我们使用网络的场景是如下: 浏览器,有代理插件 各类软件(App),有网络代理配置 命令行,支持 all_proxy 变量 系统,PAC/HTTP/HTTPS/SOCKS 假如1:我把公司的网络软件基于 Docker 运行,通过 8001 端口通信,定义为 node1 。假如2:公司的网络软件基于TUN运行,我定义为DIRECT假如3:公司的网络软件基于PAC,启个虚拟机,定义为 node2 基于公司网络类型定义好公司的策略后,自己在本地实现一个 Select Proxy Server ,也就是流量分组。当然目前市面上有很多 C.l.a.s.h 类的软件也是比较好用,但开源的确实存在一些BUG。收费的相对稳定一些。 基于浏量分组,就可以完成以下线路优选: 公司域名白名单 -> 公司node 广告域名黑名单 -> REJECT xxx自建服务(月入网白名单) -> 自建服务器proxy01 百度 -> 直连 Google -> 机场01 2、建立肉鸡工具 在日常工作中,我时常需要使用不同地域的网络做一些测试,如: CDN Check(也是我 Automation 能力之一) DNS Check(公网是有免费的工具) cURL 学习研究 情绪价值 ... 我需要有一些趁手的兵器,所以我会采购一些廉价的虚拟机,使用 Automation 建立 Agent 模式(肉鸡),以为我提供强有力的工具支持。 我想知道肉鸡还有没有活着: $ pingping aa01 平均 17.042ms bb01 平均 43.700ms cc01 平均 34.703ms cc02 平均 41.751ms dd01 平均 55.796ms ee01 平均 73.421ms ff01 平均 119.610ms ff02 平均 88.375ms 我想知道不同地域 www.baidu.com 返回的IP是什么: $ sshcall "ping -c 1 www.baidu.com | grep from" ==============aa01============== cmd: ping -c 1 www.baidu.com | grep from -------------------------------- 64 bytes from 180.101.49.44 (180.101.49.44): icmp_seq=1 ttl=49 time=22.3 ms -------------------------------- duration: 191 ms ==============aa01============== ==============bb01============== cmd: ping -c 1 www.baidu.com | grep from -------------------------------- 64 bytes from 183.2.172.177 (183.2.172.177): icmp_seq=1 ttl=47 time=36.0 ms -------------------------------- duration: 204 ms ==============bb01============== ==============cc01============== cmd: ping -c 1 www.baidu.com | grep from -------------------------------- 64 bytes from 153.3.238.127 (153.3.238.127): icmp_seq=1 ttl=50 time=10.6 ms -------------------------------- duration: 212 ms ==============cc01============== ==============dd01============== cmd: ping -c 1 www.baidu.com | grep from -------------------------------- 64 bytes from 180.101.49.44 (180.101.49.44): icmp_seq=1 ttl=51 time=28.3 ms -------------------------------- duration: 252 ms ==============dd01============== ==============ee01============== cmd: ping -c 1 www.baidu.com | grep from -------------------------------- 64 bytes from 119.63.197.151 (119.63.197.151): icmp_seq=1 ttl=49 time=34.4 ms -------------------------------- duration: 415 ms ==============ee01============== ==============ff01============== cmd: ping -c 1 www.baidu.com | grep from -------------------------------- 64 bytes from 45.113.192.101 (45.113.192.101): icmp_seq=1 ttl=56 time=1.77 ms -------------------------------- duration: 336 ms ==============ff01============== ==============gg01============== cmd: ping -c 1 www.baidu.com | grep from -------------------------------- 64 bytes from 103.235.46.102 (103.235.46.102): icmp_seq=1 ttl=55 time=1.28 ms -------------------------------- duration: 164 ms ==============gg01============== ==============kk01============== cmd: ping -c 1 www.baidu.com | grep from -------------------------------- 64 bytes from 119.63.197.151 (119.63.197.151): icmp_seq=1 ttl=55 time=4.64 ms -------------------------------- duration: 179 ms ==============kk01============== 这些肉鸡平时听我调遣,随着工具、经验的积累,肉鸡的价值也越来越大。但,肉鸡就是肉鸡,它可以随时挂掉,我可以再随时拉起个新肉鸡。 让我想起前几年 PCDN 的技术,其实也是“肉鸡”的一种。PCDN 是迅雷的 P2P 下载的升级版,甚至还能盈利。但也是擦边的,也会被运营商封杀。 3、网络环境优化的思考 上面2个主要是日常最密切使用的工具、建设,但网络层面因环境而异,没有对与错。只要它能给我的日常、工作带来正向影响,那么它就是好的。 而优化的核心目标就是通过技术的手段,让工作开心、舒服、简单,自然效率也就高了。 就好比家庭网络拓扑升级后,并没有发现带来实质性的改善。甚至还给我带来了一些负担(Fake-IP导致IP不直出、某些 App UDP 受影响、IPv6不可用),我已经关闭了 OpenWrt ,但起码这个体系我走了一遍,而经验就是这样一点一点积累的。 上文提到的 Automation 是我自己积累经验下来的一些小脚本,和 Yuga Sun 的 Install Scripts Hub 很像,但我的基本只有我自己能看懂,不成体系。。emm,Yuga Sun 还是6啊。

来自 前端小武的博客作者主页
在原博客阅读全文 (新标签页打开)

以上内容来自博客订阅源,版权归原作者。关注作者后可以在 关注列表 第一时间查看作者文章。

一起聊聊 0

尊重不同观点

还没有评论。欢迎分享第一个想法。

RSS SUBSCRIPTIONS

选择 RSS 订阅

把博客汇的文章添加到你常用的阅读器。

关注文章 RSS 订阅本订阅需要登录后使用