在Linux系统中使用Iptables实现流量转发功能流程步骤
linux  /  管理员 发布于 8个月前   214
使用背景:公司做境外电商业务,连接远程桌面太操作卡顿,
于是申请了香港专线服务器做流量转发,提高远程桌面流畅度。
解决方式
中转主机(流量专线服务器),使用 Linux 系统,利用 iptables 实现流量转发,
使用 PREROUTING 和 POSTROUTING 链 即可完成需求
悉知知识
iptables 详解系列文章
https://www.zsythink.net/archives/category/%E8%BF%90%E7%BB%B4%E7%9B%B8%E5%85%B3/iptables
具体实现
1. 第一步
中转主机提供一个端口,这里以 8083 为例,作为访问入口,
把接收到的数据,转发给目标远程桌面 IP:
sudo iptables -t nat -I PREROUTING -p tcp --dport 8083 -j DNAT --to-destination 远程桌面IP:端口 -m comment --comment "这里加备注"
可以看到,这里用了 -p tcp 指明了使用 tcp 协议,当也需要 udp 时,用 -p udp 即可:
sudo iptables -t udp -I PREROUTING -p tcp --dport 8083 -j DNAT --to-destination 远程桌面IP:端口 -m comment --comment "这里加备注"
这样,数据就中转出去了。
2. 第二步
目标远程桌面返回了数据,要回传回去
sudo iptables -t nat -A POSTROUTING -d 远程桌面IP -p tcp --dport 远程桌面端口 -j SNAT --to-source 中转主机IP -m comment --comment "这里加备注"
同样,再增加一个 udp 协议:
sudo iptables -t nat -A POSTROUTING -d 远程桌面IP -p udp --dport 远程桌面端口 -j SNAT --to-source 中转主机IP -m comment --comment "这里加备注"
如此,没问题的话,已经可以正常通过 中转主机 访问远程桌面。
3. 第三步
如果需要记录中转过程中,使用了多少上、下行流量,用 FORWARD 链即可达到目的:
上行流量:
sudo iptables -t filter -A FORWARD -d 远程桌面IP -p udp --dport 远程桌面端口 -j ACCEPT -m comment --comment "备注些这里:上行流量"
下行流量:
sudo iptables -t filter -A FORWARD -s 远程桌面IP -j ACCEPT -m comment --comment "下行流量"
可以看到,下行命令的除了 改变了 -d 为 -s, 还去掉了协议和端口,
这表达只要是这个 IP(指的是远程桌面) 的访问,就记录。
以上就是具体实现方式,有些复杂,需掌握许多前置知识,才能驾驭好 iptables,
还好,有人做了类似的转发面板
其它方式:极光面板
这是一个多服务器端口租用管理面板,你可以添加多台服务器及端口,并将其分配给任意注册用户,
租户则可以很方便地使用被分配的端口来完成各种操作
极光面板Github
https://github.com/Aurora-Admin-Panel/deploy
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号