如何在Digital Ocean上运行没有公共IP的droplet

67次阅读
没有评论

问题描述

正在使用Terraform在Digital Ocean上创建droplets。他希望其中一些droplets被阻止访问互联网,除了共享私有网络和该网络上的适当网关。他想知道是否可以使用Terraform实现这一点。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

在Digital Ocean上,要阻止droplets访问互联网(除了共享私有网络和适当的网关),唯一的方法是使用适当的防火墙规则。无论是使用Terraform还是其他方式,都需要创建防火墙规则并将其关联到droplets上。Digital Ocean始终为droplets分配一个公共IP地址,网络防火墙可以用于通过该端点管理访问权限。然而,可以对机器进行内部配置,以配置droplets使用自定义预配置的网关,并且不使用公共接口作为网关。Digital Ocean在这篇文章中介绍了他们建议的方法,使用IP Tables和cloud-init:
以下是一些步骤:
1. 设置网关服务器为NAT路由器:sysctl -w net.ipv4.ip_forward=1
2. 将默认路由更改为您的NAT网关:ip route change default via <网关主机的私有IP>
请注意,这些步骤需要在droplet内部进行配置,并且可能需要一些系统管理员级别的权限。

正文完