只开一个端口,用节点无感访问家里所有服务

起因:家里有很多服务,只是个人需要使用,并不需要开放端口暴露在公网,比如nas-web等服务。希望管理使用这些服务的时候能够更加方便,做到无感。

准备工作:
1.家里需要有设备能部署服务端(用来部署回家节点)以及部署ddns服务
2.域名(用来映射回家节点的IP地址)
3.公网ip(ipv6应该要调整后面的策略组规则,这个各位自己研究,我没有v6)

开始操作:
1.首先在服务端创建一个节点,我这里使用的是openwrt的passwall服务端,创建Shadowsocks节点,端口、密码、加密方式自行定义。记得勾选接受局域网访问

2.配置好ddns绑定自己的域名,网上有很多教程,这里不再赘述。

3.配置家里的路由器,开启端口转发,转发端口为Shadowsocks的端口。(如果使用的是openwrt的话需要先在网络–防火墙–端口转发中开启端口转发,再使用光猫或路由器进行转发到公网)

4.配置手机或电脑的客户端,连接Shadowsocks节点,先测试一下能不能连接上。
我这里手机使用的是Quantumult X。
Quantumult X编辑配置文件,在[server_local]下添加一个节点:

shadowsocks=[你的域名]:[Shadowsocks端口], method=[加密方式], password=[密码], fast-open=false, udp-relay=false, tag=[自定义节点名称]

如果能ping通的话,就可以配置策略组了,让家里的ip端自动走这个节点,不用每次都手动选择。

5.配置策略组,在Quantumult X编辑配置文件,在[policy]下添加一个策略组:

url-latency-benchmark=[策略组名称], [回家节点名称(就是上面的tag)], check-interval=600, tolerance=0

这里是自动切换的,你们也可以把url-latency-benchmark改成static,手动选择。

6.为策略组添加分流规则,让家里的IP段走回家策略组。
Quantumult X首页点击右下角风车图标–分流规则–右上角+号添加分流规则,添加如下规则:
类型选IP-CIDR
参数输入:比如家里的IP段是192.168.1.x,则输入192.168.1.0/24
策略组选择刚才创建的策略组。

7.测试一下,Quantumult X首页长按右下角风车改为规则模式,打开nas-web等服务的内网地址,应该都能正常访问了,自动走回家节点。

8.配置电脑的客户端,电脑端用的是clash-verge。
点击订阅–新建–类型选merge,名称随意
右键编辑刚创建的文件:
在prepend-rules添加如下规则:

- IP-CIDR,192.168.1.0/24,[策略组名称],no-resolve

在prepend-proxies添加节点:

       - name: [自定义节点名称]
         type: ss
         server: [你的域名]
         port: [Shadowsocks端口]
         cipher: [加密方式]
         password: [密码]

在prepend-proxy-groups添加策略组:

       - name: [策略组名称]
         type: url-test
         url: http://1.1.1.1/generate_204
         interval: 300
         tolerance: 100
         proxies:
          - [自定义节点名称]

保存退出,打开代理测试一下,应该都能正常访问了。

这样子就实现了只开一个端口就能访问家里所有的服务,不需要每个服务的端口都映射出来,而且有策略组自动切换,不用每次都手动选择。
ios端小火箭也可以实现类似的效果,各位自行研究哈。
如果家里有机场服务的话,甚至可以实现回家的同时也能出国。
用HomeAssistant接入homekit的设备也不需要暴露端口就可以控制。
有什么说的不对的各位大佬麻烦指正。

12 个赞

很高级!

2 个赞

很厲害,我用docker搭建NPM,穿透80端口就可以外網訪問所有内網服務了

2 个赞

感谢分享,需要回家并且科学上网的话确实不错,我一般只需要回家,用内网穿透也够了

2 个赞

感觉zerotier或tailscale更好诶,不用开放端口,用手机用magisk模块,基本无感

2 个赞

关键是移动大内网,没有公网ip,这一下就决定了搞不起。哎

2 个赞

学习一下

2 个赞

zerotier没有moon的话感觉不是那么好用,而且ios端的zero会占用vpn,所以作为备用。

2 个赞

常规话题软件分享

2 个赞

牛啊

1 个赞