我是公网上给资源做种的,NAS 在家没公网,手头有 VPS ,平常用hotio/qbittorrent通过 WireGuard 连到 VPS
VPS 端用的linuxserver/wireguard
这么做能下载,但是上传效率低,毕竟并没有做端口转发,并没有把 qb 监听的端口开放到公网
version: '3.9'
services:
wireguard:
image: linuxserver/wireguard:latest
container_name: wireguard
restart: always
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1000
- PGID=1000
- SERVERURL=<vps ip>
- SERVERPORT=51820
- PEERS=test
- PEERDNS=auto
- INTERNAL_SUBNET=10.13.13.0
- ALLOWEDIPS=0.0.0.0/0
- LOG_CONFS=false
volumes:
- ./wireguard/config:/config
- /lib/modules:/lib/modules
ports:
- 51820:51820
- 51820:51820/udp
- 11111:11111
- 11111:11111/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
[Interface]
Address = 10.13.13.1
ListenPort = 51820
PrivateKey = <private key>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ -j MASQUERADE; iptables -t nat -A PREROUTING -p tcp -i %i --dport 11111 -j DNAT --to-destination 10.13.13.2:11111
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth+ -j MASQUERADE; iptables -t nat -D PREROUTING -p tcp -i %i --dport 11111 -j DNAT --to-destination 10.13.13.2:11111
[Peer]
PublicKey = ****
PresharedKey = ****
AllowedIPs = 10.13.13.2/32
[Interface]
Address = 10.13.13.2
PrivateKey = <private key>
ListenPort = 51820
DNS = 10.13.13.1
[Peer]
PublicKey = <public key>
PresharedKey = <preshared key>
Endpoint = <vps ip>:51820
AllowedIPs = 0.0.0.0/0
11111 就是假定的 qb 监听端口
其实基本上都是默认配置,我就是在服务端配置的 PostUp 和 PostDown 那两行加了两条 iptables 的命令
iptables -t nat -A PREROUTING -p tcp -i %i --dport 11111 -j DNAT --to-destination 10.13.13.2:11111
iptables -t nat -D PREROUTING -p tcp -i %i --dport 11111 -j DNAT --to-destination 10.13.13.2:11111
恕鄙人不才,这两条 iptables 的命令其实也就是我 google+chatgpt 弄出来的,不知道是不是写错了,各位见笑
因为直接用 qb 并不好测试,所以我其实是在我的电脑上进行测试的
意思是我直接在电脑上用上述客户端配置连接我的 VPS ,然后用python -m http.server 11111
开了个文件服务器,然后尝试用<vps ip>:11111
访问我这个文件服务器
当然结果就是失败了
个人感觉应该就是 iptables 没设置好,还请各位大神帮忙指点一番
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.