其他分享
首页 > 其他分享> > AWS31.VPC NACL案例研究

AWS31.VPC NACL案例研究

作者:互联网

VPC NACL案例研究

=== 架构图

image

== 实验步骤

=== 创建新的VPC

  • 请确保您位于美国东部(弗吉尼亚北部)us-east-1 区域
  • 顶部菜单导航到 VPC
  • 单击左侧菜单中的您的 VPC
  • 在这里,您可以看到所有 VPC 的列表,无需对现有和默认 VPC 执行任何操作,我们将创建一个新的 VPC
  • 单击创建 VPC按钮。
  • 名称标签: 输入用于向您的 VPC 标识的 VPC 名称。例如:MyVPC
  • IPv4 CIDR 块: 输入 10.0.0.0/16
  • IPv6 CIDR 块: 无需更改此设置,请确保选中"无 IPv6 CIDR 块"
  • 租期: 无需更改此设置,请确保选中"默认"
  • 现在单击创建 VPC按钮

image

  • 创建VPC后,它将显示详细信息如下所示

image


=== 创建子网

  • 我们将分别在 us-east-1aus-east-1b 可用区中创建一个公有子网一个私有子网,如下所示:
  • 对于公有子网,单击左侧菜单中的子网,然后单击创建子网
    ** VPC ID :从您之前创建的列表中选择 MyVPC
    ** 子网名称 :输入名称 MyPublicSubnet
    ** 可用区 : 选择 us-east-1a
    ** IPv4 网段:输入范围 10.0.1.0/24
    ** 单击"创建子网"
  • 对于私有子网,再次单击"创建子网"
    ** VPC ID :从您之前创建的列表中选择 MyVPC
    ** 子网名称 :输入名称 MyPrivateSubnet
    ** 可用区 : 选择 us-east-1b
    ** IPv4网段:输入范围10.0.2.0/24
    ** 单击"创建子网"

image


=== 创建和配置互联网网关

  • 单击左侧菜单中的互联网网关,然后单击创建互联网网关
  • 名称标签:MyInternetGateway
  • 单击创建互联网网关
  • 从列表中选择您创建的互联网网关
  • 单击"操作"
  • 单击附加到VPC
  • 从列表中选择您创建的MyVPC,然后单击连接互联网网关

image


=== 创建路由表

  • 从左侧菜单中转到路由表,然后单击创建路由表
  • 名称: 输入"PublicRouteTable"
  • VPC: 从列表中选择"MyVPC"
  • 单击创建路由表
  • 重复相同的步骤,为私有子网创建路由表
  • 名称: 输入 PrivateRouteTable
  • VPC: 从列表中选择"MyVPC"
  • 单击创建路由表

image

  • 现在,将子网关联到路由表
  • 单击 PublicRouteTable,单击操作
  • 然后转到"子网关联"选项卡
  • 从列表中选择"MyPublicSubnet"
  • 单击保存关联
  • 单击 PrivateRouteTable,单击操作
  • 然后转到"子网关联"选项卡
  • 从列表中选择 MyPrivateSubnet
  • 单击保存关联
  • 确保不要将任何子网与主路由表关联

=== 更新路由表并配置公网网关

  • PublicRouteTable:添加允许公网流量流向 VPC 的路由
  • 选择"PublicRouteTable"
  • 转到"路由"选项卡,然后单击编辑路由按钮。
  • 然后单击添加路由按钮。
  • 指定以下值:
  • 目标:输入 0.0.0.0/0
  • 目标:从下拉菜单中选择互联网网关,选择MyInternetGateway
  • 点击保存更改

image


=== 为公有子网启用自动分配公有 IP

  • 注意:此设置将允许您在公有子网中启动的所有 EC2 实例自动分配公有 IP
  • 单击 VPC 左侧菜单中的子网
  • 从"子网"列表中选择"MyPublicSubnet"
  • 单击"操作",单击"编辑子网设置",然后找到"自动分配 IP 设置"选项
  • 选中启用自动分配 IPv4 地址复选框
  • 现在点击保存

