如果存在子网,如何确定顶级网关的 IP 地址?

如果存在子网,如何确定顶级网关的 IP 地址?

我已经在其他地方发布了此问题,但有人建议我在这里询问。

我住在一个为房主“提供”互联网服务的社区。因此,从本质上讲,社区有一个固定的 IP 地址,然后通过一个具有适当掩码的巨型路由器构建一个子网络,然后每个家庭的路由器也这样做。从本质上讲,整个社区共享一个 IP 地址,但社区服务会从 ISP 向所有家庭放置一个路由器,由于这种路由器嵌套,每个家庭的路由器都会看到不同的网关。

因此,当我查看我的路由器时,我的设备的地址都像 169.128.50.12。但是当我查看我的网关时,它有一个像 169.0.0.1 这样的地址。

今天我收到了 Google 发出的一条警报(我正在尝试验证它是否真实,因为它引导我完成一个流程并希望我更改密码 - 这可能是一个骗局 - 我所在地区的某个人被阻止登录,即使他们知道我的帐户名和密码。我试图弄清楚它是否真实,但可能只是整个社区都有一个 ISP 的 IP 地址,比如 12.62.126.73(警报中报告的地址类型),而我自己的登录触发了警报。

在这样的嵌套互联网架构中,如何知道社区网关的 IP 地址是什么?我无法在路由器上看到它,因为它所知道的(通过掩码和 DHCP 分配)就是它在社区互联网上的位置是 169.0.0.1。但这是它的子网地址。

有没有巧妙的方法使用 ping 或 traceroute 来找出整个社区的 IP 地址?我怀疑我的一个设备试图登录,但 Google 认为某个未知的 IP 地址试图渗透,因为它看到的是社区 IP 地址。

答案1

我总是用的是这个 https://www.google.com/search?q=my+ip+address 从字面上看,这是第一个答案

或者如果你和我一样是 bash 类型。

在文件 checkipaddress.sh 中,可以轻松使用

vi checkipaddress.sh

插入此

#!/bin/bash
wget -q -O - checkip.dyndns.org  | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

更改权限

chmod +x checkipaddress.sh

从原地跑开

./checkipaddress.sh

答案2

使用traceroute公共地址将为您提供社区网络中每个路由器的内部地址。

外部路由器必须执行源地址转换,因此在互联网上识别您的地址实际上是路由器的地址。在 Google 上搜索“我的 IP”,然后访问几个答案。如果它们总是给您相同的结果,则意味着您将始终使用此地址出现。

编辑:我认为路由器是专业设备,所以它们不支持国内生产总值NAT-PMP以及类似的黑客攻击。

答案3

Google 帐户安全

不是点击电子邮件中的任何链接。直接进入您的帐户或您在 G Suite 中管理的帐户,只需像往常一样在地址栏中输入即可。查看安全检查表,一个有用的快捷方式是https://security.google.com/

对任何安全事件采取行动。使用硬件令牌或 TOTP 应用程序添加身份验证因素。2FA 可能是您可以为帐户安全做的最好的事情,比静态密码要困难得多。

Google 的设备列表对于追踪哪些设备已登录、哪些设备未登录特别有用。如有必要,可以使用“无法识别设备?”链接直接跳转到密码重置和强制注销。


NAT

使用 NAT44 共享 IPv4 地址意味着许多用户从同一地址访问任何 Internet 目的地。如果您有权访问边缘路由器,则可以在其接口上直接查询该 IP。或者,许多“我的 IP 是什么”API 之一会提供快速答案,因为它们已经是外部的。

谷歌可能看到很多用户在 NAT 后面登录。就其本身而言,50 个帐户拥有的 100 台设备出现在一个 IPv4 地址上不一定是个问题。但要进行安全检查并审查设备。

对于不太复杂的安全控制,NAT 存在问题。禁止您的 IPv4 地址的服务会封锁您的整个社区。此外,NAT 所需的连接跟踪很难很好地扩展,并且可能会导致性能问题。

因此,请考虑提倡实施 IPv6,这样您就可以拥有没有 NAT 的个人子网。当您识别前几跳的前缀时,traceroute 会更容易读取。

相关内容