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

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

2019年03月04日
Server IP:172.16.10.10/24
系统版本:CentOS Linux release 7.5.1804

参考文档

https://lighti.me/2540.html


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

转载于:https://www.cnblogs.com/haoduoyou/p/10471395.html

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值