最主要看的书籍是《网络是怎样连接的》。自己也学到了 OSI 的七层模型。知道了 MAC/IP 包,也了解了端口、TCP 协议、HTTP 协议这些也有了解,(虽然并不能说出包的某个段可以是什么值,这些值是什么含义)。总的来说脱离了小白的层次了吧。
但是,我又是一个爱折腾的人,就在很多实践的过程中碰壁。下面我举几个例子吧
- win 上有很多“网络适配器”,比如除了最常见的“本地链接”、“WLAN”,还有“TeamViewer XXXX”、“VMware XXXX”等,我却不能理解他们的关系。
- 装虚拟机的时候,选网络类型,例如桥接、NAT 等,我只知道去选一个能上网、能 ssh 登上的。但不知道这些结构,如何与“路由器、交换机”这些常见的结构去对应。
- 我曾经尝试过配置 wireguard (当时是安装官网上的 quick start ),但
ip link add dev这些命令,这个link是啥(盲猜应该和 win 上的网络适配器差不多)。总之当时把 VPS 配得连不上了,直接重装了。我认为这里我不懂 linux 的网络配置方面的东西,一些命令我没用根据自己的实际情况做调整。 - 曾经我有尝试过用基于 OpenWRT 的路由器,但是那个设置页面里面的参数太多,而且我也不知道什么含义,非常劝退。最后只修改了一些基本的参数,能连上,就将就用了。
- Docker 也有 network 的概念,在学习 Docker 的过程中,我虽然会
-p 4000:80这样,但是 docker network 还是没用学会。
我不是来求上面问题的答案的。
我希望能解决我这种知识和实践脱节的问题。我希望有 V2er 能指出我缺乏的知识,指点一下,接下来应该如何学习,才能让我能理解这些内容,内化为自己的能力。
现在大家玩软路由、内网穿透、NAS 之类的越来越多。我不是想考试做题,而是想真正的能够自己解决问题。而不是等到遇到问题的时候就直接 Google/StackOverflow 上查个解决方案、配置软件的时候只会照着官方说明一句一句打命令,没法根据自己的需求去配置。
最后,谢谢大家