【问题标题】:Get IP with subnet mask for use with AWS EC2 SSH获取带有子网掩码的 IP 以用于 AWS EC2 SSH
【发布时间】:2019-10-02 21:28:35
【问题描述】:

在设置 EC2 实例时,AWS 控制台有一个有用的功能,可以找到您当前的 IP 地址以及子网掩码,以将其列入白名单。这是我相信我们都见过的 UI。

这在你设置的时候很方便,但是如果你需要将远程DEV的家庭WIFI列入白名单或者你正在使用cloudformation,那么通过这种方式获取IP地址就不再方便了。

那么,有没有一种方便的方法可以从您的终端打印出带有子网掩码 (/) 的 IP 地址?我还没有找到。

【问题讨论】:

  • 单个主机的网络掩码为/32。在命令行中,您可以通过多种方式获取看似您的公共 IP 地址,包括:“wget ipinfo.io/ip -qO -”(去掉引号)。

标签: amazon-web-services amazon-ec2 ssh ip ip-address


【解决方案1】:

如果您使用的是 linux 或 mac,则使用 ip addr show 或使用 IP_ADDR=$(ip addr show) 分配给变量相当简单。

在 Windows 上,您可以使用 PowerShell 模块。

Invoke-WebRequest ifconfig.me/ip

虽然打印出的不仅仅是 IP,但您始终可以解析它。

【讨论】:

  • 这将捕获的地址通常是来自 LAN 的私有内部 IP 地址,在安全组规则中没有用。
【解决方案2】:

好的,我意识到我不懂 CIDR 表示法和子网掩码。

基本上,AWS 需要 CIDR 表示法,而 CIDR 表示法允许您指定地址范围。事实证明,/32 表示范围为 0,因此地址是 / 左侧的所有内容。

所以,要将您所说的单个 IP 列入白名单 myIP/32

【讨论】:

  • 源输入字段提示您可以提供“CIDR、IP 或安全组”,但它实际上不允许 IP。事实上,它允许 CIDR、安全组或前缀列表 ID,因此提示是双重错误的。我认为这个函数也是错误的——它应该允许一个 IP 地址,你不应该将它指定为 /32 主机路由。
  • 是的,作为网络新手,这对我的学习过程没有帮助。
猜你喜欢
  • 2016-05-22
  • 1970-01-01
  • 2018-03-09
  • 1970-01-01
  • 2016-03-02
  • 2014-12-31
  • 1970-01-01
  • 2019-08-21
  • 2015-04-11
相关资源
最近更新 更多