找回密码
 立即注册
img_loading
智能检测中

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 13297|回复: 24

内网穿透frp安装使用详细教程

[复制链接]
发表于 2021-9-16 17:45 | 显示全部楼层 |阅读模式
因为家里是移动千兆宽带,没有公网ip,恰巧我又有台vps.新配的电脑想做个allinone.只好自己鼓捣

所有内容都是网上查询和自我摸索到的.
我也是新手,有意见大家提哈

前提:有自己的服务器,有内网穿透的需求



部署frp服务端

服务端建议部署在国内VPS、国内NAT VPS、国外CN2 GIA VPS上,以提供良好的访问体验。

1. 打开 frp下载页面,下载最新版的 frp_0.37.1_linux_amd64.tar.gz,然后上传到服务器(windows上传请参考:Bitvise连接Linux服务器教程,mac系统上传请参考:Mac电脑连接Linux教程),也可以ssh连接到服务器后用wget下载:

wget  https://github.com/fatedier/frp/ ... _linux_amd64.tar.gz


    注意不要下错
    绝大部分服务器系统都是64位,因此本教程直接让你下载amd64的压缩包。如果你用的树莓派等特殊服务器,请换成相应架构的安装包。

2. 服务器上解压安装包:tar -zxvf frp_0.37.1_linux_amd64.tar.gz;

3. 进入解压后的目录:cd frp_0.37.1_linux_amd64,然后用vim/nano等编辑器编辑frps.ini文件(可以下载到本地,编辑好后再上传上去),填入下面的内容:

举例:
vps ip:1.1.1.1

域名:aaaaaa.tk

[common]
# frp监听的端口,默认是7000,可以改成其他的
bind_port = 7000
# 授权码,请改成更复杂的,和客户端的必须相同
token = ****

#需要*.aaaaaa.tk指向服务器1.1.1.1
subdomain_host = aaaaaa.tk

#客户端启用http服务时,需要和服务端相同,可以用80,这样就不用输入80,不输入端口时默认是80,但不建议
vhost_http_port = 7700


# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = rightright

dashboard_pwd = rightright
enable_prometheus = true


# frp日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 3

备注:如果server不配置vhost_http_port,客户端又有http,则会报错:
type [http] not support when vhost_http_port is not set

4. 设置和启动frp服务:

mkdir -p /etc/frp
cp frps.ini /etc/frp
cp frps /usr/bin
cp systemd/frps.service /usr/lib/systemd/system/
systemctl enable frps
systemctl start frps


    注意:这些命令执行成功的前提是进入了解压后的frp目录下(黑窗口执行过cd frp_0.37.1_linux_amd64命令)

5. 防火墙放行端口:

debian
#安装iptables(通常系统都会自带,如果没有就需要安装)

apt-get update
apt-get install iptables

#要放行所有需要的端口
iptables -I INPUT -p tcp --dport 7000 -j ACCEPT
iptables -I INPUT -p tcp --dport 7500 -j ACCEPT
iptables -I INPUT -p tcp --dport 7700 -j ACCEPT

#然后保存放行规则
iptables-save

#设置完就已经放行了指定的端口,但重启后会失效,下面设置持续生效规则;
#安装iptables-persistent

apt-get install iptables-persistent

#保存规则持续生效

netfilter-persistent save
netfilter-persistent reload

#设置完成后指定端口就会持续放行了;


centos
# 添加监听端口
firewall-cmd --permanent --add-port=7000/tcp
# 添加管理后台端口
firewall-cmd --permanent --add-port=7500/tcp
firewall-cmd --reload


    注意:

    1. 如果是ubuntu或者centos 6,请使用ufw/iptables工具放行端口;

    2. 7000和7500两个端口记得改成和frps.ini配置的一样

6. 浏览器打开“http://服务器IP:后台管理端口” ,输入用户名和密码可以查看连接状态:


服务端配置好后,接下来介绍客户端配置。
配置frp客户端

1. 首先还是打开 frp下载页面,下载最新版的客户端。根据客户端平台不同,请按照下面对应关系下载:

    windows系统:32位系统下载frp_0.37.1_windows_386.zip,64位系统下载 frp_0.37.1_windows_amd64.zip,如果不知道系统多少位,下载32位的总没错;
    mac系统:下载 frp_0.37.1_darwin_amd64.tar.gz;
    linux系统:32位系统下载 frp_0.37.1_linux_386.tar.gz,64位系统下载 frp_0.37.1_linux_amd64.tar.gz,不知道请下载32位的;
    树莓派/路由器等:32位系统下载 frp_0.37.1_linux_arm.tar.gz,64位系统下载 frp_0.37.1_linux_arm64.tar.gz,如果不知道系统多少位,直接下载32位的。

2. 解压缩下载的压缩包,进入文件夹内;

3. 编辑frpc.ini,按照自己的需求设置转发。下面是一个示例:

