完全小白的看原文学习更靠谱:https://blog.tanglu.me/cloudflare_proxy_ip/

日志

已解决 用nginx反代就能避免被别人扫出来消耗流量 但是具体操作方法还是不如 iptables 方便 直接放弃研究

我的问题

我买的vps IP是xx.xx.xx.xx 我用iptables中转 80 443端口到cloudflare.com 端口转发倒是成功了 现在的情况是任何人都可以用我的这个IP进行加速 我只想自己用 是不是要把80 443 端口 只允许我指定的ip访问呢? 转发80 443端口 跟 仅允许我设置的IP访问80 443 端口 不冲突吧?如何设置呢?

以上需求 宣告失败 各种方法都试过了 无解 想要iptables转发端口到cf 那么必须接受别人的白嫖 你可以通过极光面板设置超过多少流量进行限速 但没法阻止白嫖 想不通为啥各种规则执行下去 都无法实现这个需求
如果真的行 害得看其他大佬了 我已经宣告失败 不过也不是一点收获都没有 我测试出来了快速设置反代的命令 一键执行就好

崩溃!!!下面的不用看了 我测试下来一重启规则就失效 规则持久性都做了 明明都保存了 验证也显示保存了 一重启还是丢 晕死
直接用下面脚本吧 既然无法阻止别人一起使用 以及原生部署还遇到重启规则失效问题 我的评价是不如下面这个脚本最简单 重启后也生效 已经亲自测试过了 简单 无脑 好用 坑都踩完了 放心使用
我居然在这个上面浪费时间 郁闷死

bash <(curl -fsSL https://www.arloor.com/sh/iptablesUtils/natcfg.sh)

命令快速转发

用了好几个脚本 bug满天飞 他们部署的 我原iptables命令都无法介入生效 网上靠前的教程给的也是错误命令 真是服了 气死我了
接下来看我的操作 因为原命令是无法自带监测更换ip的对吧 所以尽量选固定的cfip 我一直用的visa 所以直接拿他们的ip做示范

启用转发

确保 IP 转发功能已启用:

echo 1 > /proc/sys/net/ipv4/ip_forward

永久生效:

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

规则持久化

安装 iptables-persistent
为了确保规则在系统重启后依然有效,你可以使用 iptables-persistent 来保存规则。在 Debian/Ubuntu 系统中,执行以下命令:

sudo apt update
sudo apt-get install iptables-persistent

保存规则
安装完成后,使用以下命令保存规则:

sudo netfilter-persistent save

检查规则是否保存
重启系统后,你可以通过以下命令验证规则是否仍然有效:

sudo iptables -t nat -L

如果提示目录没文件创建目录和文件: 首先,确保目录 /etc/iptables/ 存在。如果不存在,可以使用以下命令创建:

sudo mkdir -p /etc/iptables

保存 iptables 规则: 现在你可以再次尝试保存 iptables 规则:

sudo iptables-save > /etc/iptables/rules.v4

确认文件已保存: 使用以下命令确认文件已成功创建并保存:

sudo cat /etc/iptables/rules.v4

重启 netfilter-persistent 服务: 确保规则能够在重启后自动加载:

sudo systemctl restart netfilter-persistent

把下面加速IP改成你自己的就完事了

清除现有的所有 NAT 表规则
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING

清除现有的所有 FORWARD 链规则
iptables -F FORWARD

设置 PREROUTING 规则,将 80 和 443 端口的流量转发到 Cloudflare IP
iptables -t nat -A PREROUTING -p tcp --dport 80 -d 你的加速IP -j DNAT --to-destination 162.159.152.2
iptables -t nat -A PREROUTING -p tcp --dport 443 -d 你的加速IP -j DNAT --to-destination 162.159.152.2

设置 POSTROUTING 规则,伪装流量发往 Cloudflare IP,源地址为加速IP
iptables -t nat -A POSTROUTING -p tcp -d 162.159.152.2 --dport 80 -j SNAT --to-source 你的加速IP也就是当前服务器
iptables -t nat -A POSTROUTING -p tcp -d 162.159.152.2 --dport 443 -j SNAT --to-source 你的加速IP也就是当前服务器

保存规则
iptables-save > /etc/iptables/rules.v4

总结

失败了 失败了 失败了
极光面板似乎可以部署在家里 因为里面添加服务器还是要用到服务器ssh密码
我直接用iptables来转发端口 只能转发到ip 域名则不行
我猜测工具脚本啥的应该是用了什么方法去监测域名的IP来更新IP
以上cf的IP我是用的visa的 他们的IP基本都不会变 所以单独一个就很靠谱了
尽量拿流量大的国外服务器来反代 阻止不了白嫖 那么必然会被扫到利用
我直接放弃把玩了 也就是流量多得用不完的拿来反代一下玩玩可以
买国内服务器来反代就没有必要了 因为还是会去国外跑一圈 很恶心
这次是个很好的案例 承认自己不懂 失败了 又不丢人
把自己踩的坑分享出来 避免后人再次踩到 误导别人的才是真的坏

最后修改:2024 年 12 月 02 日
如果觉得我的文章对你有用,请随意赞赏