VPC网络的理解与实践

1,323 阅读3分钟

前阵子通过统计,公司在网络带宽方面占据的费用达到50%。想办法把这部分的资源优化

当前遇到的问题

  • 1.因为是网络请求导致大量的带宽消耗,但有部分实例是不需要外网带宽的。
  • 2.没有集中管理起来,无法做到带宽弹性供给。
  • 3.无法隔离网络,遭受攻击可能会危害内网下所有服务(内网互通),开放外网会有被端口扫瞄的风险。
  • 4.无法集中、可配置的管理网络上、下行,也就无法过滤请求。

思路:

socks5 nat转发
落地 直接通过1台代理的机器与内网中的所有机器相连,代理它们的tcp请求。使用开源软件:shadownsocks-go 通过iptable配置端口转发
优势 简单方便,易于理解。翻墙就是采用类似的技术 方便高效、结合云服务商提供的vpc组合套装,达到企业级管理
劣势 不够高效。相当于所有请求都得在tcp/ip层被转发一次,机器多了会增加server端的压力,也无法做到配置化、过滤、隔离等需求。 学习成本相较于socks5高,毕竟是企业级的解决方案
场景 适合个人使用,翻墙、或者内网穿透,、个人nas这种场景 适合企业级网络管理

VPC各大云平台都有简介,请翻阅。

看完相关文档后带着问题来实操一下

  • 1.VPC中的主机如何暴露端口?
  • 2.ACL有哪些落地的场景?
  • 3.子网有哪些实际意义?
  • 4.自定义路由表有哪些实际意义?

实际执行过后

  • 1.VPC中可以通过端口转发对外暴露端口。
  • 2.可以通过配置防止内网资源被恶意消耗。(被攻击后,劫持的机器多半要和外网通信。这里就能有效解决被入侵的危害
  • 3.子网的意义在于:冗余、备份、还有隔离。(子网中的资源被攻击后,其它资源是安全的,有效控制危害范围
  • 4.自定义路由可以用在对外暴露端口和内部的端口不一致。(例如:外部对接的是端口2222,对应内部跳板机的22端口)

原/现有网络拓扑结构(精简了下,便于理解)图,相当于VPC接管了原来集群的网络。达到了资源可管理、可配置。

在这里插入图片描述

总结VPC的能力边界和对应落地场景:

能力 场景
VPC 构建虚拟网络,接管内网中所有服务(web-server, redis, mysql, nginx)的入网、出网行为。 目前的Ucloud购买的主机就在默认的VPC下
子网 通过不同网段区分开的网络结构体。可以做到内部的有序管理,管理粒度更细了 这层的划分可以和公司内部的组织结构对应上
NAT网关 可以将内网中的服务向外暴露 例如之前直接通过9000, 9989, 9988访问某些测试接口
内网VIP 手动为某个实例分配IP 机器本身有个内网IP(ucloud自己的网关),然后还能分配一个VIP(客户自己的网关),这样在组网的时候就相当灵活了。这样内网交互的时候几乎不用去外部的网关,内部就能完成闭环。
ACL 管理着入网、出网的规则。 可以为机器添加出网白名单,这样机器被攻击后也无法与外界通信。
路由表 自定义路由可以用在对外暴露端口和内部的端口不一致 外部对接的是端口2222,对应内部跳板机的22端口

如何您喜欢我的文章,可以关注我的公众号:vm-321,领取学习资料