sillydanny 发表于 2020-10-29 12:38:18

入坑IMTNAS星际魔盒2 - MCS7配置免费内网穿透frp-移动大内网...

本帖最后由 sillydanny 于 2020-10-29 14:22 编辑



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
### 前言:

在IPV4地址短缺的情况之下,不是每个家庭都分配到公网的IPV4地址。如要访问家中的设备就变得不方便,坊间有五花八门方法可以实现访问家中设备,如TeamViewer、 Zero-Tier、 花生壳 等等, 但因为每地区的网络环境不同,体验也不一样。 这里我推荐frp实现家中设备在内网穿透到网外。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

### 为什么是frp:

frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

### 配置前准备:

域名1个, 无论是付费还是免费的.

(如果没有, 可以购买一个也很便宜)

DNSPod 域名



华为云 域名


-------------
以CloudFlare设定为例:

我的域名是: **kingsir.ga**
想新增一个别名称为**imtnas**给魔盒做访问


选取DNS记录类型为CNAME, 名称: imtnas 目标: free.frp.ioiox.com

目标: free.frp.ioiox.com 是免费的frp服务器


稍等片刻,PING一下,两个地址是否一样.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

### 安装frpc(即frpc客户端):

首先SSH登陆星际魔盒及获得root权限


用户名: **admin**
密码: **admin**
sudo -i
~~~


下载及安装frp客户端(ARMV7):
FRP_VERSION="0.34.1" && wget https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_arm.tar.gz && tar -zxvf frp_${FRP_VERSION}_linux_arm.tar.gz && mv frp_${FRP_VERSION}_linux_arm/frpc /usr/local/bin && rm frp_${FRP_VERSION}_linux_arm.tar.gz && rm -rf frp_${FRP_VERSION}_linux_arm

建立一个空白的资料夹 (存放frpc 配置文件):
mkdir -p /etc/frp
~~~

创建frpc 配置文件:
(在ssh内贴上, enter)

cat >> /etc/frp/frpc.ini << EOF

server_addr = free.frp.ioiox.com
server_port = 7007
token = www.ioiox.com

admin_addr = 10.10.1.51
admin_port = 7400
admin_user = admin
admin_pwd = admin


type = http
local_ip = 10.10.1.51
local_port = 8060
custom_domains = imtnas.kingsir.ga
EOF

~~~

配置文件说明:

admin_addr = 10.10.1.51         # 坊问Dashboard的地址 (即魔盒IP)
admin_port = 7400                              # Dashboard端口
admin_user = admin          # Dashboard用户名
admin_pwd = admin          # Dashboard密码

                                           # 服务名称(多个服务不能重名)
type = http                                       # http协议
local_ip = 10.10.1.51                              # 需穿透的设备内网IP(我的魔盒是10.10.1.51)
local_port = 8060                           # 8060是导航页面的端口
custom_domains = imtnas.kingsir.ga# 填写你登记的域名
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

### 增设frpc为系统服务:

系统服务可以做到 启动/停止/重新启动/查看状态 的功能.
创建frpc的系统服务文件 (在ssh内贴上, enter)

~~~
cat >> /etc/init.d/frpc << EOF
#!/bin/sh

### BEGIN INIT INFO
# Provides:          frpc
# Required-Start:    $local_fs $network
# Required-Stop:   $local_fs
# Default-Start:   2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: frpc service deamon
# Description:       frpc service daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/frpc
DAEMON_OPTS=-c\ /etc/frp/frpc.ini
NAME=frpc
USER=root

set -e
. /lib/lsb/init-functions

start() {
      echo -n "Starting $NAME: "
      start-stop-daemon --start \
                --user $USER \
                -m --pidfile /var/run/$NAME.pid \
                -b --exec $DAEMON -- $DAEMON_OPTS || true
      echo "$NAME."
}

stop() {
      echo -n "Stopping $NAME: "
      start-stop-daemon --stop \
                --pidfile /var/run/$NAME.pid || true
      echo "$NAME."
}

