愚蠢的地球人

两台OpenWRT通过Wireguard实现局域网互联

两处住所A和B都是家用宽带,A处有一台wifi打印机,但是在外网不能打印,需要外网打印的时候可以通过OpenVPN连接到A的内网来打印。B处有一台威联通的NAS,虽说可以通过动态域名加端口转发来远程访问,但是想要用Windows的文件共享也只能用OpenVPN连接到B的内网来使用。虽说OpenVPN能满足外网访问的需求,但是需要在局域网内每台设备上都安装OpenVPN的客户端,每次使用之前要先连接到对方的内网,用完之后要断开连接,不够方便。

最近发现了一个叫Wireguard的组网神器,它能在两台网络设备上建立一个加密隧道,并将部分或者所有流量通过这个隧道转发。比方说如果在两台网关路由器上通过Wireguard建立一个隧道,然后将对方的局域网段IP地址设置为通过这个隧道转发,这两个路由器下的所有网络设备就可以直接访问对方的局域网了,非常方便。据说Wireguard的代码非常精简,只有4000多行,而OpenVPN大约有10万行代码,而且Wireguard以Linux内核模块的形式运行,资源占用小。从2020年1月开始,它已经并入了Linux内核的5.6版本,这意味着大多数Linux发行版的用户不用安装任何三方软件就能直接使用。连Linux创始人Linus Torvalds都称其为“一件艺术品”。

More...