5-25 202
由于一张阿里云新购代金券6月份就要到期了,所以就打算在阿里云新购一台ECS。但是考虑到代金券只有20元,买其他的都要贴好多钱,于是就买了一台没有公网带宽的服务器。
可是没有公网我要它来做什么呢= = 于是开始考虑使用原有的ECS进行端口转发实现内外网的互通。下面附上详细教程,供有需要的参考
教程开始:
有公网带宽的下称:A机器, 无公网带宽的下称:B机器
A机器有两个网卡:一个能通公网(如120.24.156.32),一个内网卡(如10.169.32.116)B机器不能连公网,并且只有一个内网(10.169.90.183)A机器内网之间是通的,目前想通过外网访问 B机器上的数据库,因此查询了一些资料,具体操作步骤为:
第一步,打开端口转发
#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 可编辑当前设置的规则
以上都经过个人亲测,可用哦~