没有公网IP,刷遍论坛和教程,折腾各种内网穿透、异地组网,感觉一点都不快乐了,那就看看这里的IPV6,给你带来全新的解决方案,开始愉快的玩耍吧! 一、家里网络拓扑图介绍一下网络布局,全屋设置同名WiFI,而路由器A和路由器B选择AP模式,是为了减少NAT转发降速,同时保持同一网段,方便所有联网的设备漫游、电视投屏、资源共享,每家的网络情况不一样,仅供参考。
内网IP:
光猫:192.168.1.1
NAS盒子:192.168.1.2
路由器A(客厅):192.168.1.3
路由器B(卧室):192.168.1.4
WiFi名称:www.zhangsan.cn
不是打广告,选择宽带运营商自由,经济条件有限,家里用的宽带:中国移动,地区杭州,办理100M(100Mbps)套餐,按照如上图组网,每台设备的测网速数据:
上行网速:33Mbps
下行网速:145Mbps
实际下载网速:10MB/S 二、盒子IPV6动态解析域名前提:
申请一个域名:[color=var(--link-color)]zhangsan.cn(比如我的名字为张三),[color=var(--link-color)]nas.zhangsan.cn 二级域名绑定NAS盒子,国内的域名记得备案。我家里运营商送的光猫用路由模式已封禁端口:80、443,无法使用SSL,好在支持IPV6。IPV6检测:[color=var(--link-color)] https://ipw.cn/ipv6/,或者查看NAS盒子是否支持IPV6,输入命令:ifconfig
1. 安装DDNS-GO
我申请的域名是腾讯云的,以下就以腾讯云DDNS为例。NAS盒子用Docker安装DDNS-GO,用于自动更新解析IPV6,钉钉群机器人发送更新通知,安装命令如下: docker run -d --restart=always --name ddns-go --net=host -v /mnt/sda1/ddns:/root jeessy/ddns-go -l :9877 -f 600<script type="text/javascript"> window.location.href = "http://nas.zhangsan.cn:81";</script>三、外网访问家里的路由器NAS盒子、路由器A和路由器B必须设置静态内网IP,其他设备DHCP分配地址,然后通过NAS盒子里的Nginx代理可以实现访问家里的路由器,配置如下:
路由器A:
server { listen 82; listen [::]:82; location / { client_max_body_size 1024m; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto $scheme; proxy_redirect off; proxy_pass http://192.168.1.3; }}路由器B:
server { listen 83; listen [::]:83; location / { client_max_body_size 1024m; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto $scheme; proxy_redirect off; proxy_pass http://192.168.1.4; }}执行以下命令,即可访问 ln -sf /etc/nginx/sites-{available,enabled}/nginx_routerln -sf /etc/nginx/sites-{available,enabled}/nginx_router2nginx -s reload虽然IPV6是未来的趋势,对于设备所在的外网不支持IPV6,就没办法访问了,这个问题,暂时还没找到解决方案。
|