您好,欢迎访问沃航(武汉)科技有限公司官方网站
使用iptables实现反向代理
2019-07-29 03:36:20

现在的人们对数据的安全看的越来越重视了,一台特殊功能的服务器,往往除了常规的安全处理方式外,还会有类似限制客户端ip的要求。如阿里云的rds服务,虽然这个服务的数据很安全,但是使用起来确实很烦心。它限制客户端ip,但是在中国这样的网络环境中,普通用户使用的都是静态ip。每次修改白名单都很麻烦。

因此小沃的解决方法是,让那台服务器做反向代理。以前小沃有教过大家如果是http或是https请求,可以使用nginx作为反向代理服务器。

但是如果是类似阿里云rds这样的mysql连接这样的请求,又该怎么办呢?

小沃现在就教教大家直接对tcp连接进行反向代理。

假设有一台公网ip为123.57.232.227的服务器,它能连接到27.92.58.43的rds。

因此我们想配置123.57.232.227的5306端口反向代理到27.92.58.43的3306端口,下面是配置方法

1.修改接收到的数据包的目的地址

将5306端口接收到的数据包目的地址修改为27.92.58.43:3306

iptables -t nat -A PREROUTING -p tcp --dport 5306 -j DNAT --to-destination 27.92.58.43:3306

2.修改数据包的源地址

iptables -t nat -A POSTROUTING -p tcp -d 27.92.58.43 --dport 3306 -j MASQUERADE

或是

iptables -t nat -A POSTROUTING -p tcp -d 27.92.58.43 --dport 3306 -j SNAT --to-source 123.57.232.227

这两种方式的不同之处在于使用MASQUERADE动态指定数据包的源地址或是SNAT手动指定数据包的源地址。

3.设置转发数据包为允许状态

iptables -A FORWARD -d 27.92.58.43/32 -p tcp --dport 3306 -j ACCEPT


完成上述步骤后,如果您访问123.57.232.227:5306,数据包将被转发到27.92.58.43:3306,并且对于27.92.58.43这台服务器,他会认为是123.57.232.227连接它的,这样就破解了ip地址绑定。


文章作者:沃航科技




联系我们
地址:
武汉市洪山区蓝晶国际7栋903
QQ:
932773931
电话:
027-59761089-806
手机:
13397158231
邮箱:
jevian_ma@worldflying.cn
×
物联网组态平台
试用账号:123456
试用密码:123456
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn
×
积木编程平台
试用方式:试用手机号码注册即可使用
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn