我访问远程服务器的 IP 地址与“ip a”命令输出中显示的 IP 地址有什么区别?

我访问远程服务器的 IP 地址与“ip a”命令输出中显示的 IP 地址有什么区别?

这让我很烦恼。我是 Linux 网络方面的业余爱好者,所以请原谅我。我从其他人那里听说过诸如 NATTED IP 之类的术语。但我不确定它们是什么意思。

出现了一个严重的问题。我需要调试它。

假设我访问远程服务器的IP是A.B.C.D。有人称之为 NATTED IP。

假设我从命令中获取的 IPip a是 EFGH

  • 我可以curl/telnet/ping,E.F.G.H但不能A.B.C.D。为什么?

  • 我可以卷曲localhost,但不能卷曲 NATTED IP。为什么?

  • 如何确定服务器的 IP 地址是否在某个时间点发生了更改?我可以检查哪些日志?

该 IP 在 3 个不同的地方使用,假设在NEPAL.confINDIA.confPAKISTAN.conf

我已经知道这个问题的解决方法,但我想对这是如何发生的进行逆向工程。这就是问这个问题的目的!

在 中NEPAL.conf,使用的 api 服务器的 IP 地址是A.B.C.D

Access: 2023-10-10 17:49:06.302410326 +0545
Modify: 2021-01-07 11:14:28.259435813 +0545
Change: 2023-10-08 11:18:43.987203621 +0545

这就是 stat 命令显示的内容。

在 中INDIA.conf,我们需要一些不同的 IP 地址,而不是A.B.C.DE.F.G.H。但这个IP有一个错字。

Access: 2023-10-10 17:26:54.613930249 +0545
Modify: 2022-10-12 15:10:51.731213409 +0545
Change: 2023-09-24 12:31:52.801053008 +0545

https://stackoverflow.com/questions/3385203/what-is-the-access-time-in-unix

stat 命令上下文中的修改和更改有什么区别?

看来更改仅意味着文件元数据的更改。

按照https://www.grymoire.com/Unix/Inodes.html

文件的元数据由以下部分组成。

Mode/permission (protection)
Owner ID
Group ID
Size of file
Number of hard links to the file
Time last accessed
Time last modified
Time inode last modified

在任何情况下,这个 IP 地址自 1 年来都不可能是错误的。这意味着这个应用程序的一个大模块自一年以来就无法工作。

现在我转到PAKISTAN.conf,这里我们也使用A.B.C.D代替E.F.G.H。这里 stat 的输出似乎是合理的。

Access: 2023-10-10 17:33:33.716178074 +0545
Modify: 2023-10-09 13:41:36.536314722 +0545
Change: 2023-10-09 13:41:36.537314712 +0545

我无法理解所有这些东西。请指导我。

答案1

注意:这是一个简化版本。将其用作概述,但您可能需要了解详细信息,因此也有例外和特殊情况。

每个网络接口都有零到多个 IP 地址。

路由表 ( ip route) 告诉您根据目标 IP 将数据包发送到哪里。所以你会发现127.xxx会去本地(lo接口,所以不会去网卡)。在家用计算机上,您可能有本地网络,因此您只需直接向它们发送数据,默认的 xxxx(标记为 0.0.0.0/0,让我们跳过网络掩码)将转到特定的 IP 地址(本地网络地址)您的路由器)。

路由器将执行 NAT:它只会将您的 IP 地址(本地网络)替换为路由器的公共 IP 地址(注意:实际上可能有一个额外的运营商级 NAT(因此您的 ISP 的路由器也会进行额外的 NAT),并且路由器会跟踪链接,因此如果您联系的服务器想要回复,路由器知道网络上的哪台计算机要发送数据包,因此它将替换目标地址(全局路由器)。 IP)到预期机器的本地网络地址)。

现在你的问题是关于路由的。

在本地网络上,您知道本地 IP,以便可以连接本地计算机和全局 IP。但外部服务器无法知道您的本地 IP 地址(该地址不是唯一的)。他们最多知道你的路由器IP。因此它们可能连接到路由器,但路由器不知道将打包程序发送到哪里。目标是 LAN 上的打印机还是电话?还因为安全路由器只会忽略数据包(NAT 也充当防火墙)。

您可以更改路由器的 NAT 表:例如,将 telnet 发送到该机器,将 web 发送到另一台机器(并且可能:将所有未知数据包发送到本地 IP x [如果您不知道自己在做什么,请不要这样做:有安全影响(DMZ 设置可能有这样的默认目的地)]。

对于手机或笔记本电脑,您可能有不同的本地 IP,具体取决于您连接的网络(和 WiFi)。因此您可能有不同的网络配置。

要将 NAT 连接到 NAT,有很多技巧,但它需要一些外部服务器来同步连接(如果两个部分几乎同时连接到另一个外部 IP,则两个路由器现在都会知道该连接。或其他技巧(例如由某些人完成) VPN,点对点服务),但通常我们只是在路由器上打开一个端口(可能是随机端口,然后我们将其映射到标准本地端口:日志上的噪音更少)。

您的文件和访问时间没有太大关系。这取决于您使用的网络配置工具,他们可以随意访问或修改它们。您有网络问题:将其保留在网络级别(忘记文件系统)。

相关内容