# 服务端配置
[common]
server_addr = 1.1.1.1
# 请换成设置的服务器端口
server_port = 7000
#和server必须相同

token = *****


# 配置ssh服务,ssh1这个名字必须独一无二,不能重复
[ssh1]
type = tcp
#局域网ip
local_ip = 127.0.0.1
local_port = 22
#不同客户端不同,使用云服务器哪个端口访问本机
remote_port = 7001
#启用加密
use_encryption = true
#启用压缩
use_compression = true


# 配置http服务,可用于小程序开发、远程调试等
[web1]
type = http
local_ip = 127.0.0.1
#为本机上提供的web服务端口,和其他端口不同,不同客户端可以相同,本地的,尽量不同,防止在同一局域网
local_port = 7701
#不同机器不同
subdomain = app
#必须和server相同,可以不写
remote_port = 7700

#Remote Desktop,Win的 RDP 默认端口是3389,tcp.本条规则可以实现远程连接。
[rdp1]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7002

#SMB,即 Win文件共享协议,默认445,tcp,可实现远程文件访问。
[smb1]
type = tcp
local_ip = 127.0.0.1
local_port = 445
#设定远程端口,当访问服务器的7002端口时,数据会被转发到本地445端口
remote_port = 7003


    注意:
        将泛域名 *.aaaaaa.tk 的A记录解析到 frps 所在服务器的 1.1.1.1 地址。

    1. 一个服务端可以同时给多个客户端使用

    2. [ssh]这样的名称必须全局唯一,即就算有多个客户端,也只能使用一次,其他的可以用[ssh2]、[ssh3]等;

    3. 除了type为http/https,端口只能被一个服务使用

    4. 如果用的nat vps,remote_port请改成映射后的端口

4. 登录服务器,防火墙放行监听的端口:之前做过的可以跳过

    nat vps放行的端口应该是系统内部端口

5. win,程序文件夹下打开cmd
frpc.exe -c frpc.ini


6. 登录frp管理后台,应该可以看到客户端已经连上来了

win开机启动:
创建frpc.vbs文件
dim objShell set objShell=wscript.createObject("WScript.Shell")
iReturnCode=objShell.Run("D:\App\frp\frpc.exe -c D:\App\frp\frpc.ini",0,TRUE)


双击 frp.vbs ,即可启动 frpc 服务。
将 frp.vbs 放在 C:\Users\h\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 启动目录中,即可实现开机启动。


ssh登录:
ip:远程主机
端口:此处为[ssh]下定义的romote_port:7001
用户:计算机管理-用户组.为:h
密码:是我登录的微软账号的密码,不是开机密码


或者直接命令行:
ssh -p  7001 h@1.1.1.1


web访问:
http://app.aaaaa.tk:7700/
此处,app为二级域名,7700是server配置的vhost_http_port

远程控制:
win:地址:1.1.1.1:7000,之后输入用户名和密码就能成功远程了。

一:linux访问win:
Deepin 的应用商店安装 Remmina 工具,Remmina 是一个支持 SSH RDP VNC 等多种协议的远程桌面客户端,运行之后,打开右上角的菜单,选择“首选项”,切换到“RDP”选项卡,质量设置里,可以选择一个预设项,比如“良好”,一定要勾选“平滑字体”,保存。
回到Remmina主程序,点击左上角创建连接,名称由自己定,,协议选择“RDP”,服务器填写自己的阿里云服务器的IP地址,端口号是电脑A frpc.ini 配置文件指定的 33891,如果使用默认的3389端口,可以不填端口号。切换到高级项,将画质设置为“良好”,声音也可以打开,安全项不变,但是如果电脑A的系统是windows7,安全项一定要设置为"RDP"才能连接。
一切配置就序,连接之后,输入被控的Win10系统的用户名密码登录

二:win访问win:
如果是 win7以上系统控制另外一台win:打开windows的远程桌面连接程序(mstsc.exe),输入代理服务器IP及端口,连接即可。

二:win访问linux:
linux安装远程桌面服务,打开终端,运行:sudo apt-get install xrdp
延续windows的运程桌面,依然使用RDP协议,安装xrdp 做为Deepin 远程桌面服务。


在win上,打开远程桌面连接程序(mstsc.exe),输入代理服务器IP地址及端口号,即可连接。

SMB文件共享:
支持smb的软件,主机地址为1.1.1.1,端口为7002,必须使用支持自定义端口的app,要不然就变成默认的445了


只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
 楼主| 发表于 2021-9-16 17:47 | 显示全部楼层
服务端的配置:

[common]
# frp监听的端口,默认是7000,可以改成其他的
bind_port = 7000
# 授权码,请改成更复杂的,和客户端的必须相同
token = ****

#需要*.aaaaaa.tk指向服务器1.1.1.1
subdomain_host = aaaaaa.tk

#客户端启用http服务时,需要和服务端相同,可以用80,这样就不用输入80,不输入端口时默认是80,但不建议
vhost_http_port = 7700


# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = rightright

dashboard_pwd = rightright
enable_prometheus = true


# frp日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 3
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-16 17:48 | 显示全部楼层
服务端就是你的vps服务器
客户端就是你的电脑

客户端配置:

# 服务端配置
[common]
server_addr = 1.1.1.1
# 请换成设置的服务器端口
server_port = 7000
#和server必须相同

token = *****


# 配置ssh服务,ssh1这个名字必须独一无二,不能重复
[ssh1]
type = tcp
#局域网ip
local_ip = 127.0.0.1
local_port = 22
#不同客户端不同,使用云服务器哪个端口访问本机
remote_port = 7001
#启用加密
use_encryption = true
#启用压缩
use_compression = true


# 配置http服务,可用于小程序开发、远程调试等
[web1]
type = http
local_ip = 127.0.0.1
#为本机上提供的web服务端口,和其他端口不同,不同客户端可以相同,本地的,尽量不同,防止在同一局域网
local_port = 7701
#不同机器不同
subdomain = app
#必须和server相同,可以不写
remote_port = 7700

#Remote Desktop,Win的 RDP 默认端口是3389,tcp.本条规则可以实现远程连接。
[rdp1]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7002

#SMB,即 Win文件共享协议,默认445,tcp,可实现远程文件访问。
[smb1]
type = tcp
local_ip = 127.0.0.1
local_port = 445
#设定远程端口,当访问服务器的7002端口时,数据会被转发到本地445端口
remote_port = 7003
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2021-9-16 20:04 | 显示全部楼层
现在租的小黄鱼上的,学学自己搞,就是不知道选啥服务器

点评

我用的bwg,远程控制只能说将就用吧  详情 回复 发表于 2021-9-16 21:41
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-16 21:41 | 显示全部楼层
kobe224 发表于 2021-9-16 20:04
现在租的小黄鱼上的,学学自己搞,就是不知道选啥服务器

我用的bwg,远程控制只能说将就用吧
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2021-9-16 22:12 | 显示全部楼层
hulhut 发表于 2021-9-16 21:41
我用的bwg,远程控制只能说将就用吧

我也是将就用着,没有公网只能忍着了
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2021-9-16 23:19 | 显示全部楼层
移动基本都有ipv6,思考一下scxxxx,可以做到跑满上行,v4、v6通吃

点评

有没有关键词,我去搜下  详情 回复 发表于 2021-9-17 13:30
这个是什么?scxxxx 。啥都搜不到啊  详情 回复 发表于 2021-9-16 23:24

评分

参与人数 1恩山币 +1 收起 理由
hulhut + 1 几亿网民,我们俩竟然神奇的在恩山相遇了!来,1分也是分!

查看全部评分

只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-16 23:24 | 显示全部楼层
King13 发表于 2021-9-16 23:19
移动基本都有ipv6,思考一下scxxxx,可以做到跑满上行,v4、v6通吃

这个是什么?scxxxx  。啥都搜不到啊
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-17 13:30 | 显示全部楼层
King13 发表于 2021-9-16 23:19
移动基本都有ipv6,思考一下scxxxx,可以做到跑满上行,v4、v6通吃

有没有关键词,我去搜下
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2021-9-17 21:39 | 显示全部楼层
hulhut 发表于 2021-9-16 23:24
这个是什么?scxxxx  。啥都搜不到啊

socat 去张大妈搜一下,然后配合那个回流的解析,只能特定端口,够用了
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2021-11-13 13:02 | 显示全部楼层
本帖最后由 ms2 于 2021-11-13 13:03 编辑

为什么网上所有的帖子都说要有自己的服务器?我觉得这很误导人,只要有动态的公网IP,路由器上随便刷一个padavan或openwrt,设置一下直接就可以作服务器了,公网IP我早就有了,别再这样写误导人了,还特意提醒

点评

因为我没有公网ip啊.所有移动的都没有 我第一句就说了我的情况了.  详情 回复 发表于 2021-11-15 10:52
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2021-11-13 14:18 | 显示全部楼层
frp思考了
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2021-11-14 05:14 | 显示全部楼层
IPV6显示无网络权限。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-15 10:52 | 显示全部楼层
ms2 发表于 2021-11-13 13:02
为什么网上所有的帖子都说要有自己的服务器?我觉得这很误导人,只要有动态的公网IP,路由器上随便刷一个pa ...

因为我没有公网ip啊.所有移动的都没有
我第一句就说了我的情况了.
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2021-11-15 15:31 | 显示全部楼层
好复杂,佩服楼主的钻研精神。我用zerotier简单得不得了
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛

只谈技术、莫论政事!切勿转播谣言!为了你也为了他人。
只谈技术、莫论政事!(点击见详情) 切记不要随意传播谣言,把自己的日子过安稳了就行,为了自己好也为了大家好。 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。

查看 »

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-6-1 04:41

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表