【250423】无公网v4用户提高上传教程
pt吧
全部回复
仅看楼主
level 10
泠月晴风 楼主
前段时间折腾软路由和各种工具,积累了一些经验,因此开贴分享给大家,希望能够提高萌新的使用体验。如有错误和不足之处,还望诸位大佬指正。
适用人群:无公网ipv4,想要提高连通性的pter
要求:
1.光猫桥接(可以去找装维师傅,或者找客服解决)2.使用基于openwrt的主路由拨号(便于配置防火墙,其他路由系统也可以参考)
接下来是操作内容:
1.打开ipv6
在pter中,ipv6用户占相当大的比例。因此,使你的ipv6保持联通性往往是最简单的提高上传的方式。关于目前openwrt拨号开启ipv6的教程已经有很多,我这里仅说一些经验和需要注意的地方
配置WAN接口 (PPPoE拨号)
1.网络→接口,点击WAN接口的编辑。
2.基本设置: 协议选择 PPPoE,输入宽带账号的用户名和密码。
3.高级设置: 勾选 获取IPv6地址
4.防火墙设置: 确保WAN接口分配到wan防火墙区域。
配置LAN
1.网络→接口,点击LAN接口的编辑。
2.DHCP服务器选项卡:
IPv6设置: RA服务:选择 服务器模式。
DHCPv6服务:选择 已禁用。(注意,由于目前DHCPv6的支持并不好,因此建议直接关闭DHCP,使用slaac无状态获取到的ipv6地址)
DNS:如果你的网络存在代理环境,为避免出现各种问题,建议直接关闭ipv6的dns,仅使用ipv4dns(注意:ipv4的dns同样能够解析域名的ipv6地址)
禁用IPv6 ULA前缀(可选) 若LAN客户端获取到非公网IPv6地址 (如fd00::/8),可禁用ULA: 网络 →接口→全局网络选项: 删除生成的ULA前缀。
OK到这里基本就可以打开ipv6测试网站,检测到24开头的公网ip地址即可,这一步结束
2.添加防火墙规则
只打开ipv6,并不能保证外部用户能够链接到你。因为绝大多数路由器的防火墙会阻断传入连接。然而,直接关闭防火墙会导致你的服务完全暴露在公网环境中,因此我们可以在防火墙中添加相关端口,达到放行特定服务的目的。
首先确定目标主机的IPv6后缀。内网主机通过SLAAC获取动态IPv6地址,其结构为: [lbk]lbk[rbk]ISP分配的64位前缀[lbk]rbk[rbk]:[lbk]lbk[rbk]主机的64位后缀[lbk]rbk[rbk] eui64生成后缀通常是固定的(基于 MAC地址),我们可以用它来匹配规则
1.进入防火墙设置 网络→防火墙→通信规则 。
2.添加 IPv6端口放行规则,按如下配置:
名称:(自定义)
协议:TCP /UDP
源区域:wan
目标区域:lan
目标地址:::(你放行主机的64位后缀)/::ffff:ffff:ffff:ffff
目标端口: (设置需要放行的端口)
ip设置仅ipv6
3.点击 保存,然后点击保存并应用(图一)。
到这一步,测试热门种子qb下载器应该会看的I标志的ipv6传入链接
3.通过lucky的stun穿透实现近似公网v4+v6双栈效果
对于热门种子,仅靠ipv6也能提供不错的上传量。但对于冷门种子,保种者没有公网v4和v6的情况下,你就无法连接。因此,我们可以通过打洞的方式,优化冷门种子的下载速度和提高保种时的上传。
1.软路由安装Lucky插件
2.打开stun穿透,添加穿透规则,参考下图配置(图二)穿透成功后会显示获取到的ip和端口(图三)
3.openwrt添加端口转发规则,参考下图配置(图四)
4.修改qb端口号为stun获取到的端口号
注意,由于大内网用户两层nat的存在,如果你路由器nat是nat4,运营商不是,在设备上测到也会是nat4,但是可以打洞的 如果运营商nat是nat4,则无法打洞。因此建议通过尝试看是否能够打洞成功
至此,下载器中出现ipv4的传入链接,达到近似公网v4的效果(图五)
字数限制,下面继续
2025年04月22日 17点04分 1
level 10
泠月晴风 楼主
二楼自留
第一次写教程,不足之处见谅
2025年04月22日 17点04分 2
@i990049 如果连通性不好的话,发种大概率也只是发给盒子 而对于pt而言,个人认为还是保种更重要些
2025年04月23日 03点04分
@i990049 况且连通性好的话,对于做种人数少的种子,更容易连接到用户提高下载速度 当然个人见解,发种自然也是一种玩法,不冲突
2025年04月23日 03点04分
level 10
泠月晴风 楼主
接上文
然而,重新拨号会导致穿透端口改变,我们可以通过添加自定义触发脚本自动修改qb端口和防火墙规则
我使用的脚本如下:(修改成你的ip,webui端口,用户名和密码)
qb:
public_port=${port}
# qBittorrent 配置
qb_web_port="你的后台端口"
qb_username="admin"
qb_password="yourpwd"
qb_addr="内网ip:端口"
# 获取 Cookie (添加 -k 忽略 SSL 错误,如果是 HTTPS)
qb_cookie=$(
curl -sk -i \
--header "Referer: http://${qb_addr}" \
--data "username=${qb_username}&password=${qb_password}" \
"http://${qb_addr}/api/v2/auth/login" \
| grep -i 'set-cookie' | awk '{print $2}' | cut -d';' -f1
)
# 更新 qBittorrent 监听端口
curl -X POST -sk \
-b "${qb_cookie}" \
-d 'json={"listen_port":"'"${public_port}"'"}' \
"http://${qb_addr}/api/v2/app/setPreferences"
tr:
TR_USERNAME=admin
TR_PASSWORD=yourpwd
TR_ADDR=内网ip:端口
TR_RPC_URL='http://'$(echo $TR_ADDR | sed 's/\/$//')
# update port
trauth="-u $TR_USERNAME:$TR_PASSWORD"
trsid=$(curl -s $trauth $TR_RPC_URL/transmission/rpc | sed 's/.*<code>//g;s/<\/code>.*//g')
curl -X POST \
-H "${trsid}" $trauth \
-d '{"method":"session-set","arguments":{"peer-port":'${port}'}}' \
"$TR_RPC_URL/transmission/rpc"
uci修改防火墙规则:
# use uci to config firewall
uci set firewall.端口转发规则名称.dest_port=${port}
uci set firewall.通信规则名称.dest_port=${port}
uci commit firewall
至此,可以实现端口变化时自动修改的效果
2025年04月22日 17点04分 3
level 10
泠月晴风 楼主
stun穿透部分参考了大佬的教程【打通大内网第二期 让BT下载畅通无阻 (基于Lucky的STUN穿透)-哔哩哔哩】 网页链接 写清楚了相关原理和配置方式,非常感谢
2025年04月22日 17点04分 4
我是光猫拨号,用nas下载。在nas上安装了lucky,能不能出一期在nas上部署的教程?qb从来都没出现i
2025年07月29日 11点07分
@碌碌无为的鹿🌊 v6也没有i大概率是光猫开着防火墙,我是桥接很久了,忘了光猫能不能改防火墙配置了
2025年07月29日 11点07分
@碌碌无为的鹿🌊 而且你在内网部署,要确保内网nat也是nat1,不知道光猫支不支持。如果在主路由部署,不受内网nat类型影响
2025年07月29日 11点07分
level 10
绑定
2025年04月22日 18点04分 5
level 11
技术贴必须支持一波
2025年04月22日 23点04分 6
level 10
BD
2025年04月22日 23点04分 7
level 8
收藏学习下
2025年04月22日 23点04分 8
level 8
绑定
2025年04月23日 00点04分 9
level 9
绑定
2025年04月23日 00点04分 10
level 10
bd
2025年04月23日 00点04分 11
level 7
过路瞅瞅
2025年04月23日 00点04分 12
level 8
厉害
2025年04月23日 00点04分 13
level 9
绑定
2025年04月23日 00点04分 14
level 11
点赞收藏
2025年04月23日 01点04分 15
1 2 3 4 5 尾页