购买链接 https://console.po0.com/store/tencent-can-bgp
其链路为腾讯 BGP 入口-》 RFC 不过墙
但也需要RFC 任意 HK 或 Jp 的机器作为落地(CO T1 均可) SG 需要使用HK拉
该款产品特点在于内网传输,不过强,且BGP入口没有跨网担忧,适合想要省心稳稳用的用户
因为国内机器有极强的限制 不能放 web 服务 不能使用Reality 等类TLS 协议 更不能安装哆啦等转发面板!
强烈建议大家使用Nft 走内核转发即可
接下来开始食用教程 此教程适用于Po0 转发 CO 转发 T1 等任意转发场景
首先安装必要依赖
apt update
apt install -y nftables
systemctl enable --now nftables
然后编辑/etc/nftables.conf,下面给出一键修改命令,只需要替换参数为你的,执行命令即可
落地IP 换成你的 RFC 机器 IP 即可
花括号内的端口 1 端口 2 换成 Po0 入站的端口 如果只有 1 个就不用加逗号了 留一个数字就行(理解为数组)
iifname那如果你不只有一个端口就加一行 如果只有一个端口就只保留一行 参数替换即可
入站端口和目标端口建议一致
网卡一般来说都是eth0 不用修改 如果你不确定可以使用ip addr 查看公网对应网卡是否为eth0
cat <<'EOF' > /etc/nftables.conf
#!/usr/sbin/nft -f
flush ruleset
define DST_IP = 落地IP
define WAN_IF = "eth0"
# ====== MSS clamp:降低 PMTU/MSS 引发的重传/小包放大(对“落地爆CPU”很关键)======
# 保守 MSS=1360,优先求稳;如果你确认整条路径 MTU=1500 且无隧道,可逐步调到 1400/1420
table inet mangle {
chain forward {
type filter hook forward priority -150; policy accept;
ip daddr $DST_IP tcp dport { 端口1, 端口2 } tcp flags syn tcp option maxseg size set 1360
}
}
# ====== NAT ======
table ip nat {
set dst_ports {
type inet_service;
elements = { 端口1, 端口2 }
}
chain prerouting {
type nat hook prerouting priority -100; policy accept;
# 只处理公网口进来的新连接
iifname $WAN_IF tcp dport 端口1 ct state new dnat to $DST_IP:目标端口1
iifname $WAN_IF tcp dport 端口2 ct state new dnat to $DST_IP:目标端口2
}
chain postrouting {
type nat hook postrouting priority 100; policy accept;
# 仅对“被 DNAT 的连接”做 masquerade,避免误伤本机直连 DST_IP
ct status dnat ip daddr $DST_IP tcp dport @dst_ports masquerade
}
}
# ====== 转发过滤 ======
table inet filter {
chain forward {
type filter hook forward priority 0; policy drop;
ct state invalid drop
ct state established,related accept
# 仅放行被 DNAT 的新建连接
ct status dnat ip daddr $DST_IP tcp dport { 端口1, 端口2 } ct state new accept
}
}
EOF
然后调整sysctl 开启转发允许 同样直接执行命令即可
cat <<'EOF' > /etc/sysctl.d/99-nft-forward.conf
# IPv4 转发
net.ipv4.ip_forward = 1
# 更积极的 MTU 探测:转发链路常见“吞吐抖动/重传放大”时很有帮助
net.ipv4.tcp_mtu_probing = 1
# conntrack:保持你当前值
net.netfilter.nf_conntrack_max = 32768
net.netfilter.nf_conntrack_buckets = 8192
EOF
这边贴一份我用的
#!/usr/sbin/nft -f
flush ruleset
define DST_IP = 198.1.1.1
define WAN_IF = "eth0"
# ====== MSS clamp:降低 PMTU/MSS 引发的重传/小包放大(对“落地爆CPU”很关键)======
# 保守 MSS=1360,优先求稳;如果你确认整条路径 MTU=1500 且无隧道,可逐步调到 1400/1420
table inet mangle {
chain forward {
type filter hook forward priority -150; policy accept;
ip daddr $DST_IP tcp dport { 57559 } tcp flags syn tcp option maxseg size set 1360
}
}
# ====== NAT ======
table ip nat {
set dst_ports {
type inet_service;
elements = { 57559 }
}
chain prerouting {
type nat hook prerouting priority -100; policy accept;
# 只处理公网口进来的新连接
iifname $WAN_IF tcp dport 57559 ct state new dnat to $DST_IP:57559
}
chain postrouting {
type nat hook postrouting priority 100; policy accept;
# 仅对“被 DNAT 的连接”做 masquerade,避免误伤本机直连
ct status dnat ip daddr $DST_IP tcp dport @dst_ports masquerade
}
}
# ====== 转发过滤 ======
table inet filter {
chain forward {
type filter hook forward priority 0; policy drop;
ct state invalid drop
ct state established,related accept
# 仅放行被 DNAT 的新建连接
ct status dnat ip daddr $DST_IP tcp dport { 57559 } ct state new accept
}
}
最后执行以下命令应用
sysctl --system
nft -f /etc/nftables.conf
到此端口转发就完成了 你只需要在落地机上搭建对应端口的服务即可
管控严格,大家千万不要搭建http,tls 类协议,直接搭建ss2022就是最好用滴
最后,顶尖~
好文绑定
好文,帮顶
好文谢谢大佬教会我小白入门,才发现你的链接都没aff。
好文帮顶
@Tiancaizhi #6 ccn不过墙 不能用TLS类协议 反而用了TLS类会通报 删鸡不退款
@Flyinsky #7 我之前用的Hep的夏港IPLC和GGY的IX 入口大厂的几家都有,SS2022除了阿里全被通报了,不知道啥情况,大家还都说和协议无关
@Tiancaizhi #8 po0不是ix 直接用ss就行 和rfc是内网
好文学习了