虽然现在市面上有许多注册即用的内网穿透方案,但基本上都有带宽或流量等方面的限制,要想稳定,还得是frp
使用frp之前,首先要保证你得有一台vps,这东西就见仁见智了。
frp目前的一些新版本可能相较于老版本可能有些区别,我这里是以 0.17.0 版本演示的。
服务端配置
由于市面上大部分vps都是X86架构的,所以你需要下载 frp_0.17.0_linux_amd64.tar.gz:
wget https://github.com/fatedier/frp/releases/download/v0.17.0/frp_0.17.0_linux_amd64.tar.gz
接着解压:
tar -zxvf frp_0.17.0_linux_amd64.tar.gz
定位到解压后的目录下:
cd frp_0.17.0_linux_amd64
编辑配置文件:
vim frps.int
将原有的内容全部删除,输入以下内容:
[common]
bind_port = 7000
vhost_http_port = 8864 #此处端口可以修改
dashboard_port = 6000
dashboard_user = admin #此处可以自定义用户名
dashboard_pwd = xxxxxx #自定义密码
privilege_token = 123456 #可修改,但需要与后面的客户端保持一致
保存退出后给文件赋予执行权限并运行:
chmod +x frps
./frps #可以看见正常输出信息
配置开机自启:
定位到/etc/systemd/system/
目录下,创建一个文件:
cd /etc/systemd/system/
touch frps.service
在 frps.service 文件中写入以下信息:
[Unit]
Description=FRPS Service
After=network.target
[Service]
ExecStart=/home/admin/frp_0.17.0_linux_amd64/frps -c /home/admin/frp_0.17.0_linux_amd64/frps.ini
Restart=always
RestartSec=3
User=admin
[Install]
WantedBy=multi-user.target
保存退出后,启动服务:
systemctl start frps
允许开机自启:
systemctl enable frps
检查运行状态:
systemctl status frps #出现active(running)则正常
客户端配置(以Linux系统为例)
下载相应架构的frp,解压并编辑 frpc.int 文件:
[common]
server_addr = xxx.xxx.xxx.xxx #填写服务器ip地址
server_port = 7000
privilege_token = 123456 #要与服务端保持一致
login_fail_exit = false
[ssh]
type = tcp #服务类型
local_ip = 127.0.0.1 #本机ip
local_port = xx #本机项目所在的端口
remote_port = xx #映射到服务器公网ip中的端口
保存退出后给文件赋予执行权限并运行:
chmod +x frpc
./frpc
配置开机自启:
定位到/etc/systemd/system/
目录下,创建一个文件:
cd /etc/systemd/system/
touch frpc.service
在 frpc.service 文件中写入以下信息:
[Unit]
Description=frpc service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
ExecStart=/home/admin/frp_0.17.0_linux_arm/frpc -c /home/admin/frp_0.17.0_linux_arm/frpc.ini
[Install]
WantedBy=multi-user.target
保存退出后,启动服务:
systemctl start frpc
允许开机自启:
systemctl enable frpc
检查运行状态:
systemctl status frpc #出现active(running)则正常