这让我很烦恼。我是 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.conf
、INDIA.conf
和PAKISTAN.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.D
或E.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
看来更改仅意味着文件元数据的更改。
按照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,点对点服务),但通常我们只是在路由器上打开一个端口(可能是随机端口,然后我们将其映射到标准本地端口:日志上的噪音更少)。
您的文件和访问时间没有太大关系。这取决于您使用的网络配置工具,他们可以随意访问或修改它们。您有网络问题:将其保留在网络级别(忘记文件系统)。