前提摘要
众所周知各大运营商(移动、电信、联通)封杀了很多端口,比如80、443、445、139。导致无法搭建一些利于自己的服务。本篇教程就教你如何通过域名代理,绕过运营商来访问本地端口的策略。另外,如果是内网,运营商没有分配给你公网ip地址,首先打电话询问是否可以转换公网ip(你可以套路客服别问的太直接),不行的话或者就再搭建个内网穿透FRP啥的这里不做细说。
准备工作
Openwrt系统路由器
一台服务器或其他主机 nginx服务等Web应用
购买域名并且设置DNS服务器为cloudflare进行解析
he.net的tunnelbroker服务注册
保证WAN口ipv4的稳定性:给运营商打电话(“啊呀!我这么网络又掉线了!我看我ip变了,拨号太频繁了吧!!@#¥%……&”)
运营商在给你创建宽带的时候会默认带一个隐藏服务就是每隔24小时内会给你重新拨号释放ip地址,投诉给客服取消掉。
开始
openwrt配置
首先你必须拥有openwrt系统的路由或者软路由,软件包里安装了6in4这个包,如果没有可以如下 进入路由器里面输入命令:
1 | opkg update |
或者在路由个GUI界面中 :系统->软件包去安装,
安装可能会遇到墙的问题,或者替换opkg的源,或者上代理这个就不细说了。
安装完成后到:网络->接口 :添加新的接口,在接口协议中查看有没有ipv6-in-ipv4这个选项,
如果有就代表安装成功,切换这个协议后创建提交,然后准备其他工作。
tunnelBroker配置创建公网ipv6
去注册tunnelbroker服务,找到Create Regular Tunnel。
填写 IPv4 Endpoint (Your side):你自己的运营商分配给你的IP地址(推荐乱填一个可用的)
接下来很重要的一步就是找到可用的隧道节点,朋友告诉我当前可用的隧道ip为:64.62.134.130 (Ctrl+F找更快) ,我当前就是使用的这个隧道,其他的时间充裕您可以自己测试没问题的话告诉我哈。
然后点击 Create Tunnel 按钮进入下一步,点击Example Configurations,选择OpenWRT
把以上资料填入刚刚Openwrt 6in4接口配置中入下图:
创建成功后到接口列表中查看自己的ipv4地址,和6in4是否正常运作,上面勾选了动态隧道,所以你的Ipv4地址会把刚刚一开始创建 IPv4 Endpoint胡乱填的地址给覆盖掉,打开tunnelbroker -> ipv6 tunnel -> IPv6 Tunnel Endpoints ->Client IPv4 Address 如果覆盖掉就代表创建成功了。
成功如下图:
域名与解析配置
我域名都是在gandi上购买的,阿里云万网还要实名认证 身份证啥的 懂得都懂:smile: ….
gandi上DNS设置在 名称伺服器 里设置 cloudflare的DNS地址:
1 | fiona.ns.cloudflare.com |
打开cloudflare 添加站点 输入你注册的域名 选择免费套餐 扫描你的解析
然后进入DNS,把你需要解析的域名添加aaaa记录并且打开代理如:
这里的ipv6是你在he.net申请的路由器下发的完整地址下面服务器配置里会说明这个ipv6填的内容
服务器配置
输入命令:
1 | ifconfig -a |
会得到你的服务器接口和分配的ip地址
查看打开tunnelbroker -> ipv6 tunnel -> IPv6 Tunnel Endpoints ->Client IPv6 Address
对比刚刚ifcofnig -a里的结果前缀相同完整ipv6 prefixlen 64 地址给复制出来填入上面域名解析
在nginx里配置 重载即可
listen [::]:443 ssl http2;
listen [::]:80;
server_name www.iacg.moe;
现在你的Web或者其他服务,就可以通过cloudflare的ipv6代理的域名访问家庭内的任何机器的ipv6了:smiley:
感谢
这里感谢阿夜提供给我的知识与技术支持OwO