frp实现内网穿透详细配置
1、条件
需要一个有公网IP的云服务器(我的是腾讯云)
2、frp下载及介绍
(1) frp下载:https://github.com/fatedier/frp/releases 下载最新版,根据自己的服务器下载对应版本(我的是linux64系统)
wget https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz
(2) 解压压缩包
tar -zxvf frp_0.34.3_linux_amd64.tar.gz
mv frp_0.34.3_linux_amd64 frpServer
包结构介绍:
服务器端:
frps
: 服务器端服务启动文件frps_full.ini
: 启动配置文件(全版)frps.ini
:启动配置文件(简版)
客户端(Linux版):
frpc
:客户端服务启动文件frpc_full.ini
:启动配置文件(全版)frpc.ini
:启动配置文件(简版)
3、进入解压文件夹
cd frpServer
4、服务端配置及运行
4.1 修改端口,frps.ini文件
[common]
bind_port = 9999 # bind_port是服务器的端口,我们最好不要使用默认端口
4.2 运行服务
- 直接运行:
# frp解压文件夹目录下运行,也可以使用全路径
# 相对路径
./frps -c frps.ini
# 绝对路径
/opt/frp/frpServer/frps -c /opt/frp/frpServer/frps.ini
- 后台运行:
nohup ./frpc -c ./frpc.ini &
4.3 配置系统启动时自动启动
在
/lib/systemd/system文件夹
下创建frps.service文件
编辑
frps.service文件
,输入以下内容(注:ExecStart 使用绝对路径 ):
[Unit]
Description=frp service
After=network.target
[Service]
TimeoutStartSec=30
ExecStart=/opt/frp/frpServer/frps -c /opt/frp/frpServer/frps.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target
启动服务:
systemctl start frps
设置服务开机自启动 :
systemctl enable frps
5、客户端配置
5.1 Windows
(1)下载:https://github.com/fatedier/frp/releases 下载windows版的
(2)客户端配置文件frpc.ini
[common]
server_addr = 127.0.0.1 #服务端的公网IP
server_port = 9999 #服务端的端口
[ssh] # 名称可以随意命名,多个客户端对应一个服务端时,这个名称不能有相同的
type = tcp
local_ip = 127.0.0.1 #本地ip
local_port = 22 #本地要转发的端口
remote_port = 6666 #云服务器对外开放的端口
(3)服务运行
# 解压文件目录下运行命令
frpc -c frpc.ini
开机自启动,启动文件夹下新建frpc.vbs文件
打开启动文件夹:WIN+R打开运行窗口中输入:%programdata%\Microsoft\Windows\Start Menu\Programs\Startup
frpc.vbs文件
内容:
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "#填写frp绝对路径#\frpc.exe -c #填写frp绝对路径#\frpc.ini",0
5.2 Linux
(1)下载:https://github.com/fatedier/frp/releases 下载Linux版的
(2)客户端配置文件frpc.ini
[common]
server_addr = 127.0.0.1 #服务端的公网IP
server_port = 9999 #服务端的端口
[ssh] # 名称可以随意命名(相当于应用名称),多个客户端对应一个服务端时,这个名称不能有相同的
type = tcp
local_ip = 127.0.0.1 #本地ip
local_port = 22 #本地要转发的端口
remote_port = 6000 #云服务器对外开放的端口
[ssh1] #应用1
type = tcp
local_ip = 127.0.0.1
local_port = 1122
remote_port = 1122
[ssh2] #应用2
type = tcp
local_ip = 127.0.0.1
local_port = 1123
remote_port = 1123
(3)服务运行
- 直接运行
# frp解压文件夹目录下运行,也可以使用全路径
# 相对路径
./frpc -c frpc.ini
# 绝对路径
/opt/frp/frpClient/frpc -c /opt/frp/frpClient/frpc.ini
- 后台运行
nohup ./frpc -c ./frpc.ini &
(4)配置系统启动时自动启动
在
/lib/systemd/system文件夹
下创建frpc.service文件
编辑
frpc.service文件
,输入以下内容(注:ExecStart 使用绝对路径):
[Unit]
Description=frp client
After=network.target
[Service]
TimeoutStartSec=30
ExecStart=/opt/frp/frpClient/frpc -c /opt/frp/frpClient/frpc.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target
启动服务:
systemctl start frpc
设置服务开机自启动 :
systemctl enable frpc