使用iptables几行命令实现流量转发 2023-12-08 Website News 暂无评论 1872 次阅读 相信有很多人在用流量转发,比如哪个25元100G的IEPL转发,那么怎么自己实现这种转发呢?用一台服务器转发到另一台服务器。 其实很简单,几行命令搞定,这次俺们用iptables来演示一下。 客户端 --> GFW --> A服务器 --> B服务器(落地) --> YouTube --> 返回客户端 A服务器 以下都在A服务器上操作,也就是转发服务器,白话就是线路好的服务器 首先在服务器上开启tcp转发: ```csharp echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf ``` 使其生效: ```csharp sysctl -p ``` 好像Debian11以上就弃用了iptables,来安装一下: ```csharp apt install iptables -y ``` 假设要把本机A服务器 10010 端口流量转发到B服务器IP 1.2.3.4 的 10086 端口上 在PREROUTING上修改目的地址: ```csharp iptables -t nat -A PREROUTING -p tcp --dport 10010 -j DNAT --to-destination 1.2.3.4:10086 ``` 在POSTROUTING上修改源地址: ```csharp # 6.7.8.9 是A服务器IP,也就是转发服务器IP iptables -t nat -A POSTROUTING -d 1.2.3.4 -p tcp --dport 10086 -j SNAT --to 6.7.8.9 ``` ```csharp # 或者直接用MASQUERADE自动获取源IP,两条命令二选一 iptables -t nat -A POSTROUTING -d 1.2.3.4 -p tcp --dport 10086 -j MASQUERADE ``` 其实上面两条命令就可以用了,为了防止在FORWARD上面被丢弃,添加两条规则允许通过: ```csharp iptables -I FORWARD -d 1.2.3.4 -p tcp --dport 10086 -j ACCEPT iptables -I FORWARD -s 1.2.3.4 -p tcp --sport 10086 -j ACCEPT ``` 最后,为了使规则永久生效,不至于重启服务器后丢失,安装个iptables-persistent ```csharp apt install iptables-persistent ``` 安装完成后写入规则,这样就不会丢了: ```csharp iptables-save > /etc/iptables/rules.v4 ``` 上面就是转发服务器上的操作,下面落地服务器就简单了。用法就同大多卖流量转发的一样了。 B服务器 B服务器也就是落地服务器,在B服务器上安装个Shadowsocks就好了,注意端口使用上面转发的10086端。 安装SS可使用姥爷的一键脚本: https://github.com/yeahwu/v2ray-wss 客户端 本来B服务器上安装的SS的IP和端口是,IP 1.2.3.4,端口 10086 既然使用了转发,那么客户端只要把IP和端口换成A服务器IP,和转发端口10010,就可以使用了。 标签: linux, IPTABLES, 转发, forward 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