通过IPV6或者IPV4远程访问家里的Openwrt(奶妈级教程)
最近入坑软路由,走了不少弯路,踩了不少坑,目前正常运转起来了,能通过域名(绑定IPV4或IPV6)远程访问到家里的Openwrt,所以把自己摸索出来的方法说一下,供新手参考,让各位老鸟见笑
总的来说,从外网访问家里的设备,就是注册域名,将域名绑定到家里设备的IP(IPV4或者IPV6),具体步骤如下:
一、网络结构
我是用的软路由做主路由,安装PVE后虚拟了Openwrt进行桥接拨号,主路由再接交换机,交换机接了两个AX6组MESH,大致结构如下
二、IPV4公网IP获取
我办理的是电信200M宽带,默认不给公网地址,因为公网IPV4地址越来越少。
我第一步给10000号打电话,客服说请示一下给我答复。半小时后给我回电话,说可以发公网IP,但是需要每个月办理一个20元的套餐。我不同意,表示要投诉。
客服登记后,第二天电信的一个经理回电说根据政策,2020年10月以后新申请的宽带都不能免费申请公网IP了,必须办20元的套餐。我表示抗议,表示要投诉到工信部(唬人的。。)
第三天这个经理再回电问我是否同意关闭这个投诉,我不同意。然后她说会转到技术部门联系我,要我注意接听
当天下午,一个略带口音的男人给我打电话,听背景声音是在机房里面,我立马脑补了一副IT程序猿的形象:胡子拉碴,发际线上移,格子衬衫,坐在四个显示器面前,屏幕上各种代码飞滚,黑框眼镜后面透露出一丝犀利的光芒哥们上来就问我,你是要申请公网IP是吧?我说是的,正准备凭我三寸不烂之舌来说服他的时候,那边就说,15分钟重启一下光猫就可以了。然后啪的就挂了电话。。。
结果5分钟之后我就在openwrt里面重新拨号就获到了公网IP了
。可以在百度里面输入“IP”查看结果,把这个结果与OPENWRT-网络-接口-WAN中获取的IPV4地址对比,如果是一样的那就说明成功获到公网IP了
三、IPV6地址获取
如果实在拿不到IPV4地址也没关系,IPV6一样好使。IPV6是一种终极解决方案,理论上它可以为地球上的每一粒沙子分配独立的IP地址。所以只要用上ipv6,我们可以轻轻松松给每个设备分配一个独立的IP地址。而且随着宽带技术的进一步普及,现在的三大运营商都已经提供了ipv6网络服务。当然你也可以打客服电话问一下是否支持IPV6。获取IPV6地址的方法如下:
1.修改网络-接口-WAN6(如果没有就新建)
特别注意:物理设置中要选择“@wan”,如果没有这个选项就在下面的自定义端口中输入:@wan,保存即可
2.修改WAN口和LAN口设置
按照上面的设置,这个时候应该可以正常获取到IPV6地址了,我们可以去www.test-ipv6.com 测试下网络是否连通了IPv6。如果网站的测试通过,说明我们已经成功拥有了IPV6地址。
在我们的接口中也可以看到有240e开头的IPV6地址了
电信是240e开头的(240e::/20)
移动是2409开头的(2409:8000::/20)
联通是2408开头的(2408:8000::/20)
四、设置防火墙
拥有ipv6地址是第一步,接下来我们要设置防火墙,让外网设备可以访问内网的IPV6设备。
进入网络-防火墙-通信规则,新增一条“ipv6”,注意“限制地址”可以只选“仅IPV6”,目标端口限定一些指定的端口(用空格分开),如“1100 8822”,这样更加安全些
保存应用后,我们可以从外网直接输入地址进行访问,也可以用手机关掉WIFI用数据访问,但是要注意访问地址形式为(注意加中括号):http://[240e:380:80c:8403:a47a:f490:354:95cf]
五、域名注册和解析
虽然我们现在可以直接用IP地址访问了,但IPV6地址的地址太长太难记了,这时我们可以注册一个域名,将域名与将IP地址绑定起来。以腾讯dnspod为例:
进入dnspod.cn注册一个域名,这个应该大家都会,.xyz和.top之类的域名都挺便宜,注册成功后进入“我的域名-点击域名-添加记录”
增加两条解析记录v4和v6,分别对应IPV4和IPV6,如果只有一类地址则可以只加一条解析,需要注意IPV4用A类解析,IPV6用AAAA类解析,后面地址填写自己获到的公网IP
需要特别注意:如果如下图顶部提示红色解析错误,那么是无法访问的。我折腾了几天后来发现,原来是需要备案
备案入口点击左边的“域名注册”,右边会提示“未实名”,按照要求准备信息模板,提交管理局审核即可。大概1-2天就会通过了
六、动态域名DDNS解析设置
域名能正常解析后,我们应该就可以通过域名地址访问家里的openwrt了,如v4.xxx.top或者v6.xxx.top
但是由于目前IPV4和IPV6的地址也是动态分配的,设备重启或者过段时间ip地址就会有变化,所以我们还需要一个步骤就是在公网IP地址发生变化后,及时更新到dnspod中的对应解析地址
这个时候我们就需要动态域名解析DDNS。我尝试了系统自带的动态dns,下载了腾讯官方的ddns插件,从网上看了N个教程都不行,最后还是自己在github解决了
在github中搜索“ddns”,第一个结果就是https://github.com/jeessy2/ddns-go,经我自己测试非常好用,并且简单清晰,界面科学!感谢“jeessy2”大神!
1.首先下载对应的软件包https://github.com/jeessy2/ddns-go/releases,比如我的是X86的,就下载“ddns-go_3.3.5_Linux_x86_64.tar.gz”
2.解压后得到“ddns-go”,将该文件通过openwrt的“系统-文件管理”,上传到一个指定目录,注意不要上传到“/tmp”中
3.用pve进入openwrt的命令界面,进入ddns-go所在文件夹,输入“chmod 777 ddns-go”修改一下权限
4.输入“./ddns-go -s install”安装服务,安装会有两行提示,没有报错应该就成功了。可以用“ls /etc/init.d |grep ddns-go”看一下是否安装好了
5.此时输入openwrtIP:9876就可以通过web访问ddns-go进行配置。其中ID和TOKEN在dnspod登录后,右上角点击头像-我的账号-API密钥管理-DNSPod Token进行新建。
注意:不要用“腾讯云 API 密钥”的方式。另外,获取IP方式可以先用网卡获取试试,如果获取不正常可以用“通过接口获取”,实测稳定性还是不错的。
设置成功后,ddns-go页面的右侧就开始正常动态解析了,默认是5分钟解析一下。当openwrt的公网IP地址发生变化时,会自动获取最新IP,同步到dnspod中
6.最后一步,很重要!将ddns-go设置为开机自启动:ln -s /etc/init.d/ddns-go /etc/rc.d/S50ddns-go
至此,所有的设置都已经OK,通过v4.xxx.top或者v6.xxx.top在办公室正常访问家里的设备了。
另外需要注意,如果v6域名打不开,看看自己外网环境是否支持IPV6,比如我在公司就只能用V4地址,用不了V6。但是手机是两个地址都支持的。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~


















感谢分享,目前还在用华硕,后续不出意外,肯定也要投入OP的怀抱了。
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
这一步没通过是不是就没必要继续了……
校验提示文案
校验提示文案
校验提示文案
还有就是我这DDNS怎么设置都是绑定的LAN口ipv6。
如果防火墙开WAN6,那么两个ipv6都能访问。
如果单独开WAN6的防火墙,LAN口的IPV6就访问不了。
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
还有就是我这DDNS怎么设置都是绑定的LAN口ipv6。
如果防火墙开WAN6,那么两个ipv6都能访问。
如果单独开WAN6的防火墙,LAN口的IPV6就访问不了。
校验提示文案
这一步没通过是不是就没必要继续了……
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案