Linux centos vps服务器中安装frp内网穿透软件为比特彗星BT种子下载提供公网IP绿灯开放端口

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客户端打开本地监听端口功能
image

使用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

论坛原创教程:https://bbs.itzmx.com/thread-98648-1-1.html

3個讚

啊,好文章,但是有便宜大流量的的vps推荐吗?

俄罗斯那边的便宜,,10元一个月大宽带无限流量,就是最近俄罗斯乌克兰在战争,不好买

1個讚

国内有nat vps,一年100多,一个月几t的流量,还可以,只是端口有限,给bt够了

这里有个问题,都用代理了,不就没必要用frp了吗?

没有任何一款代理软件支持端口映射内网穿透,也就是使用代理后依旧是黄灯,所以要配合frp才能绿灯

噢,好像是这样

公网IP好申请的很啊,我前天申请的,两天就下来了,以前是IPv6是公网,有绿灯,现在ipv4也是公网了

是小樱大佬

1個讚

我的frp搭建好以后,昨天正常运转了,并且下载时,能收到来自127.0.0.1的的大量连接,但速度不快,没有直连的机器快。今天重新开启电脑,开启bc和frpc,bc能绿灯,但是做种期间没有来自127.0.0.1的连接,frpc出现以下报错:
No connection could be made because the target machine actively refused it.

我再次观察,发现了三个从frp接入的客户端,可能是这个时间点玩bt的人少。
但是,昨天从frpc连入的用户,提供的下载速度没有超过30kb/s,速度快的基本上都是直接和我连接的,暂时无法判断是线路原因还是服务器原因,或者是配置原因。

看看bbr有无在运行中?
查看内核验证

cat /etc/redhat-release;cat /proc/version;sysctl net.ipv4.tcp_available_congestion_control;sysctl net.ipv4.tcp_congestion_control;sysctl net.core.default_qdisc;lsmod | grep bbr