=== 在公有子网中启动 EC2 实例

  • 请确保您位于美国东部(弗吉尼亚北部)us-east-1 区域。
  • 顶部菜单导航到 EC2
  • 左侧面板,单击"实例",然后单击"启动新实例"

==== (1)控制台启动实例

image

==== (2)选择系统镜像

image

==== (3)选择实例类型

image

==== (4)配置实例

  • 实例数:输入 1
  • 网络 : 选择MyVPC
  • 子网 :选择"MyPublicSubnet"
  • 自动分配公共 IP:使用子网设置
  • 在"高级详细信息>用户数据"部分下,输入以下脚本以创建由 Apache 提供的 HTML 页面
  #!/bin/bash
  sudo su
  yum update -y
  yum install httpd -y
  echo "<html><h1>Welcome to AWS </h1><html>" >> /var/www/html/index.html
  systemctl start httpd
  systemctl enable httpd
  • 将所有其他设置保留为默认值。单击"下一步:添加存储"

==== (5)添加存储

image

==== (6)添加标签

image

==== (7) 配置安全组

  • 添加 SSH:

. 选择类型: 选择 SSH
. 协议:TCP
. 端口范围:22
. 源:选择"任何位置"

  • 添加 HTTP:

. 选择类型: 选择 HTTP
. 协议:TCP
. 端口范围:80
. 源:选择"任何位置"

  • 点击下一步 `审核和启动

==== (8) 审核启动

  • 检查所有选定的设置,无误点击启动
  • 选择现有密钥对,确认并单击启动实例

image


=== 在私有子网中启动 EC2 实例

  • 请确保您位于美国东部(弗吉尼亚北部)us-east-1 区域。
  • 顶部菜单导航到 EC2
  • 左侧面板,单击"实例",然后单击"启动新实例"

==== (1)控制台启动实例

image

==== (2)选择系统镜像

image

==== (3)选择实例类型

image

==== (4)配置实例

  • 实例数:输入 1
  • 网络 : 选择MyVPC
  • 子网 :选择"MyPrivateSubnet"
  • 自动分配公共 IP:使用子网设置(禁用)
  • 将所有其他设置保留为默认值。单击"下一步:添加存储"

==== (5)添加存储

image

==== (6)添加标签

image

==== (7) 配置安全组

  • 添加 SSH:

. 选择类型: 选择 SSH
. 协议:TCP
. 端口范围:22
. 源:选择"任何位置"

  • 添加 所有 ICMP IPv4:

. 选择类型: 选择 所有 ICMP IPv4
. 协议:ICMP
. 端口范围:0 - 65535
. 源:选择"任何位置"

  • 点击下一步 `审核和启动

==== (8) 审核启动

  • 检查所有选定的设置,无误点击启动
  • 选择现有密钥对,确认并单击启动实例

image


=== 测试两个 EC2 实例

  • 公有 EC2 实例:我们已在此服务器上安装了 Web 应用程序
  • 从实例列表中选择 公有子网的 EC2 实例
  • 从"详细信息"选项卡中,复制 IPv4 公共 IP

image

  • 现在将此IP粘贴到您的Web浏览器中,然后访问
  • 您将能够看到以下页面

image

  • 接下来,我们将尝试从公有 EC2 实例 ping 私有 EC2
  • SSH 进入公有 EC2 实例
  • 切换到根用户

sudo -s

  • "详细信息"选项卡复制 私有子网的 EC2 实例 的"私有 IPv4 地址"

image

  • 使用私有 IPv4 对私有实例执行 Ping 操作

image

=== 注意:之所以能够执行这些任务,是因为在 VPC 创建期间创建的默认 NACL 默认允许入站和出站。


