通过 iptable 转发 443 端口流量至 Cloudflare CDN,自建 ProxyIP

通过 iptable 转发 443 端口流量至 Cloudflare CDN,自建 ProxyIP

IPv4 做反代 100% 会被扫出来,所以只写 IPv6 的教程,如果你真的需要,请自行举一反三。


如何部署

自动部署

  • 一键脚本
    bash
    1
    bash <(curl -Ls https://raw.cmliussss.com/ProxyIPv6.sh)
    fe6c6b5c92605238ce95c.png

手动部署

1. 安装 iptables:

Ubuntu / Debian

bash
1
apt update && apt install sudo -y && sudo apt install iptables iptables-persistent -y

CentOS

bash
1
yum update -y && yum install sudo -y && sudo yum install iptables iptables-services  -y

Alpine

bash
1
apk update && apk add sudo bash iptables

如果提示失败可以尝试添加DNS后再重新运行以上命令

bash
1
echo -e "nameserver 1.1.1.1\nnameserver 8.8.8.8\nnameserver 2606:4700:4700::1111\nnameserver 2001:4860:4860::8888" | tee /etc/resolv.conf 

2. 修改 sysctl 配置:

启用 IPv4 和 IPv6 的流量转发。

bash
1
2
3
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv6.conf.all.forwarding=1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

接下来不会提供 IPv4 的部署方法,如果你有能力,可以自己修改命令去实现,如果你不会,说明你还不明白这个操作以为着什么,所以请不要自建 IPv4 的 ProxyIP!


3. 设置 ip6tables 转发 IPv6 流量规则:

先获取转发目标IP地址,推荐自行 解析 Cloudflare CDN 地址获得 CFIP,执行nslookup chat.openai.com,例如返回内容如下

shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
root:~# nslookup chat.openai.com
Server: 1.1.1.1
Address: 1.1.1.1#53

Non-authoritative answer:
chat.openai.com canonical name = chat.openai.com.cdn.cloudflare.net.
Name: chat.openai.com.cdn.cloudflare.net
Address: 104.18.37.228
Name: chat.openai.com.cdn.cloudflare.net
Address: 172.64.150.28
Name: chat.openai.com.cdn.cloudflare.net
Address: 2606:4700:4400::6812:25e4
Name: chat.openai.com.cdn.cloudflare.net
Address: 2606:4700:4400::ac40:961c

如果你的 VPS 只有 IPv6 出口,可以执行如下命令

bash
1
2
sudo ip6tables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination [2606:4700:4400::ac40:961c]:443
sudo ip6tables -t nat -A POSTROUTING -p tcp -d 2606:4700:4400::ac40:961c --dport 443 -j MASQUERADE

通过以上步骤,你应该能够成功地在只有 IPv6 的 443 端口的流量转发到指定的 IPv6 地址 2606:4700:4400::ac40:961c

你可以使用以下命令来查看 ip6tables 中的当前规则,确认规则已正确添加:

bash
1
sudo ip6tables -t nat -L -v -n

4. 保存 ip6tables 规则:

要确保在重启后规则依然有效,你需要将规则保存到文件中,并设置系统在启动时加载这些规则。

保存规则:

bash
1
sudo ip6tables-save > /etc/iptables/rules.v6

5. 重启系统或者手动加载规则

你可以重启系统来验证规则是否被正确加载,或者手动加载保存的规则:

bash
1
sudo ip6tables-restore < /etc/iptables/rules.v6

6. 后悔药

清除现有的转发规则

bash
1
sudo ip6tables -t nat -F

新人Youtuber,需要您的支持,请务必帮我点赞关注打开小铃铛十分感谢!!!