Linux端口转发

问题:客户购买了云数据库,但是发现云数据库没有公网IP,客户的办公网络环境无法通过公网连接数据库,影响工作效率,要求退货云数据库,该怎么处理?

 

解决方案:云数据库的公网链路已在研发排期中,后期将以CLB绑定的形式提供公网连接链路。

如急需公网连接数据库,可以购买一台与数据库同可用区具有公网能力的CVM,在CVM中做端口映射,将数据库的服务器端口,映射到CVM的公网IP上。

 

 

Linux系统CVM端口映射步骤如下:

 

  1. 编辑脚本:编写端口转发的脚本

vim portforwarding.sh

输入以下内容(需要修改为对应的IP地址和端口号):

#!/bin/bash

CVMHOST=172.21.0.13                                   #具有公网能力的CVM服务器的内网地址

DATABASEHOST=172.21.0.14                          #数据库的内网IP地址

PORT=1433                                                    #需要映射的端口

 

iptables -t nat -A PREROUTING -d $CVMHOST -p tcp --dport $PORT -j DNAT --to-destination $DATABASEHOST:1433

iptables -t nat -A POSTROUTING -d $DATABASEHOST -p tcp --dport $PORT -j SNAT --to-source $CVMHOST

echo 1 > /proc/sys/net/ipv4/ip_forward

sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf

sysctl -p

 

  1. 保存退出后,给脚本增加执行权限:

chmod +x portforwarding.sh

  1. 执行脚本

./portforwarding.sh

  1. 测试端口是否转发成功

在PC机上telnet 公网IP 端口号,例如:

telnet 101.87.25.63 1433

       如果出现黑框就表示端口已经转发成功

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Linux,小知识)