我要投稿 如果你有好的文章,欢迎分享给我们,我们会给与适当的补贴

利用frp内网穿透远程访问内网群晖教程

上了蜗牛星际的车,安装了黑群晖。虽然可以洗白,但是总觉得不厚道。好吧,只能自己动手丰衣足食。教程很多人都写过。我这里,只是作为自己的使用参考,感谢其他人的分享。

frp服务器端的配置:
  1.根据自己主机的操作系统下载对应的frp版本,我Linode的VPS用的是Debian,所以下载的是linux_amd64。截至我发文止,frp的最新版是0.28.2,可以到https://github.com/fatedier/frp/releases查看frp的最新版本,如有更新版本,把下面代码中的版本号(蓝字部分)改成最新的版本号就行了。新手不熟悉操作,直接复制粘贴我的代码用0.13.0版frp也没啥问题。

wegt https://github.com/fatedier/frp/releases/download/v0.28.2/frp_0.28.2_linux_amd64.tar.gz

  2.使用tar指令解压tar.gz文件

tar -zxvf frp_0.28.2_linux_amd64.tar.gz

  3.进入 frp 目录

cd frp_0.28.2_linux_amd64

  4.删除不必要的客户端文件

rm -f frpc frpc_full.ini frpc.ini

  5.配置服务器端文件

mkdir /etc/frps
cp frps.ini /etc/frps
mkdir /usr/bin/frps
cp frps /usr/bin/frps
vi /etc/frps/frps.ini
bind_port = 7000
vhost_http_port = 8080
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 123456
max_pool_count = 5
authentication_timeout = 900
subdomain_host = leitalk.com
[ssh]
listen_port = 6000
auth_token = 123321

简单说明下这个配置文件,详细配置可以参见官方中文文档:
[common] 必填的
bind_port Frp 服务端口(可自定义)
vhost_http_port http 访问端口(可自定义)
dashboard_port dashboard 界面端口
dashboard_user 登录 dashboard 用户名
dashboard_pwd 登录 dashboard 密码
max_pool_count 最大连接池数量
authentication_timeout 超时验证时间
subdomain_host 自定义二级域名
[ssh]
listen_port ssh 访问端口
auth_token 用户身份认证

  6.启动服务器端frp

./frps -c ./frps.ini

这时候,你输入你的服务器端的ip:7500 你应该可以看到服务器已经运行了。下面就是要配置客户端了。

7.设置frp服务端自启动

vi /etc/systemd/system/frps.service

然后输入以下内容

[Unit]
Description=FRP Server Daemon

[Service]
Type=simple
ExecStartPre=-/sbin/setcap cap_net_bind_service=+ep /usr/bin/frps
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini
Restart=always
RestartSec=20s
User=nobody
PermissionsStartOnly=true

[Install]
WantedBy=multi-user.target

运行下列命令

systemctl enable frps

然后你可以使用下列命令,启动,停止,以及查看frp的状态

systemctl start frps
systemctl stop frps
systemctl status frps

客户端配置

客户端就是您本地需要做外网服务的设备,可以是 PC、Mac、NAS、路由器、或者虚拟机里的 liunx 系统。

这篇文章主要是利用 Frp 技术访问在群晖 NAS 服务的应用。实例也是 NAS 系统。首先,先确认SSH已经开启,查看控制面板,然后终端机和SNMP,如下。

SSH 登录群晖 NAS (群晖必须开启 ssh) 一般我使用Putty来登录

下载 Frp, 删除服务端文件。(因为和服务端配置一样,不再一一赘述。)

sudo -i // 切换 root 用户 
wget https://github.com/fatedier/frp/releases/download/v0.28.2/frp_0.28.2_linux_amd64.tar.gz
tar -zxvf  frp_0.28.2_linux_amd64.tar.gz //解压缩文件包
cd frp_0.28.2_linux_amd64.tar.gz rm -f frps frps_full.ini frps.ini //删除FPR服务端的文件

编辑 frpc.ini 文件(客户端配置文件) vi frpc.ini

编辑配置文件如下

[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000

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

[web]
type = http
local_ip = 127.0.0.1
local_port = 5000
custom_domains = qunhui.leitalk.com

简单解释:

[common] 必填的

server_addr 服务器端公网
server_port frp 服务端口,和服务器端 bind_port 一致
auth_token 和前面服务器端 [ssh] auth_token 一致
pool_count 连接池数量

[ssh]

type 服务类型(tcp、http、https、udp)
local_ip NAS 本地局域网内网 ip
local_port NAS 开启 ssh 服务端口号,默认 22
remote_port 服务器端 ssh 端口,和服务器端 [ssh] listen_port 配置一致

[nas] NAS 管理界面

custom_domains 你自己设置的访问域名,需要将这个域名解析到你的服务器上
type = http 服务类型为 http
local_port NAS 默认端口 5000

详细配置

点击官方

保存,运行。(后台运行,请看下面)

./frpc -c ./frpc.ini

此时在服务端会看到”start proxy sucess”字样,即连接成功。

测试运行

ssh 测试

ssh -p 6000 [email protected]服务器ip 

经过测试,本人的网络是温哥华的Shaw,基本上可以跑满上行带宽。还是挺满意的。看看电影我就不奢望了。但是偶尔几个照片分享,还是很方便的。而我的蜗牛星际,也依旧稳定运行着。不过下面我要开始担心文件的安全性了。

user 为你登录群晖 NAS 的用户名

*以上端口仅供参考,请自行修改。此外内网文件暴露在外网,请注意网络安全,以避免隐私泄露。

如果确认服务器已经运行,而客户端连接不上,你需要确定下是不是防火墙封了端口。运行下面代码,看是否成功

 iptables -A INPUT -p tcp –dport 7000 -j ACCEPT 
 iptables -A OUTPUT -p tcp –sport 7000 -j ACCEPT 

Add a Comment

Your email address will not be published. Required fields are marked *