让家庭网络使用ipv4的80端口

前提摘要

​ 众所周知各大运营商(移动、电信、联通)封杀了很多端口,比如80、443、445、139。导致无法搭建一些利于自己的服务。本篇教程就教你如何通过域名代理,绕过运营商来访问本地端口的策略。另外,如果是内网,运营商没有分配给你公网ip地址,首先打电话询问是否可以转换公网ip(你可以套路客服别问的太直接),不行的话或者就再搭建个内网穿透FRP啥的这里不做细说。

准备工作

  1. Openwrt系统路由器

  2. 一台服务器或其他主机 nginx服务等Web应用

  3. 购买域名并且设置DNS服务器为cloudflare进行解析

  4. he.nettunnelbroker服务注册

  5. 保证WAN口ipv4的稳定性:给运营商打电话(“啊呀!我这么网络又掉线了!我看我ip变了,拨号太频繁了吧!!@#¥%……&”)

    运营商在给你创建宽带的时候会默认带一个隐藏服务就是每隔24小时内会给你重新拨号释放ip地址,投诉给客服取消掉。

开始

openwrt配置

首先你必须拥有openwrt系统的路由或者软路由,软件包里安装了6in4这个包,如果没有可以如下 进入路由器里面输入命令:

1
2
opkg update
opkg install 6in4

或者在路由个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

tb1.png

把以上资料填入刚刚Openwrt 6in4接口配置中入下图:

tb2.png

创建成功后到接口列表中查看自己的ipv4地址,和6in4是否正常运作,上面勾选了动态隧道,所以你的Ipv4地址会把刚刚一开始创建 IPv4 Endpoint胡乱填的地址给覆盖掉,打开tunnelbroker -> ipv6 tunnel -> IPv6 Tunnel Endpoints ->Client IPv4 Address 如果覆盖掉就代表创建成功了。

成功如下图:

tb3.png

域名与解析配置

我域名都是在gandi上购买的,阿里云万网还要实名认证 身份证啥的 懂得都懂:smile: ….

gandi上DNS设置在 名称伺服器 里设置 cloudflare的DNS地址:

1
2
fiona.ns.cloudflare.com
theo.ns.cloudflare.com

打开cloudflare 添加站点 输入你注册的域名 选择免费套餐 扫描你的解析

然后进入DNS,把你需要解析的域名添加aaaa记录并且打开代理如:

CF.png

这里的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