最近对内网穿透十分感兴趣。通过内网穿透可以实现使内网的设备被外部访问。
frp这个工具相当强大。获取地址:https://github.com/fatedier/frp
由于手头的设备经常要变动所以,最近重复配置了多次frp。步骤倒是简单,好记性不如烂笔头。下边开始:
1、首先是frpserver端:
在git上获取项目通过ftp上传到你的云主机或者使用命令下载你需要的版本:
我的服务端是我的腾讯云主机 centos7 64位系统 所以在这里选择amd64版本
1 | wget https://github.com/fatedier/frp/releases/download/v0.23.1/frp_0.23.1_linux_amd64.tar.gz |
下载完成后解压
1 | tar -zxvf xxxxx.tar.gz |
进入解压后的目录
可以看到对应的有 frpc 、frps、frpc.ini、frps.ini这几个主要文件
在这里作为server端所以我只需要修改frps.ini这个文件
1 | [common] |
修改完成后保存执行以下命令生效(看好自己的路径哟):
1 | /root/frp/frp/frps -c /root/frp/frp/frps.ini |
2、自定义linux服务:
为了方便管理 以及可以开机自启我将frps自定义成了一个服务具体步骤如下:
首先写一个启动脚本frps_start.sh
:(执行刚才那条命令 应用frps.ini
配置文件的设置 并将日志重定向到frps_startlog.txt
)
1 |
|
而后进入 /usr/lib/systemd/system建立自定义服务文件frps.service
1 | cd /usr/lib/systemd/system |
frps.service
:
1 | [Unit] |
执行 更新systemctl daemon-reload
而后启动服务systemctl start frps.service
开启自启systemctl enable frps.service
等待服务启动后即可检查日志或是web监视页面
服务器ip+端口号:
至此 frp 服务端配置成功
3.客户端配置frpclient:
客户端配置的操作和服务端思路相同
以树莓派为例:
(1)首先是下载软件包
通过 命令查看系统版本和系统位数
1 | uname -a |
所以下载arm的软件包
然后解压(方法和上边相同),然后进入目录
(2)在这里就需要修改frpc.ini这个配置文件了
1 | vim frpc.ini |
然后是启动脚本:
然后到/usr/lib/systemd/system
目录新建服务frpc.service
文件
1 | cd /usr/lib/systemd/system/ |
启动服务 开机自启
1 | systemctl start frpc.service |