本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理 Lightsail for Research 虚拟机的防火墙端口
Amazon Lightsail for Research 中的防火墙控制允许连接到您的虚拟计算机的流量。您可以向虚拟计算机的防火墙添加规则,以指定协议、端口以及允许连接到虚拟计算机的一个 IPv4 或 IPv6 多个源地址。防火墙规则始终是允许型的;您无法创建拒绝访问的规则。向虚拟计算机的防火墙添加规则,以允许流量到达虚拟计算机。每台虚拟计算机都有两个防火墙;一个用于 IPv4 地址,另一个用于 IPv6地址。这两个防火墙彼此独立,并且包含一组预配置规则,用于筛选进入实例的流量。
协议
协议是在两台计算机之间传输数据的格式。可以在防火墙规则中指定以下协议:
-
传输控制协议(TCP)主要用于建立和维持客户端与虚拟计算机上运行的应用程序之间的连接。它是一种广泛使用的协议,您可能经常在防火墙规则中指定该协议。
-
用户数据报协议(UDP)主要用于在客户端和虚拟计算机上运行的应用程序之间建立低延迟的容损连接。它最适用于所感知的延迟至关重要的网络应用程序,例如游戏、语音和视频通信。
-
Internet 控制消息协议(ICMP)主要用于诊断网络通信问题,例如,确定数据是否及时到达预期目的地。它最适用于 Ping 实用程序,可以使用该实用程序来测试本地计算机和虚拟计算机之间的连接速度。它会报告数据到达虚拟计算机并返回到本地计算机所花费的时间。
-
所有用于允许所有协议流量流入虚拟计算机。当不确定要指定哪个协议时,请指定此协议。这包括所有互联网协议;而不仅仅是上面指定的协议。有关更多信息,请参阅互联网编号分配机构网站上的协议编号
。
端口
与计算机上的物理端口(允许计算机与键盘和指针等外围设备进行通信)类似,防火墙端口将充当虚拟计算机的互联网通信端点。当客户端寻求与您的虚拟计算机连接时,它会公开一个端口来建立通信。
可在防火墙规则中指定的端口范围是 0 到 65535。在创建防火墙规则以允许客户端与虚拟计算机建立连接时,可以指定要使用的协议。您还可以指定用于建立连接的端口号和允许建立连接的 IP 地址。
默认情况下,对于新创建的虚拟计算机,以下端口处于打开状态。
-
TCP
-
22 - 用于 Secure Shell(SSH)。
-
80 - 用于超文本传输协议(HTTP)。
-
443 - 用于安全超文本传输协议(HTTPS)。
-
8443 - 用于安全超文本传输协议(HTTPS)。
-
为什么要打开和关闭端口
打开端口时,即允许客户端与虚拟计算机建立连接。关闭端口时,会阻止与虚拟计算机建立连接。例如,要允许 SSH 客户端连接到虚拟计算机,您需要配置一条防火墙规则,只允许来自需要建立连接的计算机的 IP 地址通过端口 22 进行 TCP 连接。在这种情况下,您不想允许任何 IP 地址与您的虚拟计算机建立 SSH 连接。这样做可能会导致安全风险。如果您的实例的防火墙上已经配置了此规则,则可以将其删除以阻止 SSH 客户端连接到您的虚拟计算机。
以下过程向您展示如何获取虚拟计算机上当前打开的端口、如何打开新端口和关闭端口。
完成 先决条件
在开始之前,请满足以下先决条件。
-
在 Lightsail 中创建一台用于研究的虚拟计算机。有关更多信息,请参阅 创建 Lightsail for Research 虚拟计算机。
-
下载并安装 AWS Command Line Interface (AWS CLI)。有关更多信息,请参阅《AWS Command Line Interface 用户指南版本 2》中的安装或更新最新版本的 AWS CLI。
-
配置 AWS CLI 以访问您的 AWS 账户。有关更多信息,请参阅《AWS Command Line Interface 用户指南版本 2》中的配置基础知识。
获取虚拟计算机的端口状态
完成以下过程以获取虚拟计算机的端口状态。此过程使用get-instance-port-states
AWS CLI 命令获取特定 Lightsail for Research 虚拟计算机的防火墙端口状态、允许通过端口连接到虚拟计算机的 IP 地址以及协议。有关更多信息,请参阅 AWS CLI 命令参考 中的 get-instance-port-states。
-
此步骤取决于您本地计算机的操作系统。
-
如果您的本地计算机使用 Windows 操作系统,请打开命令提示符窗口。
-
如果您的本地计算机使用基于 Linux 或 Unix 的操作系统(包括 macOS),请打开终端窗口。
-
-
输入以下命令,获取防火墙端口状态和允许的 IP 地址和协议。在命令中,将
替换为创建虚拟计算机所在的 AWS 区域的代码,例如REGION
us-east-2
。将
替换为您的虚拟计算机的名称。NAME
aws lightsail get-instance-port-states --region
REGION
--instance-nameNAME
示例
aws lightsail get-instance-port-states --region
us-east-2
--instance-nameMyUbuntu
响应将显示开放的端口和协议,以及允许连接到您的虚拟计算机的 IP CIDR 范围。
有关如何打开端口的信息,请继续阅读下一节。
打开虚拟计算机的端口
完成以下过程,以为虚拟计算机打开端口。此过程使用open-instance-public-ports
AWS CLI 命令。打开防火墙端口,以允许从可信的 IP 地址或 IP 地址范围建立连接。例如,要允许 IP 地址 192.0.2.44
,请指定 192.0.2.44
或 192.0.2.44/32
。要允许 IP 地址 192.0.2.0
至 192.0.2.255
,请指定 192.0.2.0/24
。有关更多信息,请参阅 AWS CLI 命令参考 中的 open-instance-public-ports。
-
此步骤取决于您本地计算机的操作系统。
-
如果您的本地计算机使用 Windows 操作系统,请打开命令提示符窗口。
-
如果您的本地计算机使用基于 Linux 或 Unix 的操作系统(包括 macOS),请打开终端窗口。
-
-
输入以下命令以打开端口。
在以下命令中,替换以下项目:
-
替换为创建虚拟计算机的 AWS 区域的代码,例如REGION
us-east-2
。 -
将
替换为您的虚拟计算机的名称。NAME
-
将
替换为要打开的一系列端口中的第一个端口。FROM-PORT
-
将
替换为 IP 协议名称。例如,TCP。PROTOCOL
-
将
替换为要打开的一系列端口中的最后一个端口。TO-PORT
-
将
替换为您想要允许连接到虚拟计算机的 IP 地址或 IP 地址范围。IP
aws lightsail open-instance-public-ports --region
REGION
--instance-nameNAME
--port-info fromPort=FROM-PORT
, protocol=PROTOCOL
, toPort=TO-PORT
,cidrs=IP
示例
aws lightsail open-instance-public-ports --region
us-east-2
--instance-nameMyUbuntu
--port-info fromPort=22
, protocol=TCP
, toPort=22
,cidrs=192.0.2.0/24
响应将显示新添加的端口、协议,以及允许连接到您的虚拟计算机的 IP CIDR 范围。
有关如何关闭端口的信息,请继续阅读下一节。
-
虚拟计算机的关闭端口
完成以下过程,以为虚拟计算机关闭端口。此过程使用close-instance-public-ports
AWS CLI 命令。有关更多信息,请参阅 AWS CLI 命令参考 中的 close-instance-public-ports。
-
此步骤取决于您本地计算机的操作系统。
-
如果您的本地计算机使用 Windows 操作系统,请打开命令提示符窗口。
-
如果您的本地计算机使用基于 Linux 或 Unix 的操作系统(包括 macOS),请打开终端窗口。
-
-
输入以下命令以关闭端口。
在以下命令中,替换以下项目:
-
替换为创建虚拟计算机的 AWS 区域的代码,例如REGION
us-east-2
。 -
将
替换为您的虚拟计算机的名称。NAME
-
将
替换为要关闭的一系列端口中的第一个端口。FROM-PORT
-
将
替换为 IP 协议名称。例如,TCP。PROTOCOL
-
将
替换为要关闭的一系列端口中的最后一个端口。TO-PORT
-
将
替换为要删除的 IP 地址或 IP 地址范围。IP
aws lightsail close-instance-public-ports --region
REGION
--instance-nameNAME
--port-info fromPort=FROM-PORT
, protocol=PROTOCOL
, toPort=TO-PORT
,cidrs=IP
示例
aws lightsail close-instance-public-ports --region
us-east-2
--instance-nameMyUbuntu
--port-info fromPort=22
, protocol=TCP
, toPort=22
,cidrs=192.0.2.0/24
响应将显示端口和协议,以及已关闭且不再允许连接到虚拟计算机的 IP CIDR 范围。
-
继续执行后续步骤
成功管理虚拟计算机的防火墙端口后,您可以完成以下其他后续步骤:
-
获取虚拟计算机的密钥对。使用密钥对,您可以使用许多 SSH 客户端(例如 OpenSSH、PuTTY 和 Windows Subsystem for Linux)建立连接。有关更多信息,请参阅 获取 Lightsail for Research 虚拟计算机的密钥对。
-
使用 SSH 连接到您的虚拟计算机,以使用命令行对其进行管理。有关更多信息,请参阅 使用安全副本将文件传输到 Lightsail for Research 虚拟计算机。
-
使用 SCP 连接到您的虚拟计算机,以安全地传输文件。有关更多信息,请参阅 使用安全副本将文件传输到 Lightsail for Research 虚拟计算机。