在前面的折腾过程中,都是在设备上安装 tinc,使其成为VPN的一个节点。理论上说,只要这些设备能连上其他节点或者能被其他节点连接上,就加入了VPN并能提供VPN内的通讯转发服务。但这种折腾方式,并不适合所有的场景。
比如我工作中就有个很典型的场景:办公室里的设备需要访问VPN上的机器,只需访问即可,并不需要这些机器能被VPN上的机器访问 首先如果逐台机器去配置,工作量比较大; 其次在VPN上暴露了这些机器,有隐患; 再次设备并不单指跑Win的PC机啊,MAC呢?MACBOOK呢?苏菲呢?iOs呢?Andriod呢?要针对所有的这些设备安装tinc,累不累啊(苹果只有Cydia的源,需要越狱才能安装。而安卓呢,有对应的软件可以安装,但是使用时需要 root); 再后,我司IT管理很有问题,各自维护各自使用的设备,某些同事还特别喜欢折腾,今天重装下机器,明天恢复成出厂设置……如果每台设备分别安装,每天除了帮他们配节点就不用干别的了…… 最后TINC的密钥文件到处都是,对于安全和管理来说也是个头痛的事情。
所以在上面的场景里,我采用上篇帖子里网络示意图里场景D的模式:在路由器上安装 tinc 并进行设置,需要访问VPN的机器连上这个路由器,不需要进行任何配置就都可以访问VPN里的机器。VPN中的机器也只能看到路由为止(路由屏蔽了下层网络)。另外,这也从物理上限制了访问VPN的区域(必须到公司才能连上VPN),从一定程度上也加强了安全性。
嗯,有人问我只能在办公室访问,那移动办公怎么办。其实这个根本不是问题……既然都装在路由上了,给需要的人发个路由器不完了,啥地方需要连入VPN那就放啥地方不完了,路由器又不大,买个小点的就完事了。
在路由器上安装TINC并不困难,tinc支持的操作系统和硬件非常多。本着耐艹实用的原则(随便断电随便摔,不怕发热启动快),最终采用如下方式:软件采用 OpenWRT,硬件采用 NetGear WDNR3800。
NetGear WDNR3800 就是下面这货,淘宝买的二手洋垃圾,饱经风霜的外观透露着沧桑和历史的厚重感……
MT7601方案,128+128,80MHZ的CPU,。NetGear 大厂出品,质量稳定。家里原来也一直用它,好多年了,除了停电的时候重启一下,平时没关心过。小型网络几十台机器这种配置的硬件足够了,未来不够了可以换成更高档的路由器,或者索性用PC DIY一个软路由。其实最主要的是……成本低……买这个才花了100不到,现在应该更便宜了。
买回来,刷好 Uboot,刷 OpenWRT,我刷的是17.01.5这个版本。然后开始配置:
嗯,有人问我只能在办公室访问,那移动办公怎么办。其实这个根本不是问题……既然都装在路由上了,给需要的人发个路由器不完了,啥地方需要连入VPN那就放啥地方不完了,路由器又不大。