Linux centos vps服务器中安装frp内网穿透软件为比特彗星BT种子下载提供公网IP绿灯开放端口
安装
yum -y install wget screen
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz -O frp.tar.gz
tar xzf frp.tar.gz
cd frp_*
修改配置文件
vi /root/frp_*/frps.ini
frps.ini内容为
[common]
bind_port = 8000
bind_udp_port = 8000
bind_addr = 0.0.0.0
allow_ports = 1001-1500,10001-22500
token = www.itzmx.com
tls_only = true
启动软件
cd /root/frp_*;screen -dmS miaomiaomiao ./frps -c ./frps.ini
查看是否启动成功
netstat -apn grep frps
设置为开机启动
echo "cd /root/frp_*;screen -dmS miaomiaomiao ./frps -c ./frps.ini" >> /etc/rc.d/rc.local
centos 7需要设置执行权限
chmod +x /etc/rc.d/rc.local
ll /etc/rc.d/rc.local
检查防火墙与服务器安全组放通端口
http://bbs.itzmx.com/thread-5760-1-1.html
Windows 客户端下载
https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_windows_amd64.zip
解压并且用记事本打开修改配置文件frpc.ini
frpc.ini内容为,x.x.x.x改成frp的服务器ip
[common]
server_addr = x.x.x.x
server_port = 8000
protocol = websocket
token = www.itzmx.com
tls_enable = true
[Remote Download]
type = tcp
local_ip = 127.0.0.1
local_port = 1235
remote_port = 1235
[BT Listen TCP]
type = tcp
local_ip = 127.0.0.1
local_port = 22223
remote_port = 22223
[BT Listen UDP]
type = udp
local_ip = 127.0.0.1
local_port = 22223
remote_port = 22223
新建一个 开始内网穿透.bat 文件内容为
@echo off
title=开始启用内网穿透
mode con cols=100 lines=54&color 2&color 5B
echo 准备启用内网穿透服务
pause
echo 内网穿透服务启动中,预计3秒,请稍候……
frpc.exe -c frpc.ini
echo 如有报错请复制文件记录输出数值以便交流讨论。
pause
此时端口已经可以正常为TCP端口打通,但是由于BT客户端,tracker发起对外请求时候,还是用的是自身网络,没有经过frp,所以他人获取的ip是自身未经过内网透传的ip而不是frp服务器ip
解决办法一
需要在服务器中同时安装其它代理,或者隧道软件,例如v2,并且v2客户端打开本地监听端口功能
使用BT客户端内置的代理功能,设置如下图
测试一下资源下载,成功收到来自远程连入的用户,用户ip显示为127.0.0.1,因为IP都一样,可能触发反吸血的BUG,ban一个用户把所有用户都ban掉,使用内网穿透时请确保选项中反吸血状态为禁止
如果BT客户端不支持设置代理功能,可以使用另一款软件,netch为整个exe进程进行加速,这种方式会消耗较多vps服务器的流量,此时建议换比特彗星这种支持内置代理功能的BT客户端
解决办法二
为frp增加一个本地socks5功能,此时即可不需要另外安装其它第三方软件,不过frp仅作为一个内网穿透软件,可能不会添加此功能,要求实现客户端监听一个端口,使用socks5协议,目标流量为frp服务器的流量
注:如果未实现上述所说该功能,却在BT客户端socks5代理设置处填写frp服务器公网IP连接plugin = socks5插件是不可用的,会引发网络回环导致网络数据流中断。当然这种功能性增强都可以去官方反映看看会不会增加咯(官方不做,但是开源,可以等有个第三方开发者分享)
frp官方反映地址:Issues · fatedier/frp · GitHub