内网穿透软件-frp

内网穿透软件的作用是解决想要在公司访问家里内网NAS,或是在家里访问公司服务问题。主要有以下方式:
路由器上有固定的公网IP或动态的公网IP:常见的方案动态域名解析做端口转发方式等。
路由器上无公网IP:常见的实现方案向日葵、teamviewer、ngrok、frp、zerotier one等。
向日葵、teamviewer等是直接厂商的成熟方案,主要提供桌面访问和控制功能;frp、ngrok、zerotier one可以提供端口级服务访问功能,如SSH、HTTP、流媒体服务等,因此受到很有有更多需求的人的选择使用。
本文提到的FRP和ngrok类似都需要有一个公网的服务器提供对应服务,而zerotier one不需要公网服务器,但是因为采用UDP协议,稳定性较差,有的运营商会进行限制。本文主要介绍FRP穿透软件。

frp简介

frp 是一个使用 Go 语言开发的高性能的反向代理应用,全名:Fast Reverse Proxy,可以帮助您轻松地进行内网穿透,对外网提供服务。frp 支持 TCP、UDP、HTTP、HTTPS等协议类型,并且支持 Web 服务根据域名进行路由转发。
《frp内网穿透安装配置 frp后台自动启动》

frp配置

1、实现功能

(1)外网通过远程桌面访问内网机器
2、配置准备
(1)公网服务器1台(如果没有公网服务器可以网上搜索公共frp服务器,或者我的免费云申请免费云服务器,免费码MYFREEY-UX8MWCR-20200124

2、frp安装配置

(1)frp服务安装

本文运行环境centos 7

wget https://github.com/fatedier/frp/releases/frp_0.30.0_linux_amd64.tar.gz
tar -C /usr/local -xzf  frp_0.30.0_linux_amd64.tar.gz
cd /usr/local/frp_0.13.0_linux_amd64
vim frps.ini #修改配置文件信息

(2) frps配置

[common]
# 服务器端口
bind_port = 6000
# 客户端连接凭证
token=123456
max_pool_count=5
# 服务器看板的访问端口
dashboard_port = 7000
# 服务器看板账户
dashboard_user = admin
dashboard_pwd =123456

(3) frps运行

frps服务器需打开服务器端口和看板端口

#运行frps程序
./frps

3、frps服务脚本-设置frps开机自启动

frps.service

[Unit]
Description=frps
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=/usr/local/frp_0.30.0_linux_amd64/frps -c /usr/local/frp_0.30.0_linux_amd64/frps.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target

将文件copy的/etc/systemd/system,脚本下载地址:

# 启动 frp 并设置开机启动
systemctl enable frpc
systemctl start frpc
systemctl status frpc

4、frpc客户端安装配置

在需被访问的电脑,下载客户端软件,地址:
https://github.com/fatedier/frp/releases/download/v0.30.0/frp_0.30.0_windows_amd64.zip
运行安装后,修改frpc.ini文件

[common]
server_addr = 19.56.37.48   #公网服务器ip
server_port = 6000            #与服务端bind_port一致

#公网通过远程桌面访问内部服务器
[service1]
type = tcp              #连接协议
local_ip = 127.0.0.1 #内网服务器ip
local_port = 3389         #ssh默认端口号
remote_port = 6001      #自定义的访问内部远程桌面
token=123456

运行frpc程序。

5、远程桌面访问

采用远程桌面,目标地址19.56.37.48,端口6001.

6、看板监控

浏览器访问19.56.37.4,端口7000,登录后即可看到frp客户端的连接情况。
《frp内网穿透安装配置 frp后台自动启动》