=== 创建自定义 NACL 并将其关联到子网

  • 注意:默认情况下,两个子网都将与 MyVPC 的默认 NACL 相关联。创建自定义 NACL 并将其附加到公有子网和私有子网

==== 导航到"VPC"。"安全性"下单击"网络 ACL"

  • 创建网络 ACL
  • 名称:输入MyPublicNACL
  • VPC:从下拉列表中选择MyVPC
  • 单击"创建网络 ACL"
  • 将 MyPublicNACL 关联到子网
  • 选择"操作"选项卡,然后单击"编辑子网关联"
  • 同时选择 公有子网私有子网
  • 点击保存更改

=== 测试公有 EC2 实例和私有 EC2 实例

  • 公有 EC2 实例
  • 导航到 EC2 实例控制面板。单击左侧菜单中的实例
  • 从实例列表中选择 公有子网的 EC2 实例
  • 从"详细信息"选项卡中,复制 IPv4 公共 IP

image

  • 现在将此IP粘贴到您的Web浏览器中,然后访问
  • 您将能够看到以下页面

image

  • 注意:这是因为附加到公有子网的自定义 NACL限制入站和出站流量
  • 私有 EC2 实例
  • 由于公有 NACL 限制所有流量,因此您将无法通过 SSH 进入公有 EC2 实例以 ping 私有实例。
  • 接下来,我们将解决这个问题

=== 向自定义 NACL 添加规则 (MyPublicNACL)

  • 导航到"VPC"。单击"安全性下的"网络 ACL"
  • 从列表中选择"MyPublicNACL"
  • 在"入站规则"中,单击"编辑入站规则"
  • 添加以下规则
  • HTTP 单击"添加规则",
    ** 规则编号 :输入 100
    ** 类型:选择 HTTP (80)
    ** 源:输入 0.0.0.0/0
    ** 允许/拒绝:选择"允许"
  • 对于所有 ICMP- IPv4,请单击"添加规则",
    ** 规则编号 :输入 150
    ** 类型:选择所有 ICMP - IPv4
    ** 源:输入 0.0.0.0/0
    ** 允许/拒绝:选择"允许"
  • 对于 SSH,单击"添加规则",
    ** 规则编号 : 输入 200
    ** 类型: 选择 SSH (22)
    ** 源:输入 0.0.0.0/0
    ** 允许/拒绝:选择"允许"
  • 点击保存更改

image

  • 在出站规则选项卡中,单击编辑出站规则
  • 添加以下规则
  • 对于自定义端口
    ** 规则编号:输入 100
    ** 类型:选择自定义 TCP 规则
    ** 端口范围:输入 1024 - 65535
    ** 源:输入 0.0.0.0/0
    ** 允许/拒绝:选择"允许"
  • 对于所有 ICMP- IPv4,请单击"添加规则",
    ** 规则编号 :输入 150
    ** 类型:选择所有 ICMP - IPv4
    ** 源:输入 0.0.0.0/0
    ** 允许/拒绝:选择"允许"
  • 对于 SSH,请单击"添加规则",
    ** 规则编号:输入 200
    ** 类型: 选择 SSH (22)
    ** 源:输入 0.0.0.0/0
    ** 允许/拒绝:选择"允许"
  • 点击保存

image


=== 测试两个 EC2 实例

  • 我们将尝试从公有 EC2 实例 ping 私有 EC2
  • SSH 进入公有 EC2 实例
  • 连接到服务器后
    ** 切换到根用户

sudo -s

  • "详细信息"选项卡复制 私有子网的 EC2 实例 的"私有 IPv4 地址"

image

  • 使用私有 IPv4 对私有实例执行 Ping 操作

image

  • 注意:之所以能够执行这些任务,是因为我们添加了 NACL 规则

标签:子网,单击,AWS31,选择,实例,NACL,VPC,EC2
来源: https://www.cnblogs.com/ajajroom/p/16401994.html