服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

使用源和目标标记的防火墙规则,将GCE中的SSH访问限制在Linux堡垒主机中

我有几个GCE实例都在同一个项目和相同的默认networking。 我已经指定了一个实例“堡垒”服务器,并希望阻止SSH从互联网到除堡垒服务器以外的所有实例,但允许堡垒服务器SSH到我的其他实例。 所以我修改了default-allow-ssh规则,只允许SSH通过“jumphost”标签到达目标,然后把这个标签应用到我的堡垒实例。 这是有效的,因为我可以从互联网SSH到我的堡垒服务器,但不能再从互联网SSH到我的其他实例。 然后,我创build了一个新的restricted-allow-ssh规则,它只允许从我的堡垒实例到其他实例的SSH访问: gcloud compute –project "<my project>" firewall-rules create "restricted-allow-ssh" –allow tcp:22 –description "Allow SSH only from bastion server" –network "default" –source-tags "jumphost" –target-tags "restricted-ssh" 然后我将“restricted-ssh”标签应用到除了堡垒服务器之外的所有实例。 这似乎工作,因为我不能telnet从互联网端口22标记为“restricted-ssh”的实例,但我可以从我的堡垒服务器端口22 telnet到他们。 但是,当我尝试gcloud计算SSH从我的堡垒服务器的任何实例,它只是挂起,最终我得到一个“连接超时”的错误。 有趣的是,使用gcloud与我的实例的短名称(例如“开发”)似乎解决从我的堡垒服务器的公共IP地址。 但nslookup将其parsing为端口22打开的内部networking地址。 看来,从我的堡垒主机“gcloud计算SSH”试图通过外部IP地址,但被拒绝,因为该端口被closures。 任何build议简单的修复或简单的替代方法来实现相同的结果?