Pandorabox实现内网穿透远程管理

By | 2017年7月21日

现在家中的路由器系统为Pandorabox,为了能方便的在公司或者外地远程管理家里的路由器,必须想办法能在外面访问路由器的80端口或者22端口。

这里介绍如何使用frp程序来实现,非常简单方便。

frp程序是一个可以实现内网穿透,支持tcp、http、https协议,能自定义域名绑定,方便到没朋友。

frp程序分为2部分,1)frps,服务端程序,需要部署到一台有公网IP的机器(比如ECS),2)frpc,客户端程序,即需要被远程访问的机器,这里就是我的路由器设备。

一、首先在服务器上部署frps程序

这里我的公网服务器使用的是Windows Server 2008系统,下载windows版的frp程序,由于服务器端只需使用frps,所以可以把frpc相关文件删除,编辑frps.ini文件:

[common]
bind_port = 7000
vhost_https_port = 8801
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
subdomain_host = domain.com

然后运行fps程序:

D:\tools\frp\frp_0.13.0_windows_amd64\frps.exe -c frps.ini

服务器端的配置相对简单。

注意,这里我仅绑定了一个https端口为8801,如果需要使用http,可以再加一行:

vhost_http_port = 8802

这样的话,架设服务器的外网IP为211.211.211.211,把自己的域名qwe.domain.com解析到211.211.211.211。

访问http使用:http://qwe.domain.com:8802,

访问https使用:https://qwe.domain.com:8801

二、配置客户端frpc程序

首先把frpc文件和frpc.ini传到路由器系统中,可以使用winscp软件,这里我放在在了/opt/frp目录下,修改frpc.ini文件:

[common]
server_addr = 211.211.211.211
server_port = 7000
admin_addr = 127.0.0.1
admin_port = 7400

[web]
type = https
local_port = 443
subdomain = qwe
use_encryption = true
use_compression = true
http_user = admin
http_pwd = admin

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

这里我使用了这几项功能:

1)客户端热加载frpc.ini配置文件,客户端修改了frpc.ini文件,使用–reload参数可以实现热加载

admin_addr = 127.0.0.1
admin_port = 7400

2)使用密码保护的https网页,使用HTTP BASE AUTH加密网页,保存路由器页面,不让外人访问

http_user = admin
http_pwd = admin

3)使用子域名访问,需要在服务器端的frps.ini文件中指定subdomain_host值

subdomain = qwe

4)转发SSH端口,在外面也能ssh家里的路由器,实现远程管理,其中的remote_port是服务器端监听的端口,默认是6000,不要修改

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

客户端启动frpc程序:

/opt/frp/frpc -c /opt/frp/frpc.ini &

如果需要reload,热加载配置文件:

/opt/frp/frpc -c /opt/frp/frpc.ini --reload

三、创建/etc/init.d/frpc文件,实现方便的启动关闭功能

#!/bin/sh /etc/rc.common
START=100

start() {
	/opt/frp/frpc -c /opt/frp/frpc.ini &
}

stop() {
	killall -9 frpc
}
reload() {
	/opt/frp/frpc -c /opt/frp/frpc.ini --reload
}
restart() {
	stop
	sleep 1
	start
}

四、写入开机启动文件

在/etc/rc.local文件中写入:

# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.

/opt/frp/frpc -c /opt/frp/frpc.ini > /dev/null 2>&1 &

exit 0

五、在外面使用

1)访问路由器页面使用:https://qwe.domain.name:8801

2)使用ssh,IP为211.211.211.211,端口为6000,我在mRemoteNG中创建如下连接,即可使用:

3)使用基于SSH的SCP远程文件管理,既然SSH开放了,那管理文件也方便了,在Winscp中创建如下连接:

现在就像在家里一样能轻松管理路由器了,实现Web、SSH、File,全方位的管理。