内网穿透
内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。就是说映射端口,能让外网的电脑找到处于内网的电脑,提高下载速度。不管是内网穿透还是其他类型的网络穿透,都是网络穿透的统一方法来研究和解决。
内网穿透应用场景
- 提供内网穿透服务
- 连接内网服务器,在外网演示内网web站点
- 无需服务器部署,快速调试本地程序,方便快速开发微信公众号和微信小程序
- 支持http、https协议站点,省去证书中间件复杂配置,http协议站点直接升级为https站点
- 支持TCP,UDP协议端口转发。支持数据库、SSH、远程桌面、网络摄像头等等开放到外网
frp
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
frp项目地址
frp开源项目资源准备
- 公网服务器一台
- 个人电脑一台
Frp服务端安装
公网服务器使用的是Linux Centos 7.7,需要下载Frp的Linux版本。
下载地址:https://github.com/fatedier/frp/releases
准备将frp放到Linux系统根目录下,所以我先创建一个名为frps的文件夹并下载文件。
cd / && mkdir frps && cd frps && wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
下载完成后,对文件进行解压操作。
tar -xzvf frp_0.33.0_linux_amd64.tar.gz
进入解压后的文件夹
cd frp_0.33.0_linux_amd64
因为使用Linux作为服务端,在这里我们使用的是frps
这个文件,所以需要修改frps
的配置文件frps.ini
.
[common]
# 地址
bind_addr = ip
# frps 服务端端口
bind_port = 端口
# 仪表面板地址
dashboard_addr = ip
# 仪表面板端口
dashboard_port = 端口
# 仪表面板登录用户名
dashboard_user = 用户
# 仪表面板登录用户密码
dashboard_pwd = 密码
# 授权验证方式
authentication_method = token
# 授权验证密钥
token = 密钥
# 最大线程数量
max_pool_count = 5
示例如下:
[common]
bind_addr = 0.0.0.0
bind_port = 5443
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = skyfinder
dashboard_pwd = skyfinderdotcc
authentication_method = token
token = 9ab8b258-8cef-4b12-89d7-2e0c38c2b543
max_pool_count = 5
前台运行frps
./frps -c frps.ini
设置开机启动和后台运行
在服务器端使用 Systemd
管理 frps
。在解压后的目录下有一个名为systemd
文件夹,此文件夹下frps.service
文件就是我们需要编辑的文件。
cd /frps/frp_0.33.0_linux_amd64/systemd
[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/frps/frp_0.33.0_linux_amd64/frps -c /frps/frp_0.33.0_linux_amd64/frps.ini
[Install]
WantedBy=multi-user.target
ExecStart
是要执行文件的路径,调整为我们frps实际的路径。复制到/usr/lib/systemd/system
目录。
cp frps.service /usr/lib/systemd/system
启动 frp
并设置开机启动
// frps开机启动
systemctl enable frps
// 启动frps服务
systemctl start frps
// frps服务状态
systemctl status frps
在某些服务器上可能需要加 .service 后缀,如下
systemctl enable frps.service
systemctl start frps.service
systemctl status frps.service
FRP服务停止与取消开机启动
// 停止frps开机启动
systemctl disable frps
// 停止frps服务
systemctl stop frps
Windows客户端配置
首先,下载Windows
版本的frp
,下载完成之后解。
由于我们使用WIndows
作为客户端,所以修改frpc.ini
配置文件并保存。
[common]
# 服务端IP或域名
server_addr = bj.mlplus.net
# 服务端对应端口
server_port = 5443
# token 要与服务端一致
token =9ab8b258-8cef-4b12-89d7-2e0c38c2b543
# 添加一个远程链接节点
[mstsc]
# 类型tcp
type = tcp
# 本地IP
local_ip = 127.0.0.1
# 远程链接端口
local_port = 3389
# 此端口和服务端IP或者域名来访问本地电脑
remote_port = 7000
# 是否使用加密
use_encryption = true
在当前目录下打开命令行cmd
,输入frpc.exe
来运行客户端。
使用远程桌面连接
测试是否可用。
转载请注明:清风亦平凡 » 使用frp搭建内网穿透