status() {
      status_of_proc -p /var/run/$NAME.pid "$DAEMON" $NAME && exit 0 || exit $?
}

case "$1" in
start)
start
      ;;
stop)
stop
      ;;
status)
status
      ;;
restart)
stop
sleep 2
start
      ;;
*)
      echo "Usage: $NAME {start|stop|restart|status}"
      exit 1
      ;;
esac
exit 0
EOF


增加可执行权限:

chmod +x /etc/init.d/frpc

启动frpc

/etc/init.d/frpc start

重新启动frpc

/etc/init.d/frpc restart

状态观察:

/etc/init.d/frpc status

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
### 現在可以透過域名地址瀏覽导航页面



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
### 添加开机启动frpc进程:


sed -i '$d /etc/rc.local
sed -i -e '$a/etc/init.d/frpc start' /etc/rc.local
sed -i -e '$aexit 0' /etc/rc.local

在MCS7使用"update-rc.d frpc defaults"这命令
不能新增开机启动,如有解决方法请告知. 谢谢!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
### frp Dashboard

通过浏览器查看 frp 的状态以及编辑 frpc.ini 中内容
如新增穿透设备, 更新域名等

打开浏览器通过 `http://魔盒IP:7400` 访问 dashboard 界面。

举个例子:

我想新增FileBrowser服务到网外访问

以CloudFlare设定为例:

我的域名是: **kingsir.ga**
想新增一个名称为files的别名 访问FileBrowser服务


选取DNS记录类型为CNAME, 名称: files 目标: free.frp.ioiox.com

目标: free.frp.ioiox.com 是免费的frp服务器

打开浏览器通过 `http://魔盒IP:7400` 访问 dashboard 界面。

應用IP地址端口子目錄
Frp魔盒IP7400







加入这段内容:


type = http
local_ip = 10.10.1.51
local_port = 8080
custom_domains = files.kingsir.ga





通过浏览器 http://files.kingsir.ga 访问 FileBrowser服务




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
### 结语:

本人使用frp已经2年,十分稳定,可以在复杂的网路环境中做穿透(如移动大内网), 而且功能非常丰富。 虽然设定上有少许烦琐,但是配置成功,就能*一劳永逸*。
frp客户端的连线速度更多时候取决与frp伺服务器的带宽,如果长期有大文件操作还是建议自行架设frp伺服务器使用。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
### 参考资料:

frp原作者 : fatedier

https://github.com/fatedier/frp

开机启动和后台运行

https://github.com/fatedier/frp/issues/176

免费提供frp服务器(IOIOX):

https://www.ioiox.com/frp.html

另一免费内网穿透服务Sakura Frp

https://www.natfrp.com/



sillydanny 发表于 2020-10-29 12:38:44

本帖最后由 sillydanny 于 2020-10-29 13:27 编辑

### 更新导航页面的超连结(Link):

做了内网穿透后, 也可以经FileBrowser一并更新导航页面的超连结(Link)


如下图示:




adiao 发表于 2020-10-29 13:38:58

高产的大佬帮顶 帮顶

sillydanny 发表于 2020-10-29 13:40:47

adiao 发表于 2020-10-29 13:38
高产的大佬帮顶 帮顶

你最好, 謝謝支持.

moyaofeng 发表于 2020-10-29 13:46:42

大佬牛逼,点赞

ahmengkai 发表于 2020-10-29 14:18:18

大佬厉害
这个msc7可以部署homeassistant吗?https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif

kpxx 发表于 2020-10-29 14:20:35

感谢大佬分享。。

风云郎 发表于 2020-10-29 15:37:09

期待大佬更多教程!

adiao 发表于 2020-10-30 13:45:43

帮顶 帮顶
页: [1] 2
查看完整版本: 入坑IMTNAS星际魔盒2 - MCS7配置免费内网穿透frp-移动大内网...