iptables 实现(中继、中转、端口转发)加速

如果下载的源码需要作者授权,请更换源码。本站免费分享资源不会增加授权

1. 适用场景

经常会遇到本地访问远端服务时速度很慢。比如:ssh 或者 remotedesktop 国外的服务器、使用SS***时速度慢延迟高 等等
这时可以用一台机器做跳板,来转发你的数据
前提是这台机器 到你本地网络 和 到达远端服务器网络 状态良好。
举例:你在北京远程桌面美国的一台服务器延迟高经常掉线,而香港的vps到北京和美国的网络都很快,此时你就可以选择香港的vps来做中转。
iptables 可以简单快速的实现这一功能。

2. 开启ipv4路由转发

Linux的防火墙功能是通过netfilter实现的,iptables和firewalld则是netfileter的管理工具
这里使用iptables来实现中转功能

首先要启用 linux 的 ipv4 路由转发功能

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

3. 安装并启用iptables

# yum install -y iptables iptables-services# systemctl enable iptables# systemctl restart iptables

4. 编写iptables规则

假设:HK-vps IP 1.1.1.1,US-vps IP 2.2.2.2,服务端口 TCP-3389

# iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 2.2.2.2:3389# iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.2 --dport 3389 -j SNAT --to-source 1.1.1.1

但实际上大多数vps只会配置一个内网地址,然后再和你的公网地址一对一映射
比如 HK-vps 上 ifconfig 得到 IP 172.16.10.10
所以实际你应该这样写

# iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 2.2.2.2:3389# iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.2 --dport 3389 -j SNAT --to-source IP 172.16.10.10

然后当你需要连接 US-vps 的 tcp-3389时

# telnet 2.2.2.2 3389

当然你也可以不必让中转端口和实际目的端口号一样
比如当你 telnet 1.1.1.1 666 实际连接的是 2.2.2.2 3389

# iptables -t nat -A PREROUTING -p tcp --dport 666 -j DNAT --to-destination 2.2.2.2:3389# iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.2 --dport 3389 -j SNAT --to-source IP 172.16.10.10

iptables规则写完后,若验证失败,检查iptables是否启动,或者查看vps安全策略是否放行匹配流量。

5. 保存iptables配置

# service iptables save

 收藏 (0) 打赏

入群打赏请备注QQ,购买打赏请备注邮箱

支付宝扫一扫赞助

微信钱包扫描赞助

未经5G云允许不得转载:5G云源码分享网 » iptables 实现(中继、中转、端口转发)加速

评论 抢沙发

评论前必须登录!

立即登录   注册

5G云源码 更专业 更方便

关于5G云联系我们
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活