除22外,无法通过任何端口访问Google Compute VM

时间:2019-07-01 05:49:36

标签: google-cloud-platform google-compute-engine

我已经设置了防火墙规则。 firewall rules 而且我还停止了VM中的防火墙。 stop the firewall 但是我仍然无法通过22以外的任何端口访问VM。 try to access the VM from another Linux host port 22 success

2 个答案:

答案 0 :(得分:1)

在这种情况下,您可以为GCP防火墙规则和VM实例使用“网络标签”,此功能将允许您将防火墙规则分配给特定的VM实例。

为指导您完成此过程,我将使用以下场景(请应用于您的场景):

我们需要创建一个防火墙规则,以允许来自世界任何地方(0.0.0.0/0)的端口3306的入口流量(对于安装了mysql数据库服务的实例),问题是您有1000个VM实例,并且您只想将此规则应用于1个实例。

  1. 您需要确保端口正在操作系统中监听,为此您可以使用:

1.1 netstat -tulpn | grep 3306 1.2 telnet localhost 3306(可能需要安装telnet软件包)

注意:如果现在可以本地访问端口,则必须关注防火墙规则。

  1. 您必须在要分配防火墙规则的实例中添加“网络标签”:

2.1进入“ VM实例”页面。 2.2选择实例。 2.3在“ VM实例详细信息”页面上,单击“编辑”。 2.4在“网络标签”部分,指定标签的名称,例如:“ mysql-public” 2.5点击保存。

注意:对于此过程,您可以按照以下指南进行操作:https://cloud.google.com/vpc/docs/add-remove-network-tags#adding_and_removing_tags

  1. 转到防火墙规则页面。

3.1单击创建防火墙规则。 3.2输入防火墙规则的名称。 3.3指定将在其中实施防火墙规则的网络。 3.4指定规则的优先级。 数字越小,优先级越高。 3.5对于“交通方向”,选择“入口”或“出口”。 3.6对于“匹配动作”,选择“允许”或“拒绝”。 3.7指定规则的目标。从下拉菜单中选择“指定的目标标签”。 在此步骤中,您还必须在“目标标签”字段中输入“网络标签”的名称(例如“ mysql-public”)。 3.8对于入口规则,请指定“源”过滤器。 3.9对于出口规则,请指定“目标”过滤器: 3.10定义规则将应用到的协议和端口。

注意:对于此过程,您可以按照以下指南进行操作:https://cloud.google.com/vpc/docs/using-firewalls

尝试连接,如果还有其他问题,我们可以讨论。

答案 1 :(得分:0)

  1. 您必须在Linux服务器上更新sshd端口。

  2. 您要在VPC防火墙规则上连接的开放端口。