1介绍FRP是一款开源、简单易用、高性能的内部网透明和反向代理软件,支持tcp、udp、http和https等协议。 frp项目官网为https://github.com/fatedier/frp,
frp机制服务端运行,监听主端口,等待客户端连接; 客户端连接到服务端的主端口,同时向服务端传达监听的端口和传输类型。 服务端fork的新进程接收客户端指定的端口。 外联网用户连接到客户端指定的端口,而服务端通过与客户端的连接将数据传输到客户端。客户端进程通过将数据传输到本地服务实现内联网外部暴露服务的能力。 2要配置配置教程frp透明度,首先需要一个具有外部网ip (即可以访问外部网的服务器)。 如果不是,你可以不看下一个教程。 配置教程主要分为两个部分:第一部分是服务器端(外部网服务器)配置;第二部分是客户端(内部网服务器)配置。
2.1服务器端配置1、frp库linux版下载:百度网盘、密码:i8vm
下载并上传到服务器:
scp FRP _0. 33.0 _ Linux _ amd64.tar.gz用户名@服务器端ip:~/
现在我把它放在服务端家的目录里了
或执行命令:
wget 3359 github.com/fate dier/FRP/releases/download/v0. 33.0/FRP _0. 33.0 _ Linux _ amd64.tar.gz
如果觉得速度慢,请使用mwget进行安装
MW get 3359 github.com/fate dier/FRP/releases/download/v0. 33.0/FRP _0. 33.0 _ Linux _ amd65374; ar.gz
2、解压缩frp压缩包tar-zxvf FRP _0. 33.0 _ Linux _ amd64.tar.gz如下图所示。
3、进入这个解压缩目录。 打开cd frp_0.33.0_linux_amd64/配置文件:
vi frps.ini将文件内容修改如下:
[common]# frp接收的端口默认为7000。 可以更改为其他bind_port=7000#验证码。 更改为更复杂的token=52010 #的token,然后在客户端使用# frp管理后台端口。 根据需要更改dashboard_port=7500# frp管理后台用户名和密码,然后更改自己的dashboard _ user=admin dashboard _ pwd=admin enable _ proble
4、frp服务sudo mkdir-p/etc/frpsudocpfrps.ini/etc/frpsudocpfrps/usr/binsudocpsystemd/frps.service/usr/ll
5、防火墙开放端口#监听端口sudo firewall-cmd---- permanent---add-port=7000/TCP # 附加管理后台端口sudo firewall-cmd-- permanent-add-por ration tcpsudo firewall-cmd-- reload注意:对于ubuntu或centos 6,请参阅ufw /
b. 7000和7500两个端口分别对应于frps.ini配置中的bind_port和dashboard_port
6、确认服务端是否启动正常访问: http://服务器IP:后台管理端口”,输入用户名和密码即可查看连接状态
例如,http://62.244.114.4:7500/,用户名和密码分别对应于frps.ini文件中的dashboard_user和dashboard_pwd
登录后的接口如下:
如果上述步骤没有问题,则表示frp的服务端配置成功,内部网透明成功一半!
2.2、客户端配置1、frp库linux版、密码:i8vm下载
mac版,密码:glzc
下载并上传到服务器:
scp FRP _0. 33.0 _ Linux _ amd64.tar.gz用户名@服务器端ip:~/
现在我把它放在服务端家的目录里了
2、解压缩frp压缩包tar-zxvf FRP _0. 33.0 _ Linux _ amd64.tar.gz3,此解压缩目录: cd frp_0.33.0_linux_amd64/
按如下方式修改vi frpc.ini (注意,不是frps.ini )文件的内容:
#客户端配置[common]server_addr=服务器IPserver_port=7000#FRPS.ini的bind_port匹配token=52010#FRPS.ini的token匹配配置ssh type=TCP local _ IP=127.0.0.1 local _ port=22 remote _ port=6000 #进行自定义,然后在ssh连接时#使用http服务可用于小程序的开发、远程调试等。 以下[ web ] type=http local _ IP=127.0.0.1 local _ port=8080 subdomain=test.hijk.pw # web域名remote_port=
注意:类似[ssh]的名称必须是全局唯一的。 这意味着,即使有多个客户端,也只能使用一次。 其他可以使用[ssh2]、[ssh3]等。 也就是说,如果要配置多个客户端,请将另一个客户端的[ssh]更改为[ssh2]、[ssh3]等,并使用4个防火墙开放端口linux:等远程_ PPE
sudo firewall-cmd---permanent---add-port=6000/tcpsudofirewall-cmd---permanent-- add-port=8080
如果mac的放弃端口很麻烦,可以直接关闭防火墙。
但是,即使如此,mac也有可能发生以下错误。
这是因为没有授予ssh权限,或者没有打开ssh服务。 你需要的是:
sudosystemsetup-getremoteloginsudosystemsetup-setremoteloginon启动ssh服务。
sudolaunchctlload-w/system/library/launch daemons/ssh.plist 5,客户端启动在FRP _0. 33.0 _ Darwin _ amd65374; 65306;
./frpc -c frpc.ini如您所见:
恭喜到此为止。 你基本上成功了,但还剩下最后一步,很多人会弄错。
3、测试是否配置为找到另一不同网段的linux或mac电脑,并在终端运行
ssh用户名@服务端ip -p端口号在此请注意。 其中,服务端的ip、用户名和端口号使用frpc.ini文件中的remote_port。 成功登录后,恭喜你。 学习了如何利用frc配置内部网穿透。
参考: https://t lanyan.me/FRP-tunnel-tutorial /