艾克斯工作室

使用iptables快速配置端口转发映射

  我经常使用iptables配置端口映射,为境外服务器加速,优化国内访问速度;一般搭配VPN使用,在境外价格必要优惠的机房购买一个配置高的VPS,同时在一些小服务商那低价购买一些CN2等国内访问效果比较好的VPS用作出口;

  之前有写过一篇:境外服务器加速-低成本境外服务器建站方案 ,其中描述了通过Nginx代理的方式加速站点,适合多服务器公用出口的的方式,配置起来稍微麻烦点,如果只是单台服务器可以采用本文介绍的iptables做NAT的方式来配置,快速简单稳定;

iptables命令

# DNAT 配置 将访问云服务器 443端口的请求转发至 目的IP的 443端口上
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 443 -j DNAT --to-destination 目的IP:443
# SNAT 配置 将目标为 目的IP 端口 443 的请求 源IP替换为 本机IP地址
iptables -t nat -A POSTROUTING -d 目的IP -p tcp --dport 443 -j SNAT --to 本机IP

使用iptables直接映射的优点

  • 快速配置
  • 操作难度低
  • 运行稳定
  • 资源消耗低
  • 对应用服务器无需安装其他应用即可使用

  这也是我之所以青睐这种配置方式的原因,省事,如果项目中没有特别的要求,且这个方式可以满足功能上需求,我一般都会选择这种配置方式,有时候因为工作需要,要讲内网的一些应用映射到公网上去,我也主要采取这种方式;

使用iptables直接映射的缺点

  • 服务端无法接收真实IP地址
  • 部分限流工作无法有效工作
  • 单端口无法映射多服务器

  应用程序无法获取顾客的真是IP,并不适合需要获取用户IP的应用,有一定局限性,所以在使用这种方式部署应用的时候一定要考虑清楚了,这些问题对你的应用是否会造成影响;

滚动至顶部