AWS31.VPC NACL案例研究
作者:互联网
VPC NACL案例研究
=== 架构图
== 实验步骤
=== 创建新的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
按钮
- 创建VPC后,它将显示详细信息,如下所示:
=== 创建子网
- 我们将分别在 us-east-1a 和 us-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
** 单击"创建子网"。
=== 创建和配置互联网网关
- 单击左侧菜单中的互联网网关,然后单击创建互联网网关。
- 名称标签:MyInternetGateway。
- 单击创建互联网网关。
- 从列表中选择您创建的互联网网关
- 单击"操作"。
- 单击附加到VPC
- 从列表中选择您创建的MyVPC,然后单击连接互联网网关。
=== 创建路由表
- 从左侧菜单中转到路由表,然后单击创建路由表。
- 名称: 输入"PublicRouteTable"。
- VPC: 从列表中选择"MyVPC"。
- 单击创建路由表。
- 重复相同的步骤,为私有子网创建路由表。
- 名称: 输入 PrivateRouteTable。
- VPC: 从列表中选择"MyVPC"。
- 单击创建路由表。
- 现在,将子网关联到路由表。
- 单击 PublicRouteTable,单击
操作
。
- 然后转到"子网关联"选项卡
- 从列表中选择"MyPublicSubnet"。
- 单击保存关联。
- 单击 PrivateRouteTable,单击
操作
。
- 然后转到"子网关联"选项卡
- 从列表中选择 MyPrivateSubnet。
- 单击保存关联。
- 确保不要将任何子网与主路由表关联。
=== 更新路由表并配置公网网关
- PublicRouteTable:添加允许公网流量流向 VPC 的路由。
- 选择"PublicRouteTable"。
- 转到"路由"选项卡,然后单击
编辑路由
按钮。- 然后单击
添加路由
按钮。- 指定以下值:
- 目标:输入 0.0.0.0/0
- 目标:从下拉菜单中选择互联网网关,选择
MyInternetGateway
。- 点击保存更改。
=== 为公有子网启用自动分配公有 IP
- 注意:此设置将允许您在公有子网中启动的所有 EC2 实例自动分配公有 IP
- 单击 VPC 左侧菜单中的子网。
- 从"子网"列表中选择"MyPublicSubnet"
- 单击"操作",单击"编辑子网设置",然后找到"自动分配 IP 设置"选项
- 选中启用自动分配 IPv4 地址复选框
- 现在点击保存
=== 在公有子网中启动 EC2 实例
- 请确保您位于美国东部(弗吉尼亚北部)us-east-1 区域。
- 顶部菜单导航到 EC2
- 左侧面板,单击"实例",然后单击"启动新实例"。
==== (1)控制台启动实例
==== (2)选择系统镜像
==== (3)选择实例类型
==== (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)添加存储
==== (6)添加标签
==== (7) 配置安全组
- 添加 SSH:
. 选择类型: 选择 SSH
. 协议:TCP
. 端口范围:22
. 源:选择"任何位置"
- 添加 HTTP:
. 选择类型: 选择 HTTP
. 协议:TCP
. 端口范围:80
. 源:选择"任何位置"
- 点击下一步 `审核和启动
==== (8) 审核启动
- 检查所有选定的设置,无误点击启动
- 选择现有密钥对,确认并单击启动实例
=== 在私有子网中启动 EC2 实例
- 请确保您位于美国东部(弗吉尼亚北部)us-east-1 区域。
- 顶部菜单导航到 EC2
- 左侧面板,单击"实例",然后单击"启动新实例"。
==== (1)控制台启动实例
==== (2)选择系统镜像
==== (3)选择实例类型
==== (4)配置实例
- 实例数:输入 1
- 网络 : 选择MyVPC
- 子网 :选择"MyPrivateSubnet"
- 自动分配公共 IP:使用子网设置(禁用)
- 将所有其他设置保留为默认值。单击"下一步:添加存储"
==== (5)添加存储
==== (6)添加标签
==== (7) 配置安全组
- 添加 SSH:
. 选择类型: 选择 SSH
. 协议:TCP
. 端口范围:22
. 源:选择"任何位置"
- 添加 所有 ICMP IPv4:
. 选择类型: 选择 所有 ICMP IPv4
. 协议:ICMP
. 端口范围:0 - 65535
. 源:选择"任何位置"
- 点击下一步 `审核和启动
==== (8) 审核启动
- 检查所有选定的设置,无误点击启动
- 选择现有密钥对,确认并单击启动实例
=== 测试两个 EC2 实例
- 公有 EC2 实例:我们已在此服务器上安装了 Web 应用程序。
- 从实例列表中选择 公有子网的 EC2 实例。
- 从"详细信息"选项卡中,复制 IPv4 公共 IP。
- 现在将此IP粘贴到您的Web浏览器中,然后访问
- 您将能够看到以下页面:
- 接下来,我们将尝试从公有 EC2 实例 ping 私有 EC2。
- SSH 进入公有 EC2 实例
- 切换到根用户
sudo -s
- 从"详细信息"选项卡复制 私有子网的 EC2 实例 的"私有 IPv4 地址"。
- 使用私有 IPv4 对私有实例执行 Ping 操作
=== 注意:之所以能够执行这些任务,是因为在 VPC 创建期间创建的默认 NACL 默认允许入站和出站。
=== 创建自定义 NACL 并将其关联到子网
- 注意:默认情况下,两个子网都将与 MyVPC 的默认 NACL 相关联。创建自定义 NACL 并将其附加到公有子网和私有子网。
==== 导航到"VPC"。"安全性"下单击"网络 ACL"
- 创建网络 ACL
- 名称:输入MyPublicNACL
- VPC:从下拉列表中选择MyVPC。
- 单击"创建网络 ACL"。
- 将 MyPublicNACL 关联到子网
- 选择"操作"选项卡,然后单击"编辑子网关联"
- 同时选择 公有子网和私有子网。
- 点击保存更改
=== 测试公有 EC2 实例和私有 EC2 实例
- 公有 EC2 实例:
- 导航到 EC2 实例控制面板。单击左侧菜单中的实例。
- 从实例列表中选择 公有子网的 EC2 实例。
- 从"详细信息"选项卡中,复制 IPv4 公共 IP。
- 现在将此IP粘贴到您的Web浏览器中,然后访问
- 您将能够看到以下页面:
- 注意:这是因为附加到公有子网的自定义 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
** 允许/拒绝:选择"允许"- 点击保存更改
- 在出站规则选项卡中,单击编辑出站规则
- 添加以下规则:
- 对于自定义端口
** 规则编号:输入 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
** 允许/拒绝:选择"允许"- 点击保存
=== 测试两个 EC2 实例
- 我们将尝试从公有 EC2 实例 ping 私有 EC2。
- SSH 进入公有 EC2 实例
- 连接到服务器后:
** 切换到根用户
sudo -s
- 从"详细信息"选项卡复制 私有子网的 EC2 实例 的"私有 IPv4 地址"。
- 使用私有 IPv4 对私有实例执行 Ping 操作
- 注意:之所以能够执行这些任务,是因为我们添加了 NACL 规则。
标签:子网,单击,AWS31,选择,实例,NACL,VPC,EC2 来源: https://www.cnblogs.com/ajajroom/p/16401994.html