阿里云ECSlinux下的端口转发设置(一台公网机器可设置端口穿透其他阿里云ECS内网)
本人在阿里云有两台云服务器(Centos6.3),一台能连外网的机器A,一台不能连接外网,机器B,
A机器有两个网卡:一个能通公网(如120.24.156.32),一个内网卡(如10.169.32.116)B机器不能连公网,并且只有一个内网(10.169.90.183)A机器内网之间是通的,目前想通过外网访问 B机器上的数据库,因此查询了一些资料,具体操作步骤为(本人亲测可用)
阿里云的这个编辑器好像不好使,可以看原帖:http://bbs.maikes.cn/thread-115-1-1.html
第一步,打开端口转发
#echo “1” > /proc/sys/net/ipv4/ip_forward
第二步:设置转发规则
#设置当访问外网120.24.156.32 端口11306 则转发至内网 10.169.32.116:3306
#iptables -t nat -A PREROUTING -d 10.169.90.183 -p tcp –dport 11306 -j DNAT –to-destination 10.169.32.116:3306 ##设置将A机器内网13306端口上的请求转发至B机器内网ip10.169.32.116上
#iptables -t nat -A POSTROUTING -s 0.0.0.0/0 -p tcp –dport 3306 -j SNAT –to-source 10.169.90.183 ##将B机器的应答数据返回至A机器的内网网卡端口11306上
#iptables -t nat -A PREROUTING -d 120.24.156.32 -p tcp –dport 11306 -j DNAT –to-destination 10.169.32.116:3306 ##设置将A机器外网13306端口上的请求转发至B机器内网ip10.169.32.116上
#iptables -t nat -A POSTROUTING -s 0.0.0.0/0 -p tcp –dport 3306 -j SNAT –to-source 120.24.156.32 ##将B机器的应答数据返回至A机器的外网网卡端口11306上
#第三步:保存设置
#service iptables save #保存更改
#service iptables restart #重启防火墙
#chkconfig iptables on #设置防火墙开机启动
备注:使用 vi /etc/sysconfig/iptables 可编辑当前设置的规则
以上为本人亲测通过,以前一直在windows平台下开发项目,哈哈,最近接触linux,发现linux下配置很灵活哈