没有公网如何远程访问

最后更新于:

没有公网如何远程访问?

1 序言

前面那么多篇博客我都是介绍,域名解析+端口转发。前提是你有公网啊,公网不是人人都有。这篇文章是用来拯救那些没有公网的朋友;然后有 IPv6 搭建的,但是公司没有 IPv6 用不了的;以及其他等等的情况。这篇大多数介绍的都是内网穿透,原理我都不细细说了,会用就行。


2 Tailscale

2.1 什么是 Tailscale

Tailscale 的官网是 https://tailscale.com,用谷歌邮箱登录。

https://img.nw177.cn/blog/20.routers/2006-MAC地址重复问题修正-01-地址修正-01.webp

https://img.nw177.cn/blog/20.routers/2005-没有公网如何远程访问-01-ts-01.webp

2.2 怎么搭建 Tailscale

首先下载,windows 版本以及安卓(苹果)版本安装,并且用谷歌邮箱登录。那么你就可以在上面看到你的设备。在 setting 中打开 keys,生成两个 keys,但是我们需要的是上面这个 Auth_keys,保存备用。

https://img.nw177.cn/blog/20.routers/2005-没有公网如何远程访问-01-ts-02.webp

在 docker 中创建 compose 项目,如代码注释所示替换个人信息。

 1# 官方文档
 2# https://tailscale.com
 3
 4# ---
 5
 6name: tailscale
 7# 最后编辑时间:2025-02-14
 8services:
 9  tailscale:
10    # 镜像地址
11    image: tailscale/tailscale
12    # 容器名字
13    container_name: tailscale
14    # 主机名,这里修改为设备的名字,在网页上就会显示对应的名字,和下面配置文件中功能一样
15    #hostname: nas
16    # 特权模式,赋予容器几乎与主机相同的权限
17    privileged: true
18    environment:
19      # 需要到TS官网-Setting-keys内生成,可设置多台设备使用同一个key,切勿泄露
20      # 默认90天失效,需要到TS官网-Machine,点击设备右侧的三个点,点击Disable key expiry进行取消失效
21      # 如果使用密钥方式登录,则不需要去容器内的ssh终端内进行tailscale login命令登录
22      # 如果去容器内的ssh终端内使用tailscale login命令登录,则不需要配置该项
23      #去TS官网获取auth key
24      - TS_AUTHKEY=替换我
25      # 192.168.x.0/24为本机所在的局域网网段,注意修改,允许本机作为流量出站点这个需要用到
26      - TS_ROUTES=192.168.x.0/24 #修改为主机所在的网段
27      # 允许本机作为流量出站点
28      - TS_EXTRA_ARGS=--advertise-exit-node
29      #填写主机名,例如FnOS,和上面hostname功能一样,选一即可
30      - TS_HOSTNAME=FNOS 
31      # 配置文件目录,默认的
32      - TS_STATE_DIR=./state/
33    volumes:
34      # 配置文件目录
35      - /docker/apps/tailscale/var/lib:/var/lib
36      # 内核调用
37      - ./dev/net/tun:/dev/net/tun
38    # 网络模式,host模式,无WebUI网页
39    network_mode: host
40    # 重启策略,总是重启
41    restart: always

找到 FNOS 设备,然后删除禁用,保持一直在线。

https://img.nw177.cn/blog/20.routers/2005-没有公网如何远程访问-01-ts-03.webp

其次打开,编辑线路设置,将异地组网的内网 IP 打勾。

https://img.nw177.cn/blog/20.routers/2005-没有公网如何远程访问-01-ts-04.webp

2.3 如何使用 Tailscale

手机打开 Tailscale APP,打开左上角按钮。这样就相当于成功组网了,你可以用注册给的 FNOS 的公网 IP 100.x.x.x + 你飞牛内网哪个服务的端口,就能打开,比如 100.x.x.x:8096 就能打开 emby。

Tailscale 最舒服的就是可以使用内网 IP+端口,不用他给的公网IP,因为我们不是设置过一个子网路由,如图所示。

https://img.nw177.cn/blog/20.routers/2005-没有公网如何远程访问-01-ts-05.webp


3 星空组网

3.1 什么是星空组网

星空组网的官网是 https://starvpn.cn,注册一个账号。可能会弹出实名认证,其实不需要实名认证也能使用。为什么要使用星空组网呢?首先上面的 TS 是国外软件,星空组网是国内软件,所以在一些单位或者公司的朋友就可以使用,不会被单位公司防火墙阻拦。

3.2 怎么搭建星空组网

创建星空组网子账号,添加成员,比如添加飞牛 nas 的,添加 openwrt 的,添加电脑的,添加手机的。那么我们下载相对应的软件就可以用这个账号密码登录,比如我们创建飞牛的账号为xkzw:fnos

https://img.nw177.cn/blog/20.routers/2005-没有公网如何远程访问-02-星空组网-01.webp

https://img.nw177.cn/blog/20.routers/2005-没有公网如何远程访问-02-星空组网-02.webp

我们在 docker 中新建 compose 项目。

 1# 官方文档
 2# https://www.starvpn.cn/
 3
 4# ---
 5
 6name: stars_client
 7# 最后编辑时间:2025-02-14
 8services:
 9  stars_client:
