frp内网穿透简单搭建教程
frp是一款比较好用的内网穿透(端口转发)工具,支持Linux和Windows两种系统。
以下是frp的文件目录
frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini
frp工具分为服务端frps和客户端frpc
frps用于在具有公网IP的服务器上部署
frpc用于在本地电脑上进行部署
0x01 frp的下载
frp的下载地址在其GitHub页上,以Linux为例:
git clone https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz
下载完成后使用tar命令解压
tar -zvxf frp_0.29.0_linux_amd64.tar.gz
0x02 服务器端的部署
cd进入解压后的目录下
对于服务器端frps
共有两个配置文件,分别是简单配置的frps.ini和可进行详细配置的frps_full.ini
简单的搭建只需要配置frps.ini即可
输入命令:
vim frps.ini
[common]
bind_port = 7000//监听端口,用于和客户端进行通讯。
然后输入esc和:wq保存退出
然后输入命令
./frps //或使用参数-c指定某项配置文件 ./frps -c frps.ini,目前的版本已经默认是frps.ini文件了
随后启动
但是在ssh断开后frps服务会随之断开,需要将frps服务置入后台运行,或加入系统服务,伴随开机启动
有两种比较可靠的方法
1.使用nohup命令
nohup命令可以使命令在后台不挂断执行
使用方法如下:
nohup ./frps &
2.使用systemctl来控制启动
将frps注册为服务
输入命令:
vim /lib/systemd/system/frps.service
写入以下内容来注册服务
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/your/path/frps -c /your/path/frps.ini
Restart= always
RestartSec=1min
#停止路径自己修改,如果是服务端填frps,客户端填frpc
ExecStop=/your/path/killall frpc
[Install]
WantedBy=multi-user.target
然后可以启动frps systemctl start frps
然后再打开自启动 systemctl enable frps
0x03 客户端的部署
客户端在本地上进行部署
在本地电脑上同样解压进入frp文件目录下
vim frpc.ini
[common]
server_addr = 127.0.0.1#服务端的IP
server_port = 7000#客户端服务端通讯的端口,要和服务端设置成一样的
[ssh]#这是原本带的示例,是代理服务 的名要自定义,最好不要保留ssh的名称
type = tcp
local_ip = 127.0.0.1#本地ip,如果客户端所在的电脑就是要内网穿透的电脑就不需要再改
local_port = 22#本地要转发的端口
remote_port = 6000#访问服务器上的该端口即可访问到本地要转发的端口
以我自己的为例,修改后的frpc.ini如下
[common]
server_addr = 129.xxx.xxx.114#服务端的IP
server_port = 7000#客户端服务端通讯的端口,要和服务端设置成一样的
[ssh]#这是原本带的示例,是代理服务 的名要自定义,最好不要保留ssh的名称
type = tcp
local_ip = 127.0.0.1#本地ip,如果客户端所在的电脑就是要内网穿透的电脑就不需要再改
local_port = 4444#本地要转发的端口
remote_port =3333#访问服务器上的该端口即可访问到本地要转发的端口
然后启动
方法可以类比frps的启动