前言:关于 Po0
Po0(PortChannel Zero)是RFC陈总推出的广州、上海腾讯云CCN服务器。可利用 腾讯云 CCN(云联网) 与 RFCHOST T1 的内网互通,搭建 低延迟、高稳定性 的商业级专线,中转流量至 RFCHOST 落地机。
可能是目前MJJ能买得起的最强专线
🛒 产品传送门(带AFF):
• 腾讯云广州 - Spring Special
• 腾讯云华东(上海) - Spring Special
- 需通过腾讯云接口实名
- 配置:独立IP 2C 2G 200M 500G单向流量,1188元/年
- 另有众多月付套餐可供选择,,用券后最低仅79元/月起,月付优惠码:「常驻九折优惠券」
核心原理
- 入口:腾讯云 12 线 BGP(国内互联性极佳)
- 出口:RFCHOST HK.T1 / JP.T1
(可通过RFC 内网可延伸至 SG T1 / US T1(画饼中))
Nftables中转方式:通过 DNAT + SNAT:
- 入站:将访问 PO0 中转端口的流量内网转发(陈总神秘黑科技)至落地机
- 出站:强制使用腾讯云 ↔ RFCHOST 内网路由,绕开公网拥堵
预期表现
| 路径 | 延迟(参考) |
|---|---|
| 广州 → RFC HK T1 | ~6ms |
| 广州 → RFC JP T1 | ~50ms |
| 上海 → RFC HK T1 | ~24ms |
| 上海 → RFC JP T1 | ~30ms |
SLA:腾讯云级别稳定性,理论0掉线率0丢包
准备工作
- 已购买RFC HK或JP T1落地机(目前HK CO和JP CO也通PO0);已购买PO0上海或广州机器
- 已完成 落地机配置
- 已完成 落地ss协议搭建
- 为避免触犯论坛规则,这里不对落地机配置作具体展开
第一阶段:安全加固(SSH 密钥登录 & 修改端口)
- 默认系统:Debian 12
1. 本地生成 SSH 密钥
- Windows (PowerShell) / Mac / Linux:
打开终端,输入以下命令(一路回车即可):
ssh-keygen -t ed25519 -C "po0_key"
查看并复制公钥:
cat ~/.ssh/id_ed25519.pub
2. 服务器写入公钥
# 创建目录
mkdir -p ~/.ssh
chmod 700 ~/.ssh
# 写入公钥
echo "ssh-ed25519 AAAA...你的公钥内容... po0_key" >> ~/.ssh/authorized_keys
# 设置权限
chmod 600 ~/.ssh/authorized_keys
3. 修改 SSH 配置
# 编辑配置文件:
nano /etc/ssh/sshd_config
# 找到以下配置项并修改(如果找不到,可在文件末尾添加):
# 1. 修改默认端口 (防止简单扫描)
Port 12956(自行修改)
# 2. 禁止密码登录 (强制使用密钥)
PasswordAuthentication no
# 3. 允许密钥登录
PubkeyAuthentication yes
重启 SSH 服务
systemctl restart ssh
第二阶段:Debian 12 初始化
1. 更新系统
apt update && apt upgrade -y
2. 开启 IP 转发(必做)
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
3. 安装 Nftables(debian12系统内已默认安装,这步可省略)
apt install nftables -y
第三阶段:部署 Nftables 专线转发
编辑配置文件(清空原内容):
nano /etc/nftables.conf
如果仅有一台落地机需要转发:
#!/usr/sbin/nft -f
# =======================================================
# 📝 变量定义区 (务必根据实际情况修改)
# =======================================================
define DEST_IP = 82.40.xx.xx # 1. RFCHOST 落地机公网 IP
define DEST_PORT_OUT = 33333 # 2. RFCHOST 落地机服务端口
define RELAY_PORT_IN = 10086 # 3. PO0中转端口
define RELAY_LAN_IP = 10.100.xx.xx # 4. PO0内网 IP
# =======================================================
# 清空旧规则
flush ruleset
# --- 核心转发逻辑 (NAT表) ---
table ip nat {
# 1. 入站转发 (DNAT)
# 目的: 将访问PO0 10086端口 的流量仍给落地机
chain prerouting {
type nat hook prerouting priority dstnat; policy accept;
# 同时转发 TCP 和 UDP
meta l4proto { tcp, udp } th dport $RELAY_PORT_IN dnat to $DEST_IP:$DEST_PORT_OUT
}
# 2. 出站伪装 (SNAT) - 专线核心
# 目的: 将源地址改为内网 IP,强制流量走腾讯云-RFCHOST的内网路由
chain postrouting {
type nat hook postrouting priority srcnat; policy accept;
# 仅匹配发往落地机的流量,执行 SNAT
ip daddr $DEST_IP meta l4proto { tcp, udp } th dport $DEST_PORT_OUT snat to $RELAY_LAN_IP
}
}
# --- 性能优化逻辑 (Filter表) ---
# 目的: 防止 MTU 不匹配导致的断流
table ip filter {
chain forward {
type filter hook forward priority 0; policy accept;
# 调整 TCP MSS,解决某些情况下速度慢/断流”的问题
ip daddr $DEST_IP tcp flags syn tcp option maxseg size set 1452
}
}
如果有两台落地机需要转发:
#!/usr/sbin/nft -f
# =======================================================
# 📝 变量定义区 (务必根据实际情况修改)
# =======================================================
# --- 公共配置 ---
define RELAY_LAN_IP = 10.100.xx.xx # PO0内网 IP
# --- 线路 1 配置 (例如RFC HK T1) ---
define PORT_IN_1 = 10086 # 中转端口 1
define DEST_IP_1 = 172.81.xx.xx # 1号落地机 IP
define DEST_PORT_1 = 33333 # 1号落地机端口
# --- 线路 2 配置 (例如RFC JP CO) ---
define PORT_IN_2 = 20086 # 中转端口 2
define DEST_IP_2 = 82.40.xx.xx # 2号落地机 IP
define DEST_PORT_2 = 44444 # 2号落地机端口
# =======================================================
# 清空旧规则
flush ruleset
# --- 核心转发逻辑 (NAT表) ---
table ip nat {
# --- 入站转发 (DNAT) ---
chain prerouting {
type nat hook prerouting priority dstnat; policy accept;
# [线路 1] 流量进入端口1 -> 转给落地机1
meta l4proto { tcp, udp } th dport $PORT_IN_1 dnat to $DEST_IP_1:$DEST_PORT_1
# [线路 2] 流量进入端口2 -> 转给落地机2
meta l4proto { tcp, udp } th dport $PORT_IN_2 dnat to $DEST_IP_2:$DEST_PORT_2
}
# --- 出站伪装 (SNAT) ---
chain postrouting {
type nat hook postrouting priority srcnat; policy accept;
# [线路 1] 发往落地机1的流量 -> 改源IP为内网IP (走专线)
ip daddr $DEST_IP_1 meta l4proto { tcp, udp } th dport $DEST_PORT_1 snat to $RELAY_LAN_IP
# [线路 2] 发往落地机2的流量 -> 改源IP为内网IP (走专线)
ip daddr $DEST_IP_2 meta l4proto { tcp, udp } th dport $DEST_PORT_2 snat to $RELAY_LAN_IP
}
}
# --- 性能优化逻辑 (Filter表) ---
# 目的: 防止 MTU 不匹配导致的断流
table ip filter {
chain forward {
type filter hook forward priority 0; policy accept;
# 调整 TCP MSS,解决某些情况下速度慢/断流”的问题
ip daddr { $DEST_IP_1, $DEST_IP_2 } tcp flags syn tcp option maxseg size set 1452
}
}
如果有三台及以上落地机需要转发,则自行再增加n组定义变量,复制 dnat 和 snat 的那两行规则,修改变量即可,这里不再展开阐述。
应用并自启:
# 检查语法 (无输出则为正常)
nft -c -f /etc/nftables.conf
# 应用配置
nft -f /etc/nftables.conf
# 设置开机自启
systemctl enable nftables
systemctl restart nftables
第四阶段:验证
ss客户端配置:
- Address:PO0 公网 IP
- Port:PO0 中转端口
- 其余参数:保持落地机一致
到此教程结束,在此感谢RyanZ董事长的教程参考
下单地址