10    # 镜像地址
11    image: registry.cn-beijing.aliyuncs.com/ld_beijing/stars.client:5.0.5
12    # 容器名字
13    container_name: stars_client
14    # 主机名
15    hostname: stars_client
16    # 特权模式,赋予容器几乎与主机相同的权限
17    privileged: true
18    environment:
19      # 指定您的星空组网成员账号
20      - STARS_USER=填写成员账号
21      # 指定您的星空组网成员密码
22      - STARS_PASS=填写成员密码
23    # 网络模式 
24    network_mode: host
25    # 重启策略,总是重启
26    restart: always

3.3 如何使用星空组网

打开手机星空组网 APP,输入子成员手机账号密码登陆,我们就会获得一个内网 IP 为 192.168.188.1,可以去星空组网网页查看飞牛给的内网IP为 192.168.188.2。那么我们访问飞牛 OS 就是 192.168.188.2:5666,如图所示。

https://img.nw177.cn/blog/20.routers/2005-没有公网如何远程访问-02-星空组网-03.webp


4 皎月连

4.1 什么是皎月连

皎月连得官网是 https://natpierce.cn,登录网站用手机注册,下载一个手机 APP。

4.2 怎么搭建皎月连

手机或者异地电脑端下载好软件,用注册的手机号登录。

我们在 docker 中新建 compose 项目。

 1# 官方文档
 2# https://www.natpierce.cn/
 3
 4# ---
 5
 6name: natpierce
 7# 最后编辑时间:2025-02-14
 8services:
 9  natpierce:
10    # 镜像地址
11    image: natpierce/natpierce:latest
12    # 容器名字
13    container_name: natpierce
14    # 主机名
15    hostname: natpierce
16    # 特权模式,赋予容器几乎与主机相同的权限
17    privileged: true
18    # 网络模式,host模式
19    # webui端口33272
20    network_mode: host
21    # 重启策略,总是重启
22    restart: always

4.3 如何使用皎月连

创建好 compose 项目 webUI 打开端口为 33272 的网页,输入密码然后打开组网,打开服务。最后在手机上登录账号,指定 FNOS 连接,就可以用内网 IP+端口访问了。

https://img.nw177.cn/blog/20.routers/2005-没有公网如何远程访问-03-皎月连-01.webp

https://img.nw177.cn/blog/20.routers/2005-没有公网如何远程访问-03-皎月连.webp


5 总结

内网穿透服务,对于没有公网用户还是挺友好的。我们可以把三个 compose 项目合成一个 yaml 文件。

 1services:
 2  tailscale:
 3    # 镜像地址
 4    image: tailscale/tailscale
 5    # 容器名字
 6    container_name: tailscale
 7    # 主机名,这里修改为设备的名字,在网页上就会显示对应的名字,和下面配置文件中功能一样
 8    #hostname: nas
 9    # 特权模式,赋予容器几乎与主机相同的权限
10    privileged: true
11    environment:
12      # 需要到TS官网-Setting-keys内生成,可设置多台设备使用同一个key,切勿泄露
13      # 默认90天失效,需要到TS官网-Machine,点击设备右侧的三个点,点击Disable key expiry进行取消失效
14      # 如果使用密钥方式登录,则不需要去容器内的ssh终端内进行tailscale login命令登录
15      # 如果去容器内的ssh终端内使用tailscale login命令登录,则不需要配置该项
16      #去TS官网获取auth key
17      - TS_AUTHKEY=替换我
18      # 192.168.x.0/24为本机所在的局域网网段,注意修改,允许本机作为流量出站点这个需要用到
19      - TS_ROUTES=192.168.x.0/24 #修改为主机所在的网段
20      # 允许本机作为流量出站点
21      - TS_EXTRA_ARGS=--advertise-exit-node
22      #填写主机名,例如FnOS,和上面hostname功能一样,选一即可
23      - TS_HOSTNAME=FNOS 
24      # 配置文件目录,默认的
25      - TS_STATE_DIR=./state/
26    volumes:
27      # 配置文件目录
28      - /docker/apps/tailscale/var/lib:/var/lib
29      # 内核调用
30      - ./dev/net/tun:/dev/net/tun
31    # 网络模式,host模式,无WebUI网页
32    network_mode: host
33    # 重启策略,总是重启
34    restart: always
35      
36  stars_client:
37    # 镜像地址
38    image: registry.cn-beijing.aliyuncs.com/ld_beijing/stars.client:5.0.5
39    # 容器名字
40    container_name: stars_client
41    # 主机名
42    hostname: stars_client
43    # 特权模式,赋予容器几乎与主机相同的权限
44    privileged: true
45    environment:
46      # 指定您的星空组网成员账号
47      - STARS_USER=填写成员账号
48      # 指定您的星空组网成员密码
49      - STARS_PASS=填写成员密码
50    # 网络模式 
51    network_mode: host
52    # 重启策略,总是重启
53    restart: always
54    
55  natpierce:
56    # 镜像地址
57    image: natpierce/natpierce:latest
58    # 容器名字
59    container_name: natpierce
60    # 主机名
61    hostname: natpierce
62    # 特权模式,赋予容器几乎与主机相同的权限
63    privileged: true
64    # 网络模式,host模式
65    # webui端口33272
66    network_mode: host
67    # 重启策略,总是重启
68    restart: always
推荐使用微信支付
微信支付二维码
推荐使用支付宝
支付宝二维码
最新文章

文档导航

此分类暂无内容