众所周知,ipv4的地址池早已枯竭,我所在的地方现在虽然还可以申请ipv4公网地址,但却是要收费的,每年大概5000左右。ipv6号称可以为地球上的每一粒沙子分配一个IP地址,到底是否能够为每一粒沙子都分配一个IP地址我不知道,但是给我们的每一台在网的设备都分配一个公网地址肯定是没有问题的,而且还是免费的,我们可以非常方便的使用这些公网地址远程访问家里或者任意地点的任何联网设备。本视频主要讲解怎样使用ipv6实现内网穿透。
本篇博客的链接我会放在视频的说明栏和评论区,大家随时可以打开参考。
一、准备工作和演示环境。
1、主路由使用openwrt,并且正确开启了ipv6。我使用的是immtalwrt最新版24.10.4,并且已经开启了ipv6。如果有的朋友还不清楚什么是openwrt,或者不知道怎样正确开启ipv6,请参考我之前的视频,链接我放在下面。
2、实现ipv6内网穿透用到的插件lucky可以部署到局域网内的任意设备上面,包括主路由,旁路由,nas,linux主机等等,我演示中部署在旁路由上面,同样使用immtalwrt最新版。
3、 需要一个域名,并且已经正确的托管到lucky支持的服务器上面。我演示使用的是免费域名在cloudflare上面托管,关于怎样申请免费域名以及怎样在cloudflare上面托管请参考我之前的视频。
二、使用ipv6实现内网穿透需要解决哪些问题。
1、openwrt从安全的角度出发是阻止外网访问内网的,所以首先需要修改防火墙为内网穿透建立一个通道。不建议直接修改wan口防火墙参数,放行所有数据进入内网,这种做法相当于大门全开,欢迎所有人进入你的家,安全性可想而知。比较安全的办法是单独建立通信规则,有条件的放行特定的数据包。
2、 在防火墙上面创建完通信规则,我们就可以使用ipv6地址访问内网设备了。不过我相信世界上没有多少人可以记住长长的ipv6地址,就算能够记住,使用起来也非常不方便,更何况路由器每次重新拨号以后ipv6地址是会改变的,所以关联域名和ipv6地址,并且利用ddns对ipv6地址进行自动更新就是非常必要的事情了,这样我们使用简单易记的域名就可以访问内网设备了,而且也不用担心ipv6地址改变的问题了。
3、 经过前面的设置,我们已经可以方便的使用域名访问内网设备了,事情是否就结束了呢?并没有,因为现在访问内网使用的是http协议,大家都知道http是明文传输的,你传输的所有数据,包括用户名和密码是完全暴露在互联网上面的。这时候如果大家希望增加安全性,就需要为域名申请证书,然后使用https协议进行加密传输。
4、如果同一个内网里面有很多台设备需要外网访问,比如说有10台。我们是否需要把前面的工作重复做10遍呢?如果这样,岂不是非常麻烦!实际上是不需要的,这种情况下,我们可以使用反代服务器,只需要反代服务器和外网进行连接,其它设备与反代服务器进行连接,通过反代服务器这个桥梁连接到外网。反代服务器与内网设备的连接设置非常简单,因为同在内网,所以既可以使用ipv6,也可以使用ipv4,既可以使用https,也可以使用http。
三、lucky下载、安装。
四、申请cloudflare令牌。
五、ddns设置。
六、申请证书。
七、反代服务器设置。
八、主路由器设置。
1、检查lan口高级设置里面“IPv6后缀”选项是否设置为:eui64。 eui64表示根据mac地址生成后缀,这样设置,路由器重新拨号以后,局域网内设备的ipv6前缀会变,但是后64位后缀不会变。
2、防火墙设置。
放行掩码格式:
::0123:4567:89ab:cdef/::ffff:ffff:ffff:ffff
注意:请将0123:4567:89ab:cdef替换为自己部署反代服务器的设备的ipv6后64位,不要直接复制粘贴!!!
评论
发表评论