我们如何可以使用外网访问我们内网服务呢?有的人说可以使用第三方穿透工具,但是第三方穿透工具一般都不是很稳定,并且有各种限制,如果想要突破这些限制的话就需要支付一定的费用,所有使用非常麻烦,那么有没有办法我们自己搭建一个穿透服务呢?答案是可以的,下面我们就详细来讲解一下frp这个工具吧。

        frp是一款内网穿透工具,首先要一台服务器用作服务端(Linux外网),将自己的(WIN10内网)电脑用作客户端,我将通俗的讲解详细的安装以及使用过程,废话不多直接开始。

Linux要开放 7000  7500   9600端口,一定不要漏掉

官网地址,大家可以上去下载需要的版本就行:

https://github.com/fatedier/frp/releases/tag/v0.33.0

服务端安装:

linux下载:我们将文件下载到  /usr/local/frp 目录下,没有目录就新建,我们先切换到目录下,下载并解压:

下载命令:

wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz

解压命令:

tar -zxvf frp_0.44.0_linux_amd64.tar.gz

 

android使用frp 安卓使用frp_android使用frp

完成以后切换到目录 /etc/systemd/system/  新建文件 frps.service ,然后加入下面内容

[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#Restart=always
Restart=on-failure
RestartSec=5s
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/usr/local/frp/frp_0.44.0_linux_amd64/frps -c /usr/local/frp/frp_0.44.0_linux_amd64/frps.ini
[Install]
WantedBy=multi-user.target

android使用frp 安卓使用frp_运维_02

切换到我们安装目录,编辑里面的文件 frps.ini , 编辑内容如下

android使用frp 安卓使用frp_linux_03

[common]
bind_addr = 172.20.185.38
bind_port = 7000
kcp_bind_port = 7000
vhost_https_port = 7001
dashboard_addr = 172.20.185.38
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
log_file = ./frps.log
log_level = info
log_max_days = 3
authentication_timeout = 900
token=long123456
allow_ports = 2000-3000,3001,3003,4000-50000,3362
max_pool_count = 50
max_ports_per_client = 0

参数说明

[common]

#内网IP
bind_addr = 172.20.185.38

#frp开放端口
bind_port = 7000
kcp_bind_port = 7000
vhost_https_port = 7001
dashboard_addr = 172.20.185.38

#客户端访问端口
dashboard_port = 7500

#客户端访问账号
dashboard_user = admin

#客户端访问密码
dashboard_pwd = admin

#日志
log_file = ./frps.log
log_level = info

#日志3天清除一次
log_max_days = 3
authentication_timeout = 900

#设置的token,随意输入
token=long123456

#可以穿透的端口,可以配置多个,中间用逗号隔开
allow_ports = 2000-3000,3001,3003,4000-50000,3362
max_pool_count = 50
max_ports_per_client = 0

配置完成以后保存

sudo systemctl enable frps                                 -- 设置开机自启动
sudo systemctl start frps                                  -- 启动frps服务
sudo systemctl status frps                                 -- 查看启动日志
sudo systemctl restart frps                                -- 重启服务
sudo systemctl stop frps                                   -- 关闭服务

完成以后输入  http://你的服务器IP:7500/    输入账号密码 admin    admin,当看到下面界面说明成功了。

android使用frp 安卓使用frp_运维_04

下面安装客户端,我们使用64位的

android使用frp 安卓使用frp_android使用frp_05

下载完成以后编辑文件

android使用frp 安卓使用frp_linux_06

写入内容

[common]
server_addr = 120.25.172.500
server_port = 7000
authentication_method = token
token = long123456


[test-9600]
type = tcp
local_ip = 127.0.0.1
local_port = 9600
remote_port = 9600
 

参数讲解 

[common]

#服务端公网IP
server_addr = 120.25.172.500
server_port = 7000
authentication_method = token

#必须要和服务端的token一致
token = long123456


[test-9600]
type = tcp

#自己本地电脑内网IP
local_ip = 127.0.0.1

#本地服务ip,比如本地服务9600需要穿透
local_port = 9600

#服务器访问IP 比如 120.25.172.500:9600
remote_port = 9600

配置完成以后双击frpc.exe启动就可以了

android使用frp 安卓使用frp_服务器_07

 启动成功:

android使用frp 安卓使用frp_服务器_08

浏览器输入:120.25.172.500:9600      ,一定要确保我们本地服务9600启动就可以了

android使用frp 安卓使用frp_android使用frp_09

这样就相当于通过访问120.25.172.500:9600这个外网直接访问到了我们的内网9600,当然这个端口自己可以随意去设置的。