美文网首页
内网ECS访问公网的三种方式

内网ECS访问公网的三种方式

作者: aq_wzj | 来源:发表于2024-08-21 09:40 被阅读0次

    1. 方案介绍

    方案1: 使用阿里云的公网 NET 网关

    方案2: 使用阿里云的公网 NET 网关 + IPV4 网关

    方案3: 通过有公网 IP 的 ECS 进行 IP 转发

    方案对比

    方案名称 优点 缺点
    1.使用阿里云的公网 NET 网关 阿里云提供的 SNAT 服务,使用稳定 需要购买 NET 网关,价格较贵,每年 2000 左右
    2.使用阿里云的 公网NET网关 + IPV4 网关 基于方案1再加个 IPV4 网关, 可对 VPC 下所有 ECS 访问公网的流量进行管控, 可以将流量转发至防火墙 1. 需要购买 NET 网关,价格较贵,每年 2000 左右
    2. 配置麻烦
    3.通过有公网 IP 的 ECS 进行 IP 转发 无需购买额外服务 需要自己在 ECS 配置,稳定性较差,取决于运维能力

    2. 实现步骤

    2.1 方案1: 使用阿里云的 公网 NET 网关

    image-20240821110950458.png
    1. 直接购买一个公网 NET 网关+弹性 IP
    2. 配置公网NET网关的 SNET 服务, 这里可选 整个 VPC , 某个交换机, 某个 ECS 。需要说明,并不是这里配置完, 对应的云服务就有公网访问能力了, 还需完成步骤3。
    3. 将需要获取公网访问能力的 ECS 对应的交换机,配置路由表的下一跳地址, 0.0.0.0/0 跳到 NET 网关

    2.2 方案2:使用公网 NET 网关 + IPV4 网关

    image-20240821111008733.png

    方案二需要两个交换机

    sw1: 有公网 IP 服务器的交换机

    sw2: 存内网服务器的交换机

    1. 在 sw1 下创建NET网关
    2. 配置 sw2 的路由条目(需要新建), 0.0.0.0/0 跳到 NET 网关
    3. 新增 IPV4 网关, 关联到 sw1 的路由表, 激活

    到这一步, 私网服务器已经可以访问公网了, 为实现流量管控(需要配合虚拟防火墙), 可以加上以下步骤

    1. 新增一张路由表, 类型选择边界网关
    2. 将该路由表绑定到 IPV4 网关

    这个边界网关类型的路由表, 无法自定义路由条目, 只可编辑非默认的系统路由条目, 即, 管理该 vpc 下的全部交换机的下一跳流量, 若有防火墙, 可以将下一跳流量转发至防火墙的弹性网卡

    2.3 通过有公网 IP 的 ECS 进行 IP 转发

    image-20240821114007024.png
    1. 在阿里云控制台配置交换机的路由条目, 将 0.0.0.0/0 的下一跳地址设置为带公网 IP 的 ECS

    2. 在公网 ECS上操作: 开启公网 ECS 的 IP 转发功能

      echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
      
      sysctl -p
      
    3. 在公网 ECS上操作: 设置 iptables 的 NAT 转发规则

      # 命令
      iptables -t nat -I POSTROUTING -s {CIDR} -j SNAT --to-source {PUB_IP}
      
      # {CIDR}: VPC 或交换机的网段, 如 172.16.0.0/16
      # {PUB_IP}: 公网 ECS 的内网 IP
      
      # 示例, VPC网段是 172.16.0.0/16 , 公网 ECS 的内网 IP 是 172.16.211.72
      iptables -t nat -I POSTROUTING -s 172.16.0.0/16 -j SNAT --to-source 172.16.211.72
      
    4. 在公网 ECS上操作: 到这一步基本就可以在内网 ECS 上访问公网了, 若还是不行, 关闭 ufw 防火墙, 即使防火墙状态已经是 inactive, 也执行一下关闭命令

      ufw disable
      

      排错方式

      在内网服务器上 ping www.baidu.com

      在公网服务器上使用以下命令抓包:

      tcpdump host {内网服务器IP} -i eth0 |grep ICMP
      

      成功的配置应该有 公网 IP 到内网 IP 的流量, 和内网 IP 到 公网 IP 的流量

    相关文章

      网友评论

          本文标题:内网ECS访问公网的三种方式

          本文链接:https://www.haomeiwen.com/subject/vymbkjtx.html