同账号下不同ecs修改不同出口

同账号下不同ecs修改不同出口  
  这标题我也不知道怎么起名才恰当 = =
  直接说需求:
  对于项目A,我们有一个专门买该项目A资源(服务器、安全产品等等)的阿里云账号。其中有台是老板给我买的,专属于我,用来做各种测试,因为阿里云操作系统(Alibaba Cloud Linux 3.2104 LTS 64位)特别难搞,之前搞的生产故障就是因为不熟悉这个魔改过的操作系统【https://www.cnblogs.com/windysai/p/17062274.html】。然后这台服务器相当于测试环境,其他服务器则是生产环境。默认情况下,所有服务器都是用同一个安全组规则,同一个路由器转发规则,同一个交换机。
  这就导致一个问题,有些服务器是只有内网ip,而没有公网ip的,在配置服务器访问外网的过程中【https://www.cnblogs.com/windysai/p/14408424.html】,云控制台添加路由下一跳的时候,只能选择一台公网服务器,当时我规划的时候,是一台nginx入口生产服务器。
  假设我开了测试服务器,需要特别大的流量,如果还是用这台生产入口服务器,可能会影响到生产环境的带宽流量。还有一个问题,测试服务器和正式服务器用同一个安全组规则,80、443端口只开放给WAF白名单,如果测试服务器也部署了个nginx,在不接入WAF防护下,80、443就访问不了(测试环境就没必要接入到waf防护下啦),所以遇到这种情况,我就非常痛苦地需要把80、443开给公司出口路由器ip,但由于隔三差五出口ip会变,又不得修改。
  感觉自己罗里吧嗦的,不知道大家懂不懂,哈哈哈~~反正阿里客服懂我,反馈给他们的时候给出解决方案,大致总结如下:
1、在同可用区上新建一个交换机,将 A服务器(只有内网ip)、 B服务器(公网ip和内网ip都有)通过修改IP地址的方式迁移到该交换机下;

2、创建自定义路由表并绑定该交换机
创建自定义路由表:https://help.aliyun.com/document_detail/87057.html#context-llw-yt8-5rc

3、在自定义路由表中添加指向B服务器缺省路由。 
添加和删除路由表中的路由条目:https:
//help.aliyun.com/document_detail/87057.html#section-p9h-bmf-xyz

 

实现:

未改之前是这样的

圈住那个是我的测试机器,其他是正式环境服务器,可以看到内网ip是同一段。

 

1、创建新交换机

   【专有网络】——》【交换机】——》【创建交换区】
  下面是我创建好的,ipv4网段为:172.16.16.0/20

 

   交换区网段设置可以参考:https://help.aliyun.com/document_detail/54095.html?spm=5176.11182180.help.dexternal.692e4882whzNQL#title-oil-ncn-266,注意必须是其所属VPC网段的子集,可以利用这个ip地址计算器辅助下【http://ip.chacuo.net/ipcalc】

2、修改测试机的内网ip为新交换机ip网段下

  可以看到未改前该机器的内网ip为:172.30.xx.235
  关机,修改私有ip,我改成172.16.16.16
  

 

 

 

 

 

3、新建一台只有内网ip的测试服务器B进行测试
详情参看【https://www.cnblogs.com/windysai/p/14408424.html】

 

 

(1)修改网关地址指向出口外网ecs(上图那台有公网ip的测试机器,假设叫A)的内网ip(172.16.16.16)
(2)公网ip测试机器A配置 SNAT 转发(前提开了路由转发功能),B的内网ip为172.16.16.94
-A POSTROUTING -s 172.16.16.94/32 -j SNAT --to-source 172.16.16.16

 (3)控制台添加路由下一跳

B服务器进行测试

 现在A和B自立门户,跟生产环境的安全组、交换机也分开了,但还是同一个专有网络

 

 

 
 
 
posted @ 2023-01-24 22:36  windysai  阅读(40)  评论(0编辑  收藏  举报