Linux搭建FRP实现内网穿透

k1XuwR9f46xph2o.jpg

简介:

使用FRP内网穿透工具使处于内网中的电脑能够像访问公网电脑一样方便,比如将公司或个人电脑里面的Web项目让别人能够访问以便于自己及时修改,或者是进行远程或SSH连接。能够实现内网穿透的还有花生壳,Ngrok等,但Frp使用起来更加简便灵活,以及项目一直开源,所以本文选择Frp作为示例。

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

项目地址:查看

准备工具

1.一台拥有公网的Linux服务器
2.内网IP
3.独立域名

步骤

一.服务端配置 使用frp一键部署脚本

此脚本是frp一键部署Linux服务端,像ssr、v2ray 等一键.sh脚本,安装、更新、重启、开机启动等服务。
脚本代码地址:查看
服务端安装支持:Centos | Debian | Ubuntu (32bit / 64bit)

nstall(安装)
Github
wget https://raw.githubusercontent.com/MvsCode/frps-onekey/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install
Aliyun
wget https://code.aliyun.com/MvsCode/frps-onekey/raw/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install
Uninstall(卸载)
./install-frps.sh uninstall
Update(更新)
./install-frps.sh update

服务端相关命令
frps start #启动frps服务端
frps stop #停止frps服务端
frps restart #重启frps服务端
frps status #显示frps状态
frps config #配置frps服务端
frps version #显示frps版本

脚本将会自动识别机器的IP地址,所有选项支持自定义,也均可默认配置,也就是直接按回车,程序就会使用默认配置进行安装

步骤说明:

Please select frps download url:
1.aliyun
2.github (default)
输入下载frp服务端配置文件的服务器,默认GitHub
Please input frps bind_port1-65535:
输入frp提供服务的端口,用于服务器端和客户端通信,默认5443
Please input frps vhost_http_port1-65535:
输入frp进行http穿透的http服务端口,默认80
Please input frps vhost_https_port1-65535:
输入frp进行https穿透的https服务端口,默认443
Please input frps dashboard_port [1-65535]
(Default : 6443):
输入frp的控制台服务端口,用于查看frp工作状态,默认6443
Please input frps dashboard_user(Default :admin):
输入frp的控制台服务账号,默认admin
Please input frps dashboard_pwd(Default :):
输入frp的控制台服务密码,默认是随机生成的
Please input frps token(Default :):
输入frp服务器和客户端通信的密码,默认是随机生成的
Please input frps subdomain_host(Default :...):
输入frp服务器自定义域名,支持自定义二次域名,默认是服务器IP地址
Please input frps max_pool_count [1-200]
(Default : 50):
设置每个代理可以创建的连接池上限,默认50
Please select log_level
1: info (default)
2: warn
3: error
4: debug
设置日志等级,4个选项,默认是info
Please input frps log_max_days [1-30]
(Default : 3 day):
设置日志保留天数,范围是1到30天,默认保留3天。
Please select log_file
1: enable (default)
2: disable
设置是否开启日志记录,默认开启,开启后日志等级及保留天数生效,否则等级和保留天数无效
Please select tcp_mux
1: enable (default)
2: disable
客户端和服务器端之间的连接支持多路复用,默认开启
Please select kcp support
1: enable (default)
2: disable
选择是否开启kcp 协议,默认开启,弱网环境下传输效率提升明显,但会有额外的流量消耗
4bt9XH7sfenjFT6.jpg

启动成功后,本地访问 查看链接或者自定义域名:6433 即可看到WEB控制台。到此安装服务端成功!

注意:放行端口

UeH8hBwNJiug2MW.jpg

二. 客户端配置

下载frp相关文件

首先,前往Github上下载最新的frp客户端文件 下载,很多其他的玩法可以自己查看frp的文档

打开之后根据手机的CPU版本进行选择需要下载的文件,因为我手机的是ARM64的,我下载的是frp_*_linux_arm64.tar.gz,具体需要下载哪个自行百度查询。

配置frp

解压frp_*_linux_arm.tar.gz,修改frpc.ini

[common]
server_addr = xx.xx.xx.xx
公网服务器ip
server_port = 5443
与服务器bind_port一致
token = MaOB49PlIgfQDuTy
与服务器token一致
[ssh]
type = http
连接协议 ssh http https tcp等
local_ip = 192.168.2.233
内网服务器ip 为本地web服务对应地址
local_port = 8080
本地web服务端口
remote_port = 6000
自定义访问内部端口
custom_domains = www.ailolita.cn
绑定域名

bLBkyOFqsCPjfWd.jpg

绑定域名

1PRtkKLsF4DGoue.jpg

  • 填写主机名 如www/@/*
  • 选择解析记录类型为A记录
  • 填写公网服务器ip
  • 点击保存,等待生效

运行frp
首先高级终端 下载
把frpc和frpc.ini这两个文件复制到 /data/data/ 目录 (需要root权限)
打开终端 输入su (需要root)
root后输入
./frpc -c ./frpc.ini
ciDyFhfBRAX9GYT.jpg

远程访问

此时,就可以在外网访问网内资源了。
只需要打开浏览器,在地址栏输入 公网IP:81 即可访问web界面。
72zatQW8HX5JyMG.jpg

Last modification:August 30th, 2020 at 10:11 am
如果觉得我的文章对你有用,请随意